Utilisateur:Pascal C.Plusplus

De Disposition de clavier bépo

Une disposition Bépo adaptée à la programmation : Béprog.

Apperçu de la disposition

┌────┐
│ B ¦│   B = Maj,  ¦ = AltGr + Maj
│ b |│   b = Normal, | = AltGr
└────┘


┌━━━━┓
┃Caps┃   B = Maj,  ¦ = AltGr + Maj
┃Lock┃   b = Normal, | = AltGr
┣────┻┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
│ ° ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6  /│ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
│ # – │ & — │ < « │ > » │ ( [ │ ) ] │ @  ^│ + ± │ - − │ / \ │ * × │ = ≠ │ $ ‰ ┃  arrière┃
┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
┃       ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ ¡   │ V   │ D Ð │ L ÷ │ J IJ │ Z Ə │ À Æ ┃  Esc  ┃
┃Tab ↹  ┃ b | │ é ˊ │ p " │ o œ │ è ` │ ! % │ v ˇ │ d ð │ l ' │ j ij │ z ə │ à æ ┃       ┃
┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
┃        ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ’ ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N   │ M º │ Ç , ┃      ┃
┃Entrée  ┃ a æ │ u ù │ i ̈  │ e € │ , ^ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃      ┃
┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
┃       ┃ Ê ˘ │ W   │ Y ‘ │ X ’ │ … · │ K   │ ¿ ̉  │ Q ̣  │ G   │ H ‡ │ F ª ┃             ┃
┃Ctrl   ┃ ê / │ w \ │ y { │ x } │ . : │ k ~ │ ; ? │ q - │ g µ │ h † │ f ˛ ┃Shift ⇧      ┃
┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
┃       ┃       ┃       ┃ Espace inséc.   Espace inséc. fin ┃       ┃       ┃       ┃
┃Alt    ┃Super ⇧┃Shift  ┃ ␣ (Espace)      _               ␣ ┃AltGr  ┃Ctrl   ┃Alt    ┃
┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛

Modifications par rapport au bépo original

  • < et > en accès direct
  • ; en accès direct
  • ! en accès direct
  • échange entre Ê et à (à disponible avec AltGr sur la touche A)
  • ", ' et - accessible en AltGr sur P, L et Q.
  • Maj et Ctrl à des emplacements plus accessibles.

Fichier xkb

