N’étant pas satisfait par les variantes pour programmeur que j’ai vu jusqu’à présent, je propose ma variante pour GNU/Linux, basée sur une touche modificatrice de niveaux 5.

Je l’ai disposée à 2 endroits : <CAPS> et <MENU>.
    include "level5(modifier_mapping)"

    key <CAPS> { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level5_Shift ] };
    key <MENU> { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level5_Shift ] };
Mais vous pouvez les disposer ailleurs bien sur…

Pour obtenir l’effet du verrou majuscule, on appuie simultanément sur les 2 Shifts :
    include "shift(both_capslock)"
Voilà le tableau du niveau 5 :
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
│     │     │     │     │     │     │     │     │     │     │     │     │     ┃          ┃
│     │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │     │     ┃ ⌫        ┃
┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
┃        ┃ @   │ [   │ ]   │ \   │ %   │ ^   │ |   │ =   │ +   │ ?   │ -   │     ┃       ┃
┃ ↹      ┃     │     │     │     │     │     │     │     │     │     │     │     ┃       ┃
┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  ⏎   ┃
┃         ┃ ;   │ {   │ }   │ ,   │ #   │ &   │ "   │ <   │ >   │ '   │ `   │     ┃      ┃
┃ Mod 5   ┃     │     │     │     │     │     │     │     │     │     │     │     ┃      ┃
┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
┃      ┃     │ :   │ (   │ )   │ _   │ *   │ ~   │ /   │ .   │ $   │ !   ┃               ┃
┃ ⇧    ┃     │     │     │     │     │     │     │     │     │     │     ┃ ⇧             ┃
┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
┃ Ctrl  ┃ Super ┃ Alt   ┃                                ┃ AltGr ┃ Super ┃ Mod 5 ┃ Ctrl  ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛
Justifications de l’emplacement de certains symboles les uns par rapport aux autres :

— « ; » : permet de fermer facilement les blocs « { } », « [ ] » et « ( ) » ;
— « / » : pour fermer les balises « < > » ;
— « ~ » : pour les chemins absolus partant du répertoire personnel « ~/ » et « ~/. » ;
— « = » : pour instancier les variables avec les guillemets « " " » et « ' ' ».

De plus, avec le petit doigt de la main gauche sur <CAPS>, on peut atteindre aisément « { } », « [ ] » et « ( ) » avec l’index et le majeur, le « ; » avec l’annulaire, et avec la main droite « / », « " »…


