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

Modifications par rapport au bépo original

  • Déplacement de la home row au milieu du clavier
  • Décalage de la première rangée pour faciliter la transition depuis le bépo
  • Chiffres sur la home row en AltGr
  • Paires en AltGr autour de la home row
  • Caractères sur la touche Verr. Maj. (touche Verr. Maj. déplacée sur échap)

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)"

    name[Group1]= "Beprog, version 2";

    // First row
    key <TLDE> { [          degree,  dead_abovering,  masculine,     ordfeminine ] }; // ° ° º ª
    key <AE01> { [              at,       copyright, registered,       trademark ] }; // @ © ® ™
    key <AE02> { [       ampersand,         section,      thorn,           THORN ] }; // & § þ Þ
    key <AE03> { [      numbersign,      dead_greek,     ssharp,           U1E9E ] }; // # µ ß ẞ
    key <AE04> { [          dollar,        EuroSign, dead_currency               ] }; // $ € ¤
    key <AE05> { [  dead_diaeresis,   dead_abovedot                              ] }; // ¨ ˙
    key <AE06> { [         percent,           U2030,      schwa,           SCHWA ] }; // % ‰ ə Ə
    key <AE07> { [   guillemotleft, leftsinglequotemark, leftdoublequotemark, seconds ] }; // « ‘ “ ″
    key <AE08> { [  guillemotright, rightsinglequotemark, rightdoublequotemark, doublebelowquotemark ] }; // » ’ ” „
    key <AE09> { [            plus,       plusminus,        eth,             ETH ] }; // + ± ð Ð
    key <AE10> { [           minus,          emdash,    notsign,           U2212 ] }; // - — ¬ –
    key <AE11> { [        asterisk,        multiply,      U0133,           U0132 ] }; // * × ij IJ
    key <AE12> { [           equal,        notequal,   division                  ] }; // = ≠ ÷

    // Second row
    key <AD01> { [               w,            W,          acute,     dead_acute ] }; // w W ´ ´
    key <AD02> { [               b,            B,            bar,      brokenbar ] }; // b B | ¦
    key <AD03> { [          eacute,       Eacute,      parenleft, dead_doubleacute ] }; // é É ( ˝
    key <AD04> { [               p,            P,     parenright,    dead_macron ] }; // p P ) ˘
    key <AD05> { [               o,            O,             oe,             OE ] }; // o O œ Œ
    key <AD06> { [          egrave,       Egrave,          grave,     dead_grave ] }; // è È ` `
    key <AD07> { [          exclam,   exclamdown,             ae,             AE ] }; // ! ¡ æ Æ
    key <AD08> { [               v,            V,         ugrave,         Ugrave ] }; // v V ù Ù
    key <AD09> { [               d,            D,    bracketleft                 ] }; // d D [
    key <AD10> { [               l,            L,   bracketright                 ] }; // l L ]
    key <AD11> { [               j,            J,    asciicircum                 ] }; // j J ^
    key <AD12> { [               z,            Z,     dead_tilde                 ] }; // z Z ~

    // Third row
    key <AC01> { [        ccedilla,     Ccedilla,   dead_cedilla,    dead_ogonek ] }; // ç Ç ¸ ,
    key <AC02> { [               a,            A,              0,        minutes ] }; // a A 0 ′
    key <AC03> { [               u,            U,              1,     onequarter ] }; // u U 1 ¼
    key <AC04> { [               i,            I,              2,        onehalf ] }; // i I 2 ½
    key <AC05> { [               e,            E,              3,  threequarters ] }; // e E 3 ¾
    key <AC06> { [           comma, dead_circumflex,           4, dead_belowcomma ] }; // , ^ 4 ,
    key <AC07> { [               c,            C,              5,          U017F ] }; // c C 5 ſ
    key <AC08> { [               t,            T,              6,          THORN ] }; // t T 6 Þ
    key <AC09> { [               s,            S,              7                 ] }; // s S 7 ẞ
    key <AC10> { [               r,            R,              8                 ] }; // r R 8
    key <AC11> { [               n,            N,              9,      dead_hook ] }; // n N 9  ̉
    key <BKSL> { [               m,            M,       asterisk,    dead_macron ] }; // m M - ¯

    // Fourth row
    key <LSGT> { [     ecircumflex,  Ecircumflex                                 ] }; // ê Ê
    key <AB01> { [          agrave,       Agrave,          slash,    dead_stroke ] }; // à À / /
    key <AB02> { [               y,            Y,      backslash,         dagger ] }; // y Y \ †
    key <AB03> { [               x,            X,      braceleft,   doubledagger ] }; // x X { ‡
    key <AB04> { [          period,        colon,     braceright,       ellipsis ] }; // . : } …
    key <AB05> { [               k,            K,       quotedbl                 ] }; // k K "
    key <AB06> { [       semicolon,     question,   questiondown, periodcentered ] }; // ' ? ¿ ·
    key <AB07> { [               q,            Q,     apostrophe,  dead_belowdot ] }; // q Q '  ̣
    key <AB08> { [               g,            G,           less,  lessthanequal ] }; // g G < ≤
    key <AB09> { [               h,            H,        greater                 ] }; // h H >
    key <AB10> { [               f,            F,     asciitilde, greaterthanequal ] }; // f F ~ ≥

    key <SPCE> { [           space, nobreakspace,     underscore,          U202F ] }; // ␣ (espace insécable) _ (espace insécable fin)

    key <CAPS> { symbols[Group1] = [ minus, equal,          plus                 ] }; // - = +
    key <LFSH> { symbols[Group1] = [ Control_L ]                                   }; // Control
    key <LALT> { symbols[Group1] = [ Shift_L ]                                     }; // Control
    key <LCTL> { symbols[Group1] = [ Alt_L, Meta_L ],       virtualMods=AltGr      }; // Alt
    key <MENU> { symbols[Group1] = [ Shift_R   ]                                   }; // Shift
    key <RTSH> { symbols[Group1] = [ Escape    ]                                   }; // Escape
};
                          
  • Vous pouvez ensuite l'activer en tapant la commande :
$ setxkbmap fr -variant beprog