« Utilisateur:Pshunter » : différence entre les versions

De Disposition de clavier bépo
Aucun résumé des modifications
(nouvelle version)
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 2 : Ligne 2 :


  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
  │   │ 1 « » 2  │ 3  │ 4 •║ 5 °│ 6 ´│ 7 ⁄│ 8 ⋅│ 9 ≈│ ⍽  ║       ║
  │ │ 1 „│ « “│ » ”│ 2  │ 3  │ 4 •║ 5 °│ 6 ´│ 7 ⁄│ 8 ⋅│ 9 ≈│ ? ¡║       ║
  │   │ " ―│ ( —│ ) –│ $ │ # @ …║ + ±│ - ‑│ / ÷│ * ×│ = ¬│ %  ║ <--    ║
  │ │ " ―│ ( —│ ) –│ $ %& #│ ' …║ + ±│ - ‑│ / ÷│ * ×│ = ¬│ _ ¿║ <--    ║
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
  ║  |<-  ║ B ¦│ É ´│ P π│ O Œ│ È `║ 0  │ V  │ D Ð│ L ≤│ F ≥│ Z  │ K ¯║  | ║
  ║  |<-  ║ B ¦│ É ´│ P π│ O Œ│ È `║ 0  │ V  │ D Ð│ L ≤│ F ≥│ Z  │ K ¯║  | ║
  ║  ->|  ║ b |│ é [│ p ]│ o œ│ è `║ ^ ˇ│ v  │ d ð│ l <│ f >│ z  │ k ˘║ <-' ║
  ║  ->|  ║ b |│ é [│ p ]│ o œ│ è `║ ’ ‘│ v  │ d ð│ l <│ f >│ z  │ k ˘║ <-' ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
  ║        ║ A Æ│ U Ù│ I ˙│ E  │ ? ¡║ C ¢│ T Þ│ S ß│ N Ñ│ R ª│ M º│ ! ˛║    ║
  ║        ║ A Æ│ U Ù│ I ˙│ E  │ ;  ║ C ©│ T Þ│ S ß│ N Ñ│ R ª│ M º│ ! ˛║    ║
  ║  Alt  ║ a æ│ u ù│ i ¨│ e €│ , ¿║ c ©│ t þ│ s £│ n ñ│ r ®│ m µ│ ç ¸║    ║
  ║CapsLock║ a æ│ u ù│ i ¨│ e €│ , c ¢│ t þ│ s £│ n ñ│ r ®│ m µ│ ç ¸║    ║
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
  ║  ^  ║ │ À ˜│ Y ¥│ H │ : ·│ w  ║ ; │ Q Ø│ G  │ X ¶│ J ‡║    ^    ║
  ║  ^  ║ Ê │ À ˜│ Y ¥│ H @│ : ·│ ⍽ ⍽║ W │ Q Ø│ G  │ X ¶│ J ‡║    ^    ║
  ║  |  ║ ê /│ à ~│ y \│ h {│ . }│ W &║ ' │ q ø│ g °│ x §│ j †║    |    ║
  ║  |  ║ ê /│ à ~│ y \│ h {│ . }│ ^ ˇ║ w │ q ø│ g °│ x §│ j †║    |    ║
  ╠══════╩╦══════╦═════╦═══════════════════════╦═══════╦══════╦═╩════╦══════╣
  ╠══════╩╦══════╦═════╦═══════════════════════╦═══════╦══════╦═╩════╦══════╣
  ║      ║      ║    ║ _        FINE-NBSPACE ║      ║      ║      ║      ║
  ║      ║      ║    ║                       ║      ║      ║      ║      ║
  ║ Ctrl  ║ ComG ║AltGr║ SPACE           SPACE ║ AltGr ║ ComD ║ Optn ║ Ctrl ║
  ║ Ctrl  ║ Alt  ║AltGr║ SPACE                 ║ AltGr ║ ComD ║ Optn ║ Ctrl ║
  ╚═══════╩══════╩═════╩═══════════════════════╩═══════╩══════╩══════╩══════╝
  ╚═══════╩══════╩═════╩═══════════════════════╩═══════╩══════╩══════╩══════╝


