Utilisateur:Laurent/disposition

De Disposition de clavier bépo
< Utilisateur:Laurent
Révision datée du 11 avril 2009 à 10:06 par Laurent (discussion | contributions) (Inversion de m et f pour limiter les fautes de frappe, introduction de la virgule souscrite (au détriment du pied de mouche), légère réorganisation de caractères secondaires.)

Ma disposition

┏━━━━┱────┬────┬────┬────┬────┬────┰────┬────┬────┬────┬────┬────┲━━━━━━━━┓
┃Alt ┃ § Ə│ W Ð│ « Ñ│ » Æ│ “ IJ│ ” Þ┃ Ù Ŭ│ Ç °│ — ′│ µ ″│ ˙ ª│ ‰ º┃        ┃
┃Comp┃ # ə│ w ð│ - ñ│ ' æ│ " ij│ @ þ┃ ù ŭ│ ç 8│ ( 9│ ) ,│ ¨ .│ % =┃   ←─   ┃
┣━━━━┻━━┱─┴──┬─┴──┬─┴──┬─┴──┬─┴──┰─┸──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┺━━┳━━━━━┫
┃   ⇤   ┃ B ¦│ É ˝│ O Œ│ P „│ È ˘┃ ! ¡│ V ±│ D ™│ L /│ J ⇒│ Z →│ × †┃     ┃
┃   ⇥   ┃ b |│ é ´│ o œ│ p &│ è `ˆ ˇ│ v +│ d 4│ l 5│ j 6│ z 7│ * *┃     ┃
┣━━━━━━━┻┱───┴┬───┴┬───┴┬───┴┬───┸┰───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┺┓ ↲  ┃
┃        ┃ A ≤│ U ≠│ E ¤│ I ≥│ ; –┃ C ©│ T –│ S ß│ R ®│ N ¬│ F ˚│ ÷ ‡┃    ┃
┃  CAPS  ┃ a <│ u =│ e €│ i >│ , `┃ c /│ t -│ s 0│ r 1│ n 2│ f 3│ / /┃    ┃
┣━━━━━━┳━┹──┬─┴──┬─┴──┬─┴─━┯─┴──┬─┸──┰─┴─━┯─┴──┬─┴──┬─┴──┬─┴──┲━┷━━━━┻━━━━┫
┃      ┃ Ê  │ À ≃│ Y ☺│ X ☹│ : ·│ K ˜┃ ? ¿│ Q ˛│ G ¸│ H ,│ M ¯┃           ┃
┃  ⇧   ┃ ê @│ à \│ y {│ x }│ . …│ k ~┃ ’ ‘│ q [│ g ]│ h ^│ m $┃     ⇧     ┃
┣━━━━━━╋━━━━┷━┳━━┷━━━━╅────┴────┴────┸────┴──┲━┷━━━━┷┳━━━┷━━┳━┻━━━━┳━━━━━━┫
┃      ┃      ┃       ┃ E. ins.  E. ins fine ┃       ┃ WinD ┃ Menu ┃      ┃
┃ Ctrl ┃ Alt  ┃ AltGr ┃ Espace        _      ┃ AltGr ┃ Menu ┃ WinG ┃ Ctrl ┃
┗━━━━━━┻━━━━━━┻━━━━━━━┹──────────────────────┺━━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛

Justification