(cette méthode ne fonctionne que sous GNU/Linux et sans doute sur les systèmes d'exploitations basés sur UNIX)

  • Cherchez le fichier de configuration situé dans le dossier xkb/symbols :
$ locate xkb/symbols/fr
  • Ouvrez-le avec un éditeur de texte en mode super-utilisateur
  • Cherchez la disposition bépo. Si elle n'y est pas, ajoutez à la fin du fichier :
// Bépo : Improved ergonomic french keymap using Dvorak method.
// Built by community on 'Dvorak Fr / Bépo' :
// see http://www.léopard-dvorak.org/wiki/ to join and help.
// XOrg integration (1.0rc2 version) in 2008
// by Frédéric Boiteux <fboiteux at free dot fr>
//
// Bépo layout (1.0rc2 version) for a pc105 leopard (french) :
// ┌────┐
// │ S A│   S = Shift,  A = AltGr + Shift
// │ s a│   s = normal, a = AltGr
// └────┘
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6   │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃  arrière┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃       ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ !   │ V   │ D Ð │ L   │ J IJ │ Z Ə │ W   ┃Entrée ┃
// ┃Tab ↹  ┃ b | │ é ´ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w  ̆ ┃   ⏎   ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
// ┃        ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N   │ M º │ Ç , ┃      ┃
// ┃Maj ⇬   ┃ a æ │ u ù │ i  ̈ │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃      ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃       ┃ Ê   │ À   │ Y ‘ │ X ’ │ : · │ K   │ ?  ̉ │ Q  ̣ │ G   │ H ‡ │ F ª ┃             ┃
// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧      ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃       ┃       ┃       ┃ Espace inséc.   Espace inséc. fin ┃       ┃       ┃       ┃
// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ (Espace)      _               ␣ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "bepo" {

    include "level3(ralt_switch)"
    include "keypad(oss)"

    name[Group1]= "French (Bepo, ergonomic, Dvorak way)";

    // First row
    key <TLDE> { [          dollar,   numbersign,        endash,       paragraph ] }; // $ # – ¶
    key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        quotedbl,            1,         emdash, doublelowquotemark ] }; // " 1 — „
    key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [   guillemotleft,            2,           less,  leftdoublequotemark ] }; // « 2 < “
    key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  guillemotright,            3,        greater, rightdoublequotemark ] }; // » 3 > ”
    key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenleft,            4,    bracketleft,      lessthanequal ] }; // ( 4 [ ≤
    key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      parenright,            5,   bracketright,   greaterthanequal ] }; // ) 5 ] ≥
    key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [              at,            6,    asciicircum                 ] }; // @ 6 ^
    key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            plus,            7,      plusminus,        notsign ] }; // + 7 ± ¬
    key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           minus,            8,          U2212,     onequarter ] }; // - 8 − ¼
    key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           slash,            9,       division,        onehalf ] }; // / 9 ÷ ½
    key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        asterisk,            0,       multiply,  threequarters ] }; // * 0 × ¾
    key <AE11> { [           equal,       degree,       notequal,        minutes ] }; // = ° ≠ ′
    key <AE12> { [         percent,        grave,          U2030,        seconds ] }; // % ` ‰ ″

    // Second row
    key <AD01> { [               b,            B,            bar,      brokenbar ] }; // b B | ¦
    key <AD02> { [          eacute,       Eacute,     dead_acute, dead_doubleacute ] }; // é É ˊ ˝
    key <AD03> { [               p,            P,      ampersand,        section ] }; // p P & §
    key <AD04> { [               o,            O,             oe,             OE ] }; // o O œ Œ
    key <AD05> { [          egrave,       Egrave,     dead_grave,          grave ] }; // è È ` `
    key <AD06> { [ dead_circumflex,       exclam,     exclamdown                 ] }; // ^ ! ¡
    key <AD07> { [               v,            V,     dead_caron                 ] }; // v V ˇ
    key <AD08> { [               d,            D,            eth,            ETH ] }; // d D ð Ð
    key <AD09> { [               l,            L,    dead_stroke                 ] }; // l L /
    key <AD10> { [               j,            J,          U0133,          U0132 ] }; // j J ij IJ
    key <AD11> { [               z,            Z,          schwa,          SCHWA ] }; // z Z ə Ə
    key <AD12> { [               w,            W,     dead_breve                 ] }; // w W ̆

    // Third row
    key <AC01> { [               a,            A,             ae,             AE ] }; // a A æ Æ
    key <AC02> { [               u,            U,         ugrave,         Ugrave ] }; // u U ù Ù
    key <AC03> { [               i,            I, dead_diaeresis,  dead_abovedot ] }; // i I ̈ ˙
    key <AC04> { [               e,            E,       EuroSign,  dead_currency ] }; // e E € ¤
    key <AC05> { [           comma,    semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛
    key <AC06> { [               c,            C,      copyright,          U017F ] }; // c C © ſ
    key <AC07> { [               t,            T,          thorn,          THORN ] }; // t T þ Þ
    key <AC08> { [               s,            S,         ssharp,          U1E9E ] }; // s S ß ẞ
    key <AC09> { [               r,            R,     registered,      trademark ] }; // r R ® ™
    key <AC10> { [               n,            N,     dead_tilde                 ] }; // n N ~
    key <AC11> { [               m,            M,    dead_macron,      masculine ] }; // m M ̄ º
    key <BKSL> { [        ccedilla,     Ccedilla,   dead_cedilla, dead_belowcomma ] }; // ç Ç ¸ ,

    // Fourth row
    key <LSGT> { [     ecircumflex,  Ecircumflex,          slash                 ] }; // ê Ê /
    key <AB01> { [          agrave,       Agrave,      backslash                 ] }; // à À \
    key <AB02> { [               y,            Y,      braceleft, leftsinglequotemark  ] }; // y Y { ‘
    key <AB03> { [               x,            X,     braceright, rightsinglequotemark ] }; // x X } ’
    key <AB04> { [          period,        colon,       ellipsis, periodcentered ] }; // . : … ·
    key <AB05> { [               k,            K,     asciitilde                 ] }; // k K ~
    key <AB06> { [      apostrophe,     question,   questiondown,      dead_hook ] }; // ' ? ¿ ̉
    key <AB07> { [               q,            Q, dead_abovering,  dead_belowdot ] }; // q Q ˚ ̣
    key <AB08> { [               g,            G,             mu                 ] }; // g G µ
    key <AB09> { [               h,            H,         dagger,   doubledagger ] }; // h H † ‡
    key <AB10> { [               f,            F,    dead_ogonek,    ordfeminine ] }; // f F ̨ ª

    key <SPCE> { [           space, nobreakspace,     underscore,          U202F ] }; // ␣ (espace insécable) _ (espace insécable fin)
};
  • Ajoutez après la disposition bépo :
partial alphanumeric_keys modifier_keys
xkb_symbols "beprog" {

    include "fr(bepo)"

    key <TLDE> { [      numbersign, dead_abovering,       endash,      paragraph ] }; // # ° – ¶
    key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       ampersand,            1,         emdash,   doublelowquotemark ] }; // & 1 — „
    key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            less,            2,  guillemotleft,  leftdoublequotemark ] }; // < 2 « “
    key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [         greater,            3, guillemotright, rightdoublequotemark ] }; // > 3 » ”
    key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [              at,            6,    asciicircum,          dead_stroke ] }; // @ 6 ^ /
    key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           slash,            9,      backslash,              onehalf ] }; // / 9 \ ½
    key <AE12> { [          dollar,        grave,          U2030,        seconds ] }; // $ ` ‰ ″

    key <AD03> { [               p,            P,       quotedbl,        section ] }; // p P # §
    key <AD06> { [          exclam,   exclamdown,        percent                 ] }; // ! ¡ %
    key <AD09> { [               l,            L,     apostrophe,       division ] }; // l L ' ÷
    key <AD12> { [          agrave,       Agrave,             ae,             AE ] }; // à À æ Æ
    key <AC01> { [               a,            A,         agrave,         Agrave ] }; // a A à À
    key <AC05> { [           comma, rightsinglequotemark, dead_circumflex, dead_horn ] }; // , ’ ^ ̛

    key <LSGT> { [     ecircumflex,  ecircumflex,          slash,    dead_breve ] }; // ê Ê / ˘
    key <AB01> { [               w,            W,      backslash                 ] }; // w W \
    key <AB04> { [          period,     ellipsis,          colon, periodcentered ] }; // . … : ·
    key <AB06> { [       semicolon, questiondown,       question,      dead_hook ] }; // ; ¿ ? ̉
    key <AB07> { [               q,            Q,          minus,  dead_belowdot ] }; // q Q - ̣

    key <ESC>  { [ Caps_Lock ]    };
    key <CAPS> { [ Return ]       };
    key <LFSH> { [ Control_L ]    };
    key <RTRN> { [ Escape ]       };
    key <LCTL> { symbols[Group1] = [ Alt_L, Meta_L ], virtualMods=AltGr };
    key <LALT> { symbols[Group1] = [ Shift_L ]                          };
    key <MENU> { symbols[Group1] = [ Control_R ]                        };
    key <RCTL> { symbols[Group1] = [ Alt_L, Meta_L ], virtualMods=AltGr };
};
  • Vous pouvez ensuite l'activer en tapant la commande :
$ setxkbmap fr -variant beprog