Description des différences significatives par rapport à la disposition 0.6.3 :
Description des différences significatives par rapport à la disposition 0.6.3 :
* inversion du ^ mort et du ç, mais ! reste à droite du M, le Ç pouvant être obtenu avec la cédille morte et le C,
* Le ç va à la place  du ^ mort, mais ! reste à droite du M, le Ç pouvant être obtenu avec la cédille morte et le C,
* inversion de K et W,
* K va à droite de Z,
* W va à gauche de Q,
* le ^ mort va à la place originale du K,
* [ et ] passent sur AltGr+É et AltGr+P,
* [ et ] passent sur AltGr+É et AltGr+P,
* < et > passent sur AltGr+L et AltGr+F,
* < et > passent sur AltGr+L et AltGr+F,
Ligne 26 : Ligne 28 :
* pour ne pas perdre le 9 à gauche de backspace, le 0 (Tout de même assez fréquent) va à droite du È,
* pour ne pas perdre le 9 à gauche de backspace, le 0 (Tout de même assez fréquent) va à droite du È,
* les parenthèses se placent sous les guillemets afin de ne pas être affectées par un éventuel ShiftLock,
* les parenthèses se placent sous les guillemets afin de ne pas être affectées par un éventuel ShiftLock,
* le nbsp est disponible en Shift-ê et en shift-%,
* l'apostrophe va sur la rangée du haut avec le 0 (apostophe typo),
* cela libère deux touches en accès direct, faute de mieux elles sont pour $ et #,
* la quote droite est juste au-dessus, sur 4,
* les deux touches AltGr appuyées simultanément activent le mode composition.
* le nbsp est disponible en shift, juste au-dessus et au milieu de l'espace,
* le point virgule rejoint la virgule en shift.


Il n'y a pas moins de cinq types de tirets :
Il n'y a pas moins de cinq types de tirets :
Ligne 39 : Ligne 42 :
Différences mineures ou qui ont été nécessaires pour faire de la place :
Différences mineures ou qui ont été nécessaires pour faire de la place :
* le ¶ et le § passent sur X pour libérer le P qui est plus accessible,
* le ¶ et le § passent sur X pour libérer le P qui est plus accessible,
* le ß (désormais obsolète en allemand) passe en AltGr+Shift+S,
* le ß passe en AltGr+Shift+S,
* le £ passe en AltGr+S (comme « Sterling »),
* le £ passe en AltGr+S (comme « Sterling »),
* le & passe en AltGr+W,
* le ª passe en AltGr+Shift+R,
* le ª passe en AltGr+Shift+R,
* ¡ passe sur la touche du ?,
* ¡ passe sur la touche du ?,
* ajout du symbole π sur AltGr+Shift+P.
* ajout du symbole π sur AltGr+Shift+P.


=Modifications à venir et points à améliorer=
Autres caractéristiques
* essayer de modifier le capslock afin qu'il ne soit disponible qu'en shift,
* La touche en haut à gauche de TAB contient des symboles redondants (quoique plus accessibles sur cette touche), afin de permettre à ceux qui le souhaitent d'installer un AltGr symétrique et de la remplacer par ComG ainsi perdue,
* peut-être ajouter quelques diacritiques sur Z…
* les deux touches AltGr appuyées simultanément activent le mode composition.


La position de la virgule est, selon moi, déroutante : ''au-dessus'' de l'apostrophe, ce qui me les fait confondre. La virgule, du fait de sa fréquence doit conserver sa place. Je vais donc tenter de déplacer l'apostrophe à côté du ''è'' et l'inverser avec le ''^'' mort. Les symboles en shift resteront à leur place.
Pour les braves qui voudraient tester, voici le listing Xkb :