Sur le bépo 1.0,

  • certaines lettres (ç et w) sont situées sur des touches quasiment inutilisables;
  • les chiffres empêchent de mettre des lettres sur la rangée du haut, tout en ayant une disposition en ligne peu ergonomique;
  • certains signes utilisés en informatique sont très mal placés ($, #) ou assez mal placés (<, >…);
  • l'index gauche est très chargé.

Cette variation à partir du bépo vise donc à

  • proposer une disposition des chiffres plus pratique (en utilisant l'AltGr symétrique et une position de base de {d} à {z});
  • sauver les lettres et signes importants des touches inutilisables ([*], [$], [²]);
  • améliorer l'accès aux signes utilisés en informatique;
  • améliorer un peu la répartition de la charge des doigts de la main gauche en sacrifiant au minimum les autres critères d'ergonomie (testé avec le comparateur de claviers);

et accessoirement,

  • avoir les apostrophes informatique et typographique en accès direct toutes les deux (au détriment des guillemets français);
  • fournir une touche Compose;
  • limiter les risques de faute de frappe entre n et m, deux caractères dont la différence ne saute pas aux yeux dans certaines polices à largeur fixe).

Fichier xkb

xkb_keymap        {

// ** ATTENTION : l’une de ces deux lignes doit être décommentée suivant que votre version de X
// utilise le pilote clavier classique ou evdev.
// Si vous constatez des problèmes avec AltGr (droit), les flèches curseur, etc,. c’est que c’est l’autre.
//xkb_keycodes      { include "xfree86+aliases(azerty)" };
xkb_keycodes      { include "evdev+aliases(azerty)" };

xkb_types         { include "complete" };

xkb_compatibility { include "complete" };

partial alphanumeric_keys
xkb_symbols "beop" {

    name[Group1]= "France - Beop (v0.7), ergonomic, derived from the Bepo";

    include "pc(pc105)"
	
    key <TLDE> { [ Multi_key ] }; // Compose
    key <AE01> { type[group1] = "FOUR_LEVEL"               , [ numbersign, section, schwa, SCHWA ] }; // # § ə Ə
    key <AE02> { type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ w, W, eth, ETH ] }; // w W ð Ð
    key <AE03> { type[group1] = "FOUR_LEVEL"               , [ minus, guillemotleft, ntilde, Ntilde ] }; // - « ñ Ñ
    key <AE04> { type[group1] = "FOUR_LEVEL"               , [ apostrophe, guillemotright, ae, AE ] }; // ' » æ Æ
    key <AE05> { type[group1] = "FOUR_LEVEL"               , [ quotedbl , leftdoublequotemark, U0133, U0132 ] }; // " “ ij IJ
    key <AE06> { type[group1] = "FOUR_LEVEL"               , [ at, rightdoublequotemark, thorn, THORN ] }; // @ ” þ Þ
    key <AE07> { type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ ugrave, Ugrave, ubreve, Ubreve ] }; // ù Ù ŭ Ŭ
    key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla, Ccedilla, 8, degree ] }; // ç Ç 8 °
    key <AE09> { type[group1] = "FOUR_LEVEL"               , [ parenleft, emdash, 9, minutes ] }; // ( V 9 ′
    key <AE10> { type[group1] = "FOUR_LEVEL"               , [ parenright, mu, comma, seconds ] }; // ) µ , ″
    key <AE11> { type[group1] = "FOUR_LEVEL"               , [ dead_diaeresis, dead_abovedot, period, ordfeminine ] }; // ¨ ˙ . ª
    key <AE12> { type[group1] = "FOUR_LEVEL"               , [ percent, U2030, equal, masculine ] }; // % ‰ = º
 
    key <BKSP> {
        type= "CTRL+ALT",
        symbols[Group1]= [ BackSpace, Terminate_Server ]
    };
    
    key <TAB>  { [ Tab, ISO_Left_Tab ] };
    key <AD01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, brokenbar ] }; // b B | ¦
    key <AD02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, dead_doubleacute ] }; // é É ´ ˝
    key <AD03> { type[group1] = "FOUR_LEVEL_ALPHABETIC"    , [ o, O, oe, OE ] }; // o O œ Œ
    key <AD04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, doublelowquotemark ] }; // p P & „
    key <AD05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, dead_breve ] }; // è È ` ˘
    key <AD06> { type[group1] = "FOUR_LEVEL"               , [ dead_circumflex, exclam, dead_caron, exclamdown ] }; // ^ ! ˇ ¡
    key <AD07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, plus, plusminus ] }; // v V + ±
    key <AD08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ d, D, 4, trademark ] }; // d D 4 ™
    key <AD09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, 5, UFDD0 ] }; // l L 5 /
    key <AD10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ j, J, 6, U21D2 ] }; // j J 6 ⇒
    key <AD11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, 7, U2192 ] }; // z Z 7 →
    key <AD12> { type[group1] = "FOUR_LEVEL"               , [ asterisk, multiply, asterisk, dagger ] }; // * × * †
    key <RTRN> { [ Return ] };
 
    key <CAPS> { [ Caps_Lock ] };
    key <AC01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ a, A, less, lessthanequal ] }; // a A < ≤
    key <AC02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ u, U, equal, notequal ] }; // u U = ≠
    key <AC03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, EuroSign, currency ] }; // e E € ¤
    key <AC04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, greater, greaterthanequal ] }; // i I > ≥
    key <AC05> { type[group1] = "FOUR_LEVEL"               , [ comma, semicolon, grave, endash ] }; // , ; ` –
    key <AC06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, slash, copyright ] }; // c C / ©
    key <AC07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ t, T, minus, U2212 ] }; // t T - −
    key <AC08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s, S, 0, ssharp ] }; // s S 0 ß
    key <AC09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, 1, registered ] }; // r R 1 ®
    key <AC10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, 2, notsign ] }; // n N 2 ¬
    key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, 3, dead_abovering ] }; // f F 3 ˚
    key <BKSL> { type[group1] = "FOUR_LEVEL"               , [ slash, division, slash, doubledagger ] }; // / ÷ / ‡

    key <LFSH> { [ Shift_L ] };
    key <LSGT> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, at, U262D ] }; // ê Ê @
    key <AB01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, backslash, U2243 ] }; // à À \ ≃
    key <AB02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, braceleft, U263A ] }; // y Y { ☺
    key <AB03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x, X, braceright, U2639 ] }; // x X } ☹
    key <AB04> { type[group1] = "FOUR_LEVEL"               , [ period, colon, ellipsis, periodcentered ] }; // . : … ·
    key <AB05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, dead_tilde ] }; // k K ~ ~
    key <AB06> { type[group1] = "FOUR_LEVEL"               , [ rightsinglequotemark, question, leftsinglequotemark, questiondown ] }; // ’ ? ‘ ¿
    key <AB07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, bracketleft, dead_ogonek ] }; // q Q [ ˛
    key <AB08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, bracketright, dead_cedilla ] }; // g G ] ¸
    key <AB09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, asciicircum, UFDD3 ] }; // h H ^ ,
    key <AB10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dollar, dead_macron ] }; // m M $ ¯
    key <RTSH> { [ Shift_R ] };

    key <LCTL> { [ Control_L ] };
    key <LWIN> { [ Alt_L, Meta_L ] };
    key <LALT> { [ ISO_Level3_Shift, ISO_Level3_Shift ] };
    key <SPCE> { type[group1] = "FOUR_LEVEL"               , [ space, nobreakspace, underscore, U202F ] }; //     _  
    key <RALT> { [ ISO_Level3_Shift, ISO_Level3_Shift ] };
    key <RWIN> { [ Menu, Super_R ] };
    key <MENU> { [ Super_L, Menu ] };
    key <RCTL> { [ Control_R ] };

    key <LVL3> { [ ISO_Level3_Shift ] };
    key <ALT>  { [ NoSymbol, Alt_L ] };
    key <KPEQ> { [ KP_Equal ] };
    key <SUPR> { [ NoSymbol, Super_L ] };
    key <HYPR> { [ NoSymbol, Hyper_L ] };
    key <META> { [ NoSymbol, Meta_L ] };

    modifier_map Control { <LCTL> };
    modifier_map Shift { <LFSH> };
    modifier_map Shift { <RTSH> };
    modifier_map Mod1 { <LWIN> };
    modifier_map Mod1 { <TLDE> };
    modifier_map Mod5 { <LALT> };
//    modifier_map Lock { <CAPS> };
//    modifier_map Mod2 { <NMLK> };
//    modifier_map Mod5 { <MDSW> };
    modifier_map Control { <RCTL> };
    modifier_map Mod5 { <RALT> };
    modifier_map Mod5 { <LVL3> };
//    modifier_map Mod1 { <ALT> };
//    modifier_map Mod4 { <SUPR> };
//    modifier_map Mod4 { <HYPR> };
//    modifier_map Mod1 { <META> };
};

xkb_geometry { include "pc(pc105)" };

};