Forum bépo

Forum des utilisateurs du bépo

Vous n'êtes pas identifié(e).

#1 8/8/2016 20:09:00

Yahyalexandre
Membres
Inscription : 7/8/2016
Messages : 11

Variante programmeur "level 5"

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…

Dernière modification par Yahyalexandre (9/8/2016 01:20:42)

Hors ligne

Pied de page des forums