L'état actuel de l'espace insécable est largement insatisfaisant. Je pense à le placer sur la touche actuellement occupée par le W. le W, quant à lui, devrait se retrouver sur À, lequel sera décalé d'un cran à gauche. Je sais, cela force à avoir un clavier 105 touches, pardon aux familles, tout ça. Ou alors pourrait-on mettre le À sur la touche à gauche de BS ? Elle est bien loin pourtant… Le w pourrait accueillir le _, qui n'est semble-t-il pas portable sur la barre d'espace.
partial alphanumeric_keys
xkb_symbols "bepo_jc" {


Les symboles $ et # ne méritent sans doute pas un accès aussi direct qu'ils ont actuellement. Peut-être faut-il privilégier un retour de < et > à cet endroit ?
Pour les braves qui voudraient tester, voici le listing Xkb :
     include "keypad(oss)"
     include "keypad(oss)"


Ligne 62 : Ligne 62 :


     // First row
     // First row
     key <TLDE> { [      Caps_Lock,    Caps_Lock,      Caps_Lock,      Caps_Lock ] }; //
     key <TLDE> { [      Caps_Lock,    Caps_Lock,      Caps_Lock,      Caps_Lock ] }; //  


     key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        quotedbl,            1,          U2015,          U201E ] }; // " 1 ― (tiret de citation) (guillemet ouvrant allemand)
     key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [        quotedbl,            1,          U2015,          U201E ] }; // " 1 ― (tiret de citation) (guillemet ouvrant allemand)
     key <AE02> { [      parenleft,guillemotleft,          U2014,          U201C ] }; // ( « — (tiret de parenthésage U2014) (guillemet fermant allemand - ouvrant anglais)
     key <AE02> { [      parenleft,guillemotleft,          U2014,          U201C ] }; // ( « — (tiret de parenthésage U2014) (guillemet fermant allemand - ouvrant anglais)
     key <AE03> { [      parenright,guillemotright,        U2013,          U201D ] }; // ) » – ( EN dash ) (guillemet fermant anglais)
     key <AE03> { [      parenright,guillemotright,        U2013,          U201D ] }; // ) » – ( EN dash ) (guillemet fermant anglais)
     key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [          dollar,            2,           none,          none ] }; // $ 2
     key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
     key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [     numbersign,            3,           none,          none ] }; // # 3
                [          dollar,            2,       percent,          none ] }; // $ 2 %
     key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [              at,            4,      ellipsis,          U2022 ] }; // @ 4 … • (bullet)
     key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
     key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            plus,            5,      plusminus,        degree ] }; // + 5 ± °
                [       ampersand,            3,     numbersign,          none ] }; // & 3 #
     key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [          minus,            6,          U2011,        minutes ] }; // ‑ (tiret) 6 ‑ (tiret insécable) ′
     key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
     key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [          slash,            7,      division,          U2044 ] }; // / 7 ÷ (barre de fraction)
                [              at,            4,      ellipsis,          U2022 ] }; // @ 4 … • (bullet)
     key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        asterisk,            8,      multiply,          U22C5 ] }; // * 8 × (dot operator)
     key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
     key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [          equal,            9,        notsign,          U2248 ] }; // = 9 ¬ ≈ (U2260 : ≠)
                [            plus,            5,      plusminus,        degree ] }; // + 5 ± °
     key <AE12> { [         percent, nobreakspace,   asciicircum,       currency ] }; // % ⍽ (espace insécable) ^ ¤
     key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [          minus,            6,          U2011,        minutes ] }; // ‑ (tiret) 6 ‑ (tiret insécable) ′
     key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [          slash,            7,      division,          U2044 ] }; // / 7 ÷ (barre de fraction)
     key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [        asterisk,            8,      multiply,          U22C5 ] }; // * 8 × (dot operator)
     key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [          equal,            9,        notsign,          U2248 ] }; // = 9 ¬ ≈ (U2260 : ≠)
     key <AE12> { [     underscore,     question,   questiondown,     exclamdown ] }; // _ ⍽ (espace insécable) ^ ¤


     // Second row
     // Second row
Ligne 83 : Ligne 92 :
     key <AD04> { [              o,            O,            oe,            OE ] }; // o O œ Œ
     key <AD04> { [              o,            O,            oe,            OE ] }; // o O œ Œ
     key <AD05> { [          egrave,      Egrave,          grave,    dead_grave ] }; // è È ` `
     key <AD05> { [          egrave,      Egrave,          grave,    dead_grave ] }; // è È ` `
     key <AD06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex,            0,     dead_caron,        none    ] }; // ^ 0 ˇ
     key <AD06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [     apostrophe,            0,           none,        none    ] }; // ^ 0  
     key <AD07> { [              v,            V                                ] }; // v V
     key <AD07> { [              v,            V                                ] }; // v V
     key <AD08> { [              d,            D,            eth,            ETH ] }; // d D ð Ð
     key <AD08> { [              d,            D,            eth,            ETH ] }; // d D ð Ð
Ligne 89 : Ligne 99 :
     key <AD10> { [              f,            F,        greater,          U2265 ] }; // f F > ≥
     key <AD10> { [              f,            F,        greater,          U2265 ] }; // f F > ≥
     key <AD11> { [              z,            Z                                ] }; // z Z
     key <AD11> { [              z,            Z                                ] }; // z Z
     key <AD12> { [              k,            K,    dead_breve,    dead_macron ] }; // k K
     key <AD12> { [              k,            K,    dead_breve,    dead_macron ] }; // k K ˘ ¯


     // Third row
     // Third row
