« Utilisateur:Pascal C.Plusplus » : différence entre les versions

De Disposition de clavier bépo
(< et > à côté)
 
(15 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
== Apperçu de la disposition ==
== Apperçu de la disposition ==


[[Image:Beprog.png]]
┌────┐
│ 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 ==
== Modifications par rapport au bépo original ==


* < et > en accès direct
* Déplacement de la home row au milieu du clavier
* ; en accès direct
* Décalage de la première rangée pour faciliter la transition depuis le bépo
* @ échangé avec ^
* Chiffres sur la home row en AltGr
* ^ (mort) remplacé par { }
* Paires en AltGr autour de la home row
* échange entre Ê et W
* Caractères sur la touche Verr. Maj. (touche Verr. Maj. déplacée sur échap)
* ajout des flèches
* déplacement de plusieurs caractères


== Fichier xkb ==
== Fichier xkb ==
Ligne 25 : Ligne 47 :
  // Bépo : Improved ergonomic french keymap using Dvorak method.
  // Bépo : Improved ergonomic french keymap using Dvorak method.
  // Built by community on 'Dvorak Fr / Bépo' :
  // Built by community on 'Dvorak Fr / Bépo' :
  // see http://www.clavier-dvorak.org/wiki/ to join and help.
  // see http://www.léopard-dvorak.org/wiki/ to join and help.
  // XOrg integration (1.0rc2 version) in 2008
  // XOrg integration (1.0rc2 version) in 2008
  // by Frédéric Boiteux <fboiteux at free dot fr>
  // by Frédéric Boiteux <fboiteux at free dot fr>
  //
  //
  // Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
  // Bépo layout (1.0rc2 version) for a pc105 leopard (french) :
  // ┌────┐
  // ┌────┐
  // │ S A│  S = Shift,  A = AltGr + Shift
  // │ S A│  S = Shift,  A = AltGr + Shift
Ligne 118 : Ligne 140 :
  };
  };
* Ajoutez après la disposition bépo :
* Ajoutez après la disposition bépo :
  partial alphanumeric_keys
  partial alphanumeric_keys modifier_keys
  xkb_symbols "beprog" {
  xkb_symbols "beprog" {
include "fr(bepo)"
// First row :
key <TLDE> { [            dollar,  numbersign,    asciitilde,      paragraph ] }; // $ # ~ §
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", [      asciicircum,          6,            at,              endash ] }; // ^ 6 @ —
key <AE12> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            grave,    percent,          U2030,              seconds ] }; // ` % ‰ ″
// Second row :
key <AD06> { [          braceleft,      exclam,    braceright,    exclamdown ] }; // { ! } ¡
key <AD07> { [                  v,          V,    dead_caron,    dead_hook ] }; // v V ˇ ̉
key <AD12> { [        ecircumflex, Ecircumflex, dead_circumflex, dead_macron ] }; // ê Ê ^ ¯
// Third row :
key <AC05> { [          semicolon,  backslash,        period,    dead_horn ] }; // ; \ . ̛
key <AC06> { [                  c,          C,    copyright, dead_belowcomma ] }; // c C © ↑
key <AC11> { [                  m,          M,    masculine,      uparrow ] }; // m M º ,
key <AC12> { [          ccedilla,    Ccedilla,  dead_cedilla,  dead_ogonek ] }; // ç Ç ¸  ̨
   
   
// Fourth row :
    include "fr(bepo)"
key <LSGT> { [                  w,           W,   dead_breve                ] }; // w W ˘
key <AB02> { [                 y,           Y, leftsinglequotemark         ] }; // y Y
    name[Group1]= "Beprog, version 2";
key <AB03> { [                 x,           X, rightsinglequotemark        ] }; // x X
key <AB04> { [             comma,    ellipsis,         colon,    leftarrow ] }; // , ; ←
    // First row
key <AB05> { [                 k,           K, periodcentered,    downarrow ] }; // k K · ↓
    key <TLDE> { [          degree,  dead_abovering,  masculine,    ordfeminine ] }; // ° ° º ª
key <AB06> { [         apostroph, questiondown,    question,   rightarrow ] }; // ' ¿ ? →
    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

Dernière version du 17 juin 2013 à 15:47

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