Et voilà le bloc de code à placer dans /usr/share/X11/xkb/symbols/fr :
partial alphanumeric_keys modifier_keys
xkb_symbols "bepo5" {

    name[Group1]= "French (Bepo Prog Level5)";

    key.type[Group1] = "EIGHT_LEVEL";


    //   First   row

    key  <TLDE>  {    [  dollar,           numbersign,    endash,                paragraph,             NoSymbol      ]  };

    key  <AE01>  {    [  quotedbl,         1,             emdash,                doublelowquotemark,    1             ]  };
    key  <AE02>  {    [  guillemotleft,    2,             less,                  leftdoublequotemark,   2             ]  };
    key  <AE03>  {    [  guillemotright,   3,             greater,               rightdoublequotemark,  3             ]  };
    key  <AE04>  {    [  parenleft,        4,             bracketleft,           lessthanequal,         4             ]  };
    key  <AE05>  {    [  parenright,       5,             bracketright,          greaterthanequal,      5             ]  };

    key  <AE06>  {    [  at,               6,             asciicircum,           NoSymbol,              6             ]  };
    key  <AE07>  {    [  plus,             7,             plusminus,             notsign,               7             ]  };
    key  <AE08>  {    [  minus,            8,             U2212,                 onequarter,            8             ]  };
    key  <AE09>  {    [  slash,            9,             division,              onehalf,               9             ]  };
    key  <AE10>  {    [  asterisk,         0,             multiply,              threequarters,         0             ]  };

    key  <AE11>  {    [  equal,            degree,        notequal,              minutes,               NoSymbol      ]  };
    key  <AE12>  {    [  percent,          grave,         U2030,                 seconds,               NoSymbol      ]  };


    //   Second  row

    key  <AD01>  {    [  b,                B,             bar,                   brokenbar,             at            ]  };
    key  <AD02>  {    [  eacute,           Eacute,        dead_acute,            dead_doubleacute,      bracketleft   ]  };
    key  <AD03>  {    [  p,                P,             ampersand,             section,               bracketright  ]  };
    key  <AD04>  {    [  o,                O,             oe,                    OE,                    backslash     ]  };
    key  <AD05>  {    [  egrave,           Egrave,        dead_grave,            grave,                 percent       ]  };

    key  <AD06>  {    [  dead_circumflex,  exclam,        exclamdown,            NoSymbol,              asciicircum   ]  };
    key  <AD07>  {    [  v,                V,             dead_caron,            NoSymbol,              bar           ]  };
    key  <AD08>  {    [  d,                D,             eth,                   ETH,                   equal         ]  };
    key  <AD09>  {    [  l,                L,             dead_stroke,           NoSymbol,              plus          ]  };
    key  <AD10>  {    [  j,                J,             U0133,                 U0132,                 question      ]  };

    key  <AD11>  {    [  z,                Z,             schwa,                 SCHWA,                 NoSymbol      ]  };
    key  <AD12>  {    [  w,                W,             dead_breve,            NoSymbol,              NoSymbol      ]  };


    //   Third   row

    key  <AC01>  {    [  a,                A,             ae,                    AE,                    semicolon     ]  };
    key  <AC02>  {    [  u,                U,             ugrave,                Ugrave,                braceleft     ]  };
    key  <AC03>  {    [  i,                I,             dead_diaeresis,        dead_abovedot,         braceright    ]  };
    key  <AC04>  {    [  e,                E,             EuroSign,              dead_currency,         comma         ]  };
    key  <AC05>  {    [  comma,            semicolon,     rightsinglequotemark,  dead_horn,             numbersign    ]  };

    key  <AC06>  {    [  c,                C,             copyright,             U017F,                 ampersand     ]  };
    key  <AC07>  {    [  t,                T,             thorn,                 THORN,                 quotedbl      ]  };
    key  <AC08>  {    [  s,                S,             ssharp,                U1E9E,                 less          ]  };
    key  <AC09>  {    [  r,                R,             registered,            trademark,             greater       ]  };
    key  <AC10>  {    [  n,                N,             dead_tilde,            NoSymbol,              apostrophe    ]  };

    key  <AC11>  {    [  m,                M,             dead_macron,           masculine,             grave         ]  };
    key  <BKSL>  {    [  ccedilla,         Ccedilla,      dead_cedilla,          dead_belowcomma,       NoSymbol      ]  };


    //   Fourth  row

    key  <LSGT>  {    [  ecircumflex,      Ecircumflex,   slash,                 NoSymbol,              NoSymbol      ]  };
    key  <AB01>  {    [  agrave,           Agrave,        backslash,             NoSymbol,              colon         ]  };
    key  <AB02>  {    [  y,                Y,             braceleft,             leftsinglequotemark,   parenleft     ]  };
    key  <AB03>  {    [  x,                X,             braceright,            rightsinglequotemark,  parenright    ]  };
    key  <AB04>  {    [  period,           colon,         ellipsis,              periodcentered,        underscore    ]  };
    key  <AB05>  {    [  k,                K,             asciitilde,            NoSymbol,              asterisk      ]  };

    key  <AB06>  {    [  apostrophe,       question,      questiondown,          dead_hook,             asciitilde    ]  };
    key  <AB07>  {    [  q,                Q,             dead_abovering,        dead_belowdot,         slash         ]  };
    key  <AB08>  {    [  g,                G,             dead_greek,            NoSymbol,              period        ]  };
    key  <AB09>  {    [  h,                H,             dagger,                doubledagger,          dollar        ]  };
    key  <AB10>  {    [  f,                F,             dead_ogonek,           ordfeminine,           exclam        ]  };


    key  <SPCE>  {    [  space,            nobreakspace,  underscore,            U202F,                 space         ]  };

    include "shift(both_capslock)"
    include "level3(ralt_switch)"
    include "level5(modifier_mapping)"

    key <CAPS> { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level5_Shift ] };
    key <MENU> { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level5_Shift ] };
};
Pour l’utiliser : 
setxkbmap fr -variant bepo5
J’attends des retours pour éventuellement changer l’emplacement des symboles…
2 ans plus tard
Salut Yahyalexandre,

Désolé de déterrer un vieux sujet, mais ça me fais de la peine que personne n’est répondu.
Ta proposition ne manque pourtant pas de qualité.
C’est sans doute que les claviers qui proposent une touche pour le «level 5» ne sont pas légions.
Du coup, il faut toujours sacrifier une touche pour avoir le «level 5».
Utiliser la touche «menu» est sans doute le meilleur choix. Vu qu’on l’a aussi en «clic droit».