Ligne 96 : Ligne 106 :
     key <AC03> { [              i,            I, dead_diaeresis,  dead_abovedot ] }; // i I ̈ ˇ
     key <AC03> { [              i,            I, dead_diaeresis,  dead_abovedot ] }; // i I ̈ ˇ
     key <AC04> { [              e,            E,      EuroSign,          U212E ] }; // e E € ℮ (estimé)
     key <AC04> { [              e,            E,      EuroSign,          U212E ] }; // e E € ℮ (estimé)
     key <AC05> { [          comma,     question,  questiondown,    exclamdown ] }; // , ? ¿
     key <AC05> { [          comma,   semicolon                                ] }; // ,
     key <AC06> { [              c,            C,      copyright,          cent ] }; // c C © ¢
     key <AC06> { [              c,            C,          cent,      copyright ] }; // c C © ¢
     key <AC07> { [              t,            T,          thorn,          Thorn ] }; // t T þ Þ
     key <AC07> { [              t,            T,          thorn,          Thorn ] }; // t T þ Þ
     key <AC08> { [              s,            S,      sterling,        ssharp ] }; // s S £ ß
     key <AC08> { [              s,            S,      sterling,        ssharp ] }; // s S £ ß
Ligne 106 : Ligne 116 :


     // Fourth row
     // Fourth row
     key <LSGT> { [    ecircumflex, nobreakspace,          slash,          none ] }; // ê ⍽ (espace insécable) /
     key <LSGT> { [    ecircumflex, Ecircumflex,          slash,          none ] }; // ê Ê /
     key <AB01> { [          agrave,      Agrave,    asciitilde,    dead_tilde ] }; // à À ~ ~
     key <AB01> { [          agrave,      Agrave,    asciitilde,    dead_tilde ] }; // à À ~ ~
     key <AB02> { [              y,            Y,      backslash,            yen ] }; // y Y \ ¥
     key <AB02> { [              y,            Y,      backslash,            yen ] }; // y Y \ ¥
     key <AB03> { [              h,            H,      braceleft                ] }; // h H {
     key <AB03> { [              h,            H,      braceleft                ] }; // h H {
     key <AB04> { [          period,        colon,    braceright, periodcentered ] }; // . : } ·
     key <AB04> { [          period,        colon,    braceright, periodcentered ] }; // . : } ·
     key <AB05> { [               w,           W,     ampersand                 ] }; // w W
     key <AB05> { [ dead_circumflex, nobreakspace,     dead_caron                 ] }; // ^ ⍽ (espace insécable) ˇ
     key <AB06> { [     apostrophe,   semicolon                                 ] }; // ' ;
     key <AB06> { [               w,           W                                 ] }; // w W
     key <AB07> { [              q,            Q,        oslash,        Oslash ] }; // q Q
     key <AB07> { [              q,            Q,        oslash,        Oslash ] }; // q Q
     key <AB08> { [              g,            G, dead_abovering                ] }; // g G ˚
     key <AB08> { [              g,            G, dead_abovering                ] }; // g G ˚