Pour ma part, je trouve effectivement que le «level5» devient indispensable quand on veut étendre les possibilités.
C’est pourquoi je le prévois sur le futur clavier ToucheLibre.

Deux questions techniques me taraude :
1/
Est qu’avec l’utilisation de «key.type[Group1] = "EIGHT_LEVEL";» le «level6» est obtenu par «level5 + MAJ» ?
Et les levels 7 et 8, on fait comment ?

2/
Comment faire pour avoir aussi les level5 et 6 sous Windows ?
Je te remercie.

Pour répondre à tes questions :

1/ Shift + L5 : L6
L3 (AltGr) + L5 : L7
Shift + L3 + L5 : L8.

2/ Je ne sais pas comment, mais ça doit être possible car la disposition Neo (allemand) propose le concept pour Linux et Windows...
Super merci. Je m’en va essayer ça…

Je suis tombé sur un extrait de la norme ISO9995.
Il y a un truc bizarre. Dans l’iso AltGr ne semble pas fait de la même manière :
Pour eux, AltGr = Groupe2 + direct
Alors que dans GNU/Linux, AltGr = Groupe1 + level3.

Du coup, existe-t-il un groupe2 dans GNU/Linux ?
Oui ça existe, il y a même un lock group2 de mémoire (comme caps lock). Ce qui fait, si tu combines avec les 8 levels, 16 possibilités par touches...
7 mois plus tard
Salut Yahyalexandre,


Je réponds un peu tard. Mais ça prend beaucoup de temps de bidouiller.

Je parviens pas à mettre en œuvre le «level5». Il y a quelque chose qui m’échappe.
Il me semble pourtant avoir fait comme tu as dis.

Voici mon code, est que tu vois une erreur ?
// ******************************
// *  Kéa_ToucheLibre_ISO105    *
// ******************************
//
// Kéa_ToucheLibre_ISO105 for keyboard ISO 105 (french layout for example)
//
// ToucheLibre Keyboard is truly ergonomic keyboard designed with free philosophy.
// Kéa is a Bépo variant disposition for the ToucheLibre Keyboard.
// Kéa, like Bépo, is improved ergonomic french keymap using Dvorak method.
// But, Kéa 
//
// Kéa is tuned for french, english and spanish languages (the 3 european languages with international status). 
// All the language with latin alphabet can be whritten with Kéa. 
// And a lot of language get a not so bad optimization about frequency letter disposition (always better than Qwerty).
//
// ToucheLibre Keyboard is designed for a good accessibility to scientific symbol and phonetical alphabet.
//
// see http://touchelibre.fr
// Not integrated in XOrg
// Version : V1.0 in mars 2019
// by Lilian Tribouilloy <lilian@touchelibre.fr>
//
//
//
// ********** First Table **********
//
// ┌─────┐
// │ S A │   S = Shift,  A = AltGr + Shift
// │ s a │   s = direct, a = AltGr
// └─────┘
//			Same layout than Kéa_ToucheLibre_ISO88 but first row and keypad are modified.
//			This layout is very close to the original Kéa for keyboard ToucheLibre.
//			So this layout should be proefered to Kéa_ToucheLibre_ISO88.
//
// ┌─────┲━━━━━┯━━━━━┯━━━━━┯━━━━━┯━━━━━┳━━━━━┯━━━━━┳━━━━━┯━━━━━┯━━━━━┯━━━━━┯━━━━━┳━━━━━━━━━┓  ┏━━━━━┱─────┬─────┬─────┐
// │ Ç ˛ ║ ` ¶ │ \ ¦ │ & ☹ │ # ✆ │ ' ‡ ║ ‹ ‘ │ › ’ ║ - – │ ⩽ ♀ │ ⩾ ♂ │ ° ″ │ ® ™ ║ ⌫ Retour┃  ┃ e √ ┃ ÷ ¬ │ × ∘ │ − ∂ │
// │ ç ¸ ║ ~ § │ / | │ $ ☺ │ @ ✉ │ " † ║ « “ │ » ” ║ -⍽ —│ < ≪ │ > ≫ │ % ′ │ © ? ║  arrière┃  ┃ ^ ⏨  ┃ / : │ * ⋅ │ - ∓ │
// ┢━━━━━┻═┳═━═┷═┯═━═┷═┯═━═┷═┯═━═┷═┯═━═┻═┱───┴─┬───┺═┳═━═┷═┯═━═┷═┯═━═┷═┯═━═┷═┯═━═┻━┳━━━━━━━┫  ┡━━━━━╃─────┼─────┼─────┤
// ┃   ↹   ┃ K  ͜  │ É ˝ │ P ̺  │ U Ù │ V ̭  ║ [ ⟨ │ ] ⟩ ║ L ɬ │ C Ɔ │ D Ð │ M ̱  │ Z ̮  ┃       ┃  │ ( ℂ │ ) ℍ │ ∞ ∃ │     │
// ┃  Tab  ┃ k ͡ │ é ˊ  │ p ̪  │ u ù │ v ˇ ║ ( { │ ) } ║ l / │ c ɔ │ d ð │ m ¯ │ z ̑  ┃Entrée ┃  │ 7 i │ 8 j │ 9 ∀ │     │
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┺┱────┴┬────┺┱────┴┬────┴┬────┴┬────┴┬────┺┓      ┃  ├─────┼─────┼─────┤ ± ∫ │
// ┃   ⇬    ┃ È ̏  │ O Œ │ A Æ │ I ˙ │ E Ə ║ ; ̛ │ : · ║ R ʁ │ S ẞ │ T Þ │ N ̰  │ X ̟  ┃  ⏎   ┃  │ D ⅅ │ E ℚ │ F ℝ │ + ∑ │
// ┃ Level5 ┃ è ` │ o œ │ a æ │ i ̈  │ e ə ║ , , │ . … ║ r ɹ │ s ß │ t þ │ n ˜ │ x ̽  ┃      ┃  │ 4 → │ 5 ⇒ │ 6 ⇔ │     │
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┲┹────┬┴────┲┹────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫  ├─────┼─────┼─────╆━━━━━┪
// ┃   ⇧   ┃ À ̥  │ F Ʃ │ Y ʎ │ J Ʒ │ W ʍ ║ ! ⚠ │ ?   ║ H ɧ │ G ɲ │ B ǁ │ Q ̢ ┃     ¦  ⇧    ┃  │ A ℙ │ B ℕ │ C ℤ ┃     ┃
// ┃  MAJ  ┃ à ˚ │ f ʃ │ y ɥ │ j ʒ │ w ̆  ║ ’ ¡ │ ˆ ¿ ║ h ̵ │ g µ │ b ǀ │ q ̡ ┃ (ç) ¦ MAJ   ┃  │ 1 € │ 2 $ │ 3 ¤ ┃     ┃
// ┣━━━━━┳━┻━━━┳━┷━━━┳━┷━━━┱─┴─────┴─────┺━━━━━┷━━━━━┹─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━━━━━┫  ├─────┴─────┼─────┨ ≈ ≝ ┃
// ┃  ⎈  ┃     ┃  ⌘  ┃  ⌥  ┃   ½⍽  ½ spc inséc.  ⍽ spc inséc.  ┃   ⇮   ┃       ┃     ↑     ┃  │    x ∅    │ . ∈ ┃ = ≠ ┃
// ┃Ctrl ┃ Fn  ┃Meta ┃ Alt ┃   ␣   Espace        _ under score ┃ AltGr ┃ Compo ┃  ←  ↓  →  ┃  │    0 b    │ , ½⍽┃     ┃
// ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━━━━━┛  └───────────┴─────┺━━━━━┛
//
//
//
// ********** Second Table **********
//
// ┌─────┐
// │ L G │   L = Shift + level 5 = Level 6,		G = Greek + Shift
// │ l g │   l = level 5,						g = Greek
// └─────┘
//			level 5 is done with Maj Lock key.
//			New Maj Lock is done with both shift in same time.
//			Greek is the dead_greek key = AltGr + g
//			L3 (AltGr) + L5 = L7	and		Shift + L3 + L5 = L8 could be added.
//
// ┌─────┲━━━━━┯━━━━━┯━━━━━┯━━━━━┯━━━━━┳━━━━━┯━━━━━┳━━━━━┯━━━━━┯━━━━━┯━━━━━┯━━━━━┳━━━━━━━━━┓  ┏━━━━━┱─────┬─────┬─────┐
// │ Ꞌ Ϙ ║ ☑ Ͼ │⛔ Ͽ │ ☠ Ϗ │ ? Ͱ │ ⚔ ϵ ║ ‟ ̞  │ ‛ ̙  ║ ⧫ ϕ │ ≼ Ϛ │ ≽ Ͳ │ º Ϻ │ ℗ Ͷ ║ ⌫ Retour┃  ┃     ┃     │     │     │
// │ ꞌ ϙ ║ ☐ ͼ │◌ ⃠ ͽ │ ♥ ϗ │ ? ͱ │ ⛏ ϖ ║ „ ̝  │ ‚ ̘  ║ ▶ ϱ │ ≺ ϛ │ ≻ ͳ │ ª ϻ │ ? ͷ ║  arrière┃  ┃     ┃     │     │     │
// ┢━━━━━┻═┳═━═┷═┯═━═┷═┯═━═┷═┯═━═┷═┯═━═┻═┱───┴─┬───┺═┳═━═┷═┯═━═┷═┯═━═┷═┯═━═┷═┯═━═┻━┳━━━━━━━┫  ┡━━━━━╃─────┼─────┼─────┤
// ┃   ↹   ┃ ̯  Κ │ ɵ Ϝ │ ̚ Π │ ɰ Υ │ Ʌ ϴ ║ ⌈   │ ⌉  ᷅  ║ ̴ Λ │◌ɕ ϐ │ ̹  Δ │ ̼  Μ │ Ȝ Ζ ┃       ┃  │     │     │     │     │
// ┃  Tab  ┃ ̩  κ │ ɘ ϝ │ ̻  π │ ɯ υ │ ʌ ϑ ║ ⌊  ͅ  │ ⌋  ᷄  ║ ɮ λ │ ɕ ς │ ̜  δ │ ɱ μ │ ȝ ζ ┃Entrée ┃  │     │     │     │     │
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┺┱────┴┬────┺┱────┴┬────┴┬────┴┬────┴┬────┺┓      ┃  ├─────┼─────┼─────┤     │
// ┃   ⇬    ┃ ɞ Ϡ │ ʘ Ο │ ɒ Α │◌̣  Ι │◌˞ Ε ║ ˑ   │ ◼  ᷉  ║ ɺ Ρ │ ſ Σ │ Ƿ Τ │ Ŋ Ν │ Ȣ  Χ ┃  ⏎   ┃  │     │     │     │     │
// ┃ Level5 ┃ ɜ ϡ │◌⤉ ο │ ɑ α │ ̤  ι │ ɚ ε ║ ː ̓  │ • ̍  ║ ɾ ρ │◌̉  σ │ ƿ τ │ ŋ ν │ ȣ  χ ┃      ┃  │     │     │     │     │
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┲┹────┬┴────┲┹────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫  ├─────┼─────┼─────╆━━━━━┪
// ┃   ⇧   ┃ Ɐ Ϟ │ ƒ Φ │ Ƴ Ψ │ Ƹ Θ │ Ʊ Ω ║ ˌ   │ ‽   ║ ʕ Η │ ᵹ   Γ │ ǃ Β │ ɣ Ξ ┃     ¦  ⇧    ┃  │     │     │     ┃     ┃
// ┃  MAJ  ┃ ɐ ϟ │ ɸ φ │ ƴ ψ │ ƹ θ │ ʊ ω ║ ˈ ̔  │ ⸮ ◌̈́  ║ ʔ η │ ɡ γ │ ǂ β │ ɤ ξ ┃ (ç) ¦ MAJ   ┃  │     │     │     ┃     ┃
// ┣━━━━━┳━┻━━━┳━┷━━━┳━┷━━━┱─┴─────┴─────┺━━━━━┷━━━━━┹─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━━━━━┫  ├─────┴─────┼─────┨     ┃
// ┃  ⎈  ┃     ┃  ⌘  ┃  ⌥  ┃   ⍽                               ┃   ⇮   ┃       ┃     ↑     ┃  │           │     ┃     ┃
// ┃Ctrl ┃ Fn  ┃Meta ┃ Alt ┃   ␣                               ┃ AltGr ┃ Compo ┃  ←  ↓  →  ┃  │           │     ┃     ┃
// ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━━━━━┛  └───────────┴─────┺━━━━━┛
//
//
//
// ********** Code Part *************
//
partial alphanumeric_keys
xkb_symbols "bepo_latin9" {

    include "level3(ralt_switch)"
    include "keypad(oss)"
    include "level5(modifier_mapping)"
    include "shift(both_capslock)"
    key.type[Group1] = "EIGHT_LEVEL";

    name[Group1]="French (Bepo, ergonomic, Dvorak way, Latin-9 only)";

// Level 5 definition
    key <CAPS> { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level5_Shift ] };

// First row
    key <TLDE> { [        ccedilla,     Ccedilla, dead_cedilla,   dead_ogonek,  UA78C,   UA78B  ] }; // ç Ç ¸ ˛ ꞌ Ꞌ
    key <AE01> { [      asciitilde,        grave,      section,         U00B6,  U2610,   U2611  ] }; // ~ ` § ¶ ☐ ☑
    key <AE02> { [           slash,    backslash,          bar,         U00A6,  U20E0,   U26D4  ] }; // / \ | ¦ ◌ ⃠ ⛔
    key <AE03> { [          dollar,    ampersand,        U263A,         U2639,  U2665,   U2620  ] }; // $ & ☺ ☹ ♥ ☠
    key <AE04> { [              at,   numbersign,        U2709,         U2706, U1F4A1,  U1F340  ] }; // @ # ✉ ✆ ? ?
    key <AE05> { [        quotedbl,   apostrophe,       dagger,  doubledagger,  U26CF,   U2694  ] }; // " ' † ‡ ⛏ ⚔

    key <AE06> { [   guillemotleft,        U2039,        U201C,         U2018,  U201E,   U201F  ] }; // « ‹ “ ‘ „ ‟
    key <AE07> { [  guillemotright,        U203A,        U201D,         U2019,  U201A,   U201B  ] }; // » › ” ’ ‚ ‛

    key <AE08> { [           U2011,        minus,        U2212,        emdash,  U25B6,   U29EB  ] }; // -⍽ - − — ▶ ⧫
    key <AE09> { [            less,        U2A7D,        U226A,         U2640,  U227A,   U227C  ] }; // < ⩽ ≪ ♀ ≺ ≼
    key <AE10> { [         greater,        U2A7E,        U226B,         U2642,  U227B,   U227D  ] }; // > ⩾ ≫ ♂ ≻ ≽
    key <AE11> { [         percent,       degree,      minutes,       seconds,  U00AA,   U00BA  ] }; // % ° ′ ″ ª º
    key <AE12> { [       copyright,   registered,       U1F12F,     trademark, U1F6C8,   U2117  ] }; // © ® ? ™ ? ℗

// Second row
    key <AD01> { [               k,            K,        U0361,         U035C,  U0329,   U032F  ] }; // k K ͡   ͜   ̩  ̯ 
    key <AD02> { [          eacute,       Eacute,   dead_acute, dead_doubleacute, U0258, U0275  ] }; // é É ˊ ˝ ɘ ɵ
    key <AD03> { [               p,            P,        U032A,         U033A,  U033B,   U031A  ] }; // p P ̪  ̺  ̻  ̚
    key <AD04> { [               u,            U,       ugrave,        Ugrave,  U026F,   U0270  ] }; // u U ù Ù ɯ ɰ
    key <AD05> { [               v,            V,   dead_caron,         U032D,  U028C,   U0245  ] }; // v V ˇ ̭  ʌ Ʌ

    key <AD06> { [       parenleft,  bracketleft,   braceleft,          U27E8,  U230A,   U2308  ] }; // ( [ { ⟨ ⌊ ⌈
    key <AD07> { [      parenright, bracketright,  braceright,          U27E9,  U230B,   U2309  ] }; // ) ] } ⟩ ⌋ ⌉

    key <AD08> { [               l,           L,  dead_stroke,          U026C,  U026E,   U0334  ] }; // l L / ɬ ɮ ̴ 
    key <AD09> { [               c,           C,        U0254,          U0186,  U0255  ] }; // c C ɔ Ɔ ɕ ◌ɕ
    key <AD10> { [               d,           D,          eth,            ETH,  U031C,   U0339  ] }; // d D ð Ð ̜  ̹ 
    key <AD11> { [               m,           M,  dead_macron,          U0331,  U0271,   U033C  ] }; // m M ̄  ̱  ɱ ̼ 
    key <AD12> { [               z,           Z,        U0311,          U032E,  U021D,   U021C  ] }; // z Z ̑  ̮  ȝ Ȝ