Ligne 118 : Ligne 128 :
     key <AB10> { [              j,            J,        dagger,  doubledagger ] }; // j J
     key <AB10> { [              j,            J,        dagger,  doubledagger ] }; // j J


     key <SPCE> { [          space,   underscore,          space,          space ] }; // ␣ _ ␣ ␣
     key <SPCE> { [          space,       space,          space,          space ] }; // ␣ ␣ ␣


     key <RALT> {
     key <RALT> {
Ligne 133 : Ligne 143 :
     key <CAPS> { [ Alt_L ] };
     key <CAPS> { [ Alt_L ] };
     modifier_map Lock { Caps_Lock };
     modifier_map Lock { Caps_Lock };
};

Dernière version du 14 janvier 2008 à 23:04

Ma disposition expérimentale actuelle se base en partie sur la disposition 0.7.2, néanmoins j'essaie de limiter les problèmes qui seraient liés à l'impossibilité de mettre un AltGr à gauche.

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ @  │ 1 „│ « “│ » ”│ 2  │ 3  │ 4 •║ 5 °│ 6 ´│ 7 ⁄│ 8 ⋅│ 9 ≈│ ? ¡║        ║
│ %  │ " ―│ ( —│ ) –│ $ %│ & #│ ' …║ + ±│ - ‑│ / ÷│ * ×│ = ¬│ _ ¿║ <--    ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║  |<-  ║ B ¦│ É ´│ P π│ O Œ│ È `║ 0  │ V  │ D Ð│ L ≤│ F ≥│ Z  │ K ¯║   | ║
║  ->|  ║ b |│ é [│ p ]│ o œ│ è `║ ’ ‘│ v  │ d ð│ l <│ f >│ z  │ k ˘║ <-' ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║ A Æ│ U Ù│ I ˙│ E  │ ;  ║ C ©│ T Þ│ S ß│ N Ñ│ R ª│ M º│ ! ˛║    ║
║CapsLock║ a æ│ u ù│ i ¨│ e €│ ,  ║ c ¢│ t þ│ s £│ n ñ│ r ®│ m µ│ ç ¸║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║   ^  ║ Ê  │ À ˜│ Y ¥│ H @│ : ·│ ⍽ ⍽║ W  │ Q Ø│ G  │ X ¶│ J ‡║     ^     ║
║   |  ║ ê /│ à ~│ y \│ h {│ . }│ ^ ˇ║ w  │ q ø│ g °│ x §│ j †║     |     ║
╠══════╩╦══════╦═════╦═══════════════════════╦═══════╦══════╦═╩════╦══════╣
║       ║      ║     ║                       ║       ║      ║      ║      ║
║ Ctrl  ║ Alt  ║AltGr║ SPACE                 ║ AltGr ║ ComD ║ Optn ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════╩═══════╩══════╩══════╩══════╝

Description des différences significatives par rapport à la disposition 0.6.3 :

  • Le ç va à la place du ^ mort, mais ! reste à droite du M, le Ç pouvant être obtenu avec la cédille morte et le C,
  • K va à droite de Z,
  • W va à gauche de Q,
  • le ^ mort va à la place originale du K,
  • [ et ] passent sur AltGr+É et AltGr+P,
  • < et > passent sur AltGr+L et AltGr+F,
  • les guillemets passent en Shift pour avoir le même accès que tous les symboles qui nécessitent un nbsp,
  • pour ne pas perdre le 9 à gauche de backspace, le 0 (Tout de même assez fréquent) va à droite du È,
  • les parenthèses se placent sous les guillemets afin de ne pas être affectées par un éventuel ShiftLock,
  • l'apostrophe va sur la rangée du haut avec le 0 (apostophe typo),
  • la quote droite est juste au-dessus, sur 4,
  • le nbsp est disponible en shift, juste au-dessus et au milieu de l'espace,
  • le point virgule rejoint la virgule en shift.

Il n'y a pas moins de cinq types de tirets :

  • celui sur la touche de la double quote est le tiret de citation (répliques),
  • celui entre les parenthèses est celui qui a la même fonction que les parenthèses,
  • celui à droite des parenthèses est le tiret d'énumération,
  • en accès direct sur la touche 6, le tiret (moins) ascii standard,
  • en AltGr sur la touche 6, le trait d'union insécable.

Différences mineures ou qui ont été nécessaires pour faire de la place :

  • le ¶ et le § passent sur X pour libérer le P qui est plus accessible,
  • le ß passe en AltGr+Shift+S,
  • le £ passe en AltGr+S (comme « Sterling »),
  • le ª passe en AltGr+Shift+R,
  • ¡ passe sur la touche du ?,
  • ajout du symbole π sur AltGr+Shift+P.

Autres caractéristiques

  • La touche en haut à gauche de TAB contient des symboles redondants (quoique plus accessibles sur cette touche), afin de permettre à ceux qui le souhaitent d'installer un AltGr symétrique et de la remplacer par ComG ainsi perdue,
  • les deux touches AltGr appuyées simultanément activent le mode composition.

Pour les braves qui voudraient tester, voici le listing Xkb :

partial alphanumeric_keys
xkb_symbols "bepo_jc" {
   include "keypad(oss)"
   name[Group1]= "France - Bepo, ergonomic, Dvorak way, vJC";
   // First row
   key <TLDE> { [       Caps_Lock,    Caps_Lock,      Caps_Lock,      Caps_Lock ] }; // 
   key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [        quotedbl,            1,          U2015,          U201E ] }; // " 1 ― (tiret de citation) (guillemet ouvrant allemand)
   key <AE02> { [       parenleft,guillemotleft,          U2014,          U201C ] }; // ( « — (tiret de parenthésage U2014) (guillemet fermant allemand - ouvrant anglais)
   key <AE03> { [      parenright,guillemotright,         U2013,          U201D ] }; // ) » – ( EN dash ) (guillemet fermant anglais)
   key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [          dollar,            2,        percent,           none ] }; // $ 2 %
   key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [       ampersand,            3,     numbersign,           none ] }; // & 3 #
   key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [              at,            4,       ellipsis,          U2022 ] }; // @ 4 … • (bullet)
   key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [            plus,            5,      plusminus,         degree ] }; // + 5 ± °
   key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [           minus,            6,          U2011,        minutes ] }; // ‑ (tiret) 6 ‑ (tiret insécable) ′
   key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [           slash,            7,       division,          U2044 ] }; // / 7 ÷ (barre de fraction)
   key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [        asterisk,            8,       multiply,          U22C5 ] }; // * 8 × (dot operator)
   key <AE11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [           equal,            9,        notsign,          U2248 ] }; // = 9 ¬ ≈ (U2260 : ≠)
   key <AE12> { [      underscore,     question,   questiondown,     exclamdown ] }; // _ ⍽ (espace insécable) ^ ¤
   // Second row
   key <AD01> { [               b,            B,            bar,      brokenbar ] }; // b B | ¦
   key <AD02> { [          eacute,       Eacute,    bracketleft,     dead_acute ] }; // é É [ ´
   key <AD03> { [               p,            P,   bracketright,          U03C0 ] }; // p P ] π
   key <AD04> { [               o,            O,             oe,             OE ] }; // o O œ Œ
   key <AD05> { [          egrave,       Egrave,          grave,     dead_grave ] }; // è È ` `
   key <AD06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
                [      apostrophe,            0,           none,        none    ] }; // ^ 0    
   key <AD07> { [               v,            V                                 ] }; // v V
   key <AD08> { [               d,            D,            eth,            ETH ] }; // d D ð Ð
   key <AD09> { [               l,            L,           less,          U2264 ] }; // l L < ≤
   key <AD10> { [               f,            F,        greater,          U2265 ] }; // f F > ≥
   key <AD11> { [               z,            Z                                 ] }; // z Z
   key <AD12> { [               k,            K,     dead_breve,    dead_macron ] }; // k K ˘ ¯
   // 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,          U212E ] }; // e E € ℮ (estimé)
   key <AC05> { [           comma,    semicolon                                 ] }; // , ;  
   key <AC06> { [               c,            C,           cent,      copyright ] }; // c C © ¢
   key <AC07> { [               t,            T,          thorn,          Thorn ] }; // t T þ Þ
   key <AC08> { [               s,            S,       sterling,         ssharp ] }; // s S £ ß
   key <AC09> { [               n,            N,         ntilde,         Ntilde ] }; // n N ñ Ñ
   key <AC10> { [               r,            R,     registered,    ordfeminine ] }; // r R ® ª
   key <AC11> { [               m,            M,             mu,      masculine ] }; // m M µ º
   key <BKSL> { [        ccedilla,       exclam,   dead_cedilla,    dead_ogonek ] }; // ç ! ¸ ˛
   // Fourth row
   key <LSGT> { [     ecircumflex,  Ecircumflex,          slash,           none ] }; // ê Ê /
   key <AB01> { [          agrave,       Agrave,     asciitilde,     dead_tilde ] }; // à À ~ ~
   key <AB02> { [               y,            Y,      backslash,            yen ] }; // y Y \ ¥
   key <AB03> { [               h,            H,      braceleft                 ] }; // h H {
   key <AB04> { [          period,        colon,     braceright, periodcentered ] }; // . : } ·
   key <AB05> { [ dead_circumflex, nobreakspace,     dead_caron                 ] }; // ^ ⍽ (espace insécable) ˇ
   key <AB06> { [               w,            W                                 ] }; // w W
   key <AB07> { [               q,            Q,         oslash,         Oslash ] }; // q Q
   key <AB08> { [               g,            G, dead_abovering                 ] }; // g G ˚
   key <AB09> { [               x,            X,        section,      paragraph ] }; // x X
   key <AB10> { [               j,            J,         dagger,   doubledagger ] }; // j J
   key <SPCE> { [           space,        space,          space,          space ] }; // ␣ ␣ ␣ ␣
   key <RALT> {
     type[Group1]="FOUR_LEVEL",
     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, Multi_key, ISO_Next_Group ]
   };
   key <LALT> {
     type[Group1]="FOUR_LEVEL",
     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, Multi_key, ISO_Prev_Group ]
   };
   modifier_map Mod5   { <LALT> };
   key <CAPS> { [ Alt_L ] };
   modifier_map Lock { Caps_Lock };

};