// Third row
    key <AC01> { [          egrave,      Egrave,   dead_grave,       U030F,     U025C,   U025E  ] }; // è È ` ̏  ɜ ɞ
    key <AC02> { [               o,           O,           oe,          OE,           U0298  ] }; // o O œ Œ ◌⤉ ʘ
    key <AC03> { [               a,           A,           ae,          AE,     U0251,   U0252  ] }; // a A æ Æ ɑ ɒ
    key <AC04> { [               i,           I, dead_diaeresis, dead_abovedot, U0324,   U0323  ] }; // i I ̈ ˙ ̤  ◌̣ 
    key <AC05> { [               e,           E,        schwa,       SCHWA,     U025A,   U02DE  ] }; // e E ə Ə ɚ ◌˞

    key <AC06> { [           comma,   semicolon,  dead_belowcomma,  dead_horn,  U02D0,   U02D1  ] }; // , ; , ̛ ː ˑ
    key <AC07> { [          period,       colon,     ellipsis,  periodcentered, U2022,   U25FC  ] }; // . : … · • ◼

    key <AC08> { [               r,           R,        U0279,       U0281,     U027E,   U027A  ] }; // r R ɹ ʁ ɾ ɺ
    key <AC09> { [               s,           S,       ssharp,       U1E9E,     U0309,   U017F  ] }; // s S ß ẞ ◌̉ ſ
    key <AC10> { [               t,           T,        thorn,       THORN,     U01BF,   U01F7  ] }; // t T þ Þ ƿ Ƿ
    key <AC11> { [               n,           N,   dead_tilde,       U0330,     U014B,   U014A  ] }; // n N ̃  ̰  ŋ Ŋ
    key <BKSL> { [               x,           X,        U033D,       U031F,     U0223,   U0222  ] }; // x X ̽  ̟  ȣ Ȣ

// Fourth row
    key <LSGT> { [          agrave,      Agrave,  dead_abovering,    U0325,     U0250,   U2C6F  ] }; // à À ˚ ̥  ɐ Ɐ
    key <AB01> { [               f,           F,        U0283,       U01A9,     U0278,   U0192  ] }; // f F ʃ Ʃ ɸ ƒ
    key <AB02> { [               y,           Y,        U0265,       U028E,     U01B4,   U01B3  ] }; // y Y ɥ ʎ ƴ Ƴ
    key <AB03> { [               j,           J,        U0292,       U01B7,     U01B9,   U01B8  ] }; // j J ʒ Ʒ ƹ Ƹ
    key <AB04> { [               w,           W,   dead_breve,       U028D,     U028A,   U01B1  ] }; // w W ̆  ʍ ʊ Ʊ

    key <AB05> { [           U2019,      exclam,   exclamdown,       U26A0,     U02C8,   U02CC  ] }; // ’ ! ¡ ⚠ ˈ ˌ
    key <AB06> { [ dead_circumflex,    question, questiondown,       U2BD1,     U2E2E,   U203D  ] }; // ^ ? ¿ ⯑ ⸮ ‽

    key <AB07> { [               h,           H,        U0335,       U0267,     U0294,   U0295  ] }; // h H ̵ ɧ ʔ ʕ
    key <AB08> { [               g,           G,   dead_greek,       U0272,     U0261,   U1D79  ] }; // g G µ ɲ ɡ ᵹ
    key <AB09> { [               b,           B,        U01C0,       U01C1,     U01C2,   U01C3  ] }; // b B ǀ ǁ ǂ ǃ
    key <AB10> { [               q,           Q,        U0321,       U0322,     U0264,   U0263  ] }; // q Q ̡  ̢ ɤ ɣ

// Fifth row
    key <SPCE> { [           space,       U202F,   underscore,  nobreakspace,   U2423,   U237D  ] }; // ␣ ½⍽ _ ⍽ ␣ ⍽

};
//
Merci
À+
key <CAPS> { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level5_Shift ] };

Cette ligne me semble incorrecte. Enlève le one level et fais comme avec les autres touches : mets le iso level 5 autant de goûts que de niveaux que tu veux supporter.
Merci pour ta réponse très rapide.

J’ai réussi à activer le level5 en allant dans «centre_de_contrôle/propriété_du_clavier/agencement/option/touche_sélectionnant_le_niveau5» et j’ai coché «windows droit». (Sur mon clavier je n’ai pas de window droite, j’ai que le gauche)


Ça semble bien fonctionner vu que je tape tout ça en appuyant bien sur «VerMaj» comme voulu:
Level5:
☐ ⃠♥?⛏„‚▶≺≻ª?
o̩ɘo̻ɯʌ⌊⌋ɮɕo̜ɱȝ
ɜʘɑo̤ɚː•ɾỏƿŋȣ
ɐɸƴƹʊˈ⸮ʔɡǂɤꞌ

Level5+MAJ:
☑⛔☠?⚔‟‛⧫≼≽º℗
o̯ɵ̚ɰɅ⌈⌉̴ o̹o̼Ȝ
ɞ ɒ o˞ˑ◼ɺſǷŊȢ
ⱯƒƳƸƱˌ‽ʕᵹǃɣꞋ
Par contre j’ai perdu la fonction «windows gauche». En effet, je ne plus appeler le menu des applications en appuyant dessus.
Et il n’a pas obtenu la valeur de «level5».

Je suis pas sûr de perdre grand chose avec la touche «windows» sous Linux.
Est‑ce qu’il y a des raccourcis vraiment intéressant avec cette touche ?



Je suis pas sûr de comprendre ta proposition de modification. Est‑ce que tu veux dire?
key <CAPS> { type[Group1]="EIGHT_LEVEL", symbols[Group1] = [ ISO_Level5_Shift ] };
Pour la touche super, ou meta (communément appelé windows), ça dépend l'environnement de bureau que tu utilises, et des raccourcis persos que tu as définis... C'est à tout de voir l'utilité que tu en as.

Pour ma proposition de changement, c'est encore plus bête et méchant que ça :

key <CAPS> { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift ] };

Edit :
Ce post date, j'ai changé beaucoup de choses depuis...
C’est plus clair merci.

La première et la deuxième version de la ligne <CAPS> font la même chose.
Dans les deux cas, j’ai dû activé le niveau5 dans les options.
C'est un comportement anormal. Je ne vois pas à quoi c'est dû. J'utilise actuellement un gestionnaire de fenêtre sans environnement de bureau, donc je n'ai pas de menu options dans lequel j'ai le loisir de configurer ceci et cela. Et c'est le cas pour de nombreux utilisateurs de Linux. Certains n'utilisent carrément aucun environnement graphique (quand on se connecte à un serveur par ssh par exemple).
Du coup, il faut forcément passer uniquement par les fichiers xkb dans ce genre de cas.

Au début je me suis dit que tu avais peut-être oublié la ligne

include "level5(modifier_mapping)"

Mais ce n'est pas le cas. Il faudrait faire des tests pour trouver où est le problème. Mais sache que c'est faisable.
C'est également étonnant que l'option rwin level 5 active le verrou majuscule...
Ah oui au fait, quand passe par la ligne de commande pour utiliser la disposition, n'oublie pas d'ajouter à la fin "-option ", ça va vider les éventuels options ajoutées par le menu de ton bureau. Il se peut qu'il y ait des conflit à cause de ça, et que cela soit la source du problème.
Je n’ai pas précisé, j’utilise Linux Mint 19 avec l’interface Mate.

Je ne suis pas encore super à l’aise avec les lignes de commande.

J’ai tenté ceci.
Je suis d’abord passer par le centre de contrôle pour revenir à l’azerty classique. Et enlever de la liste ma variante de bépo.
Puis j’ai fait:
$ setxkbmap fr -variant bepo_latin9 -option
(J’ai écrasé le bepo_latin9 pour y mettre mon Kéa. Ça évite de changer je sais pas quoi ailleurs.)

Je suis revenu au même point. Avec mon Kéa, le level5 sur VerMaj et le Super qui marche plus.
Mais chose bizarre quand je retourne voir dans le centre de contrôle et dans la liste je vois que la disposition «français».
Je m’attendais à voir écrit «français(Bépo, ergonomique, façon Dvorak, latin9 uniquement)»
Mais quand j’affiche le contenu, j’ai bien ma disposition Kéa.

Puis quand, je rajoute manuellement «français(Bépo, ergonomique, façon Dvorak, latin9 uniquement)» à la liste tout revient à la normale.

😐

On dirait bien qu’il y a un lien avec la distribution et son interface.
Non ça c'est normal, la disposition que tu actives via la ligne de commande vient écraser tout ce qui se trouve dans le menu. Et le fait que la description corresponde pas ça n'a pas d'influence. C'est juste qu'il faut soit passer par la ligne de commande, soit par le menu de configuration graphique, mais pas les deux. C'est pas fait pour être utiliser simultanément.
(j'avais deviné que c'était Mate quand tu as mentionné "centre de contrôle", après Linux Mint ou autre, ça n'a pas d'influence).