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

De Disposition de clavier bépo
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 12 : Ligne 12 :
* {Ç} (alias Europe-1 ou <BKSL>) est disjointe du reste du clavier car sa position dépend du type de clavier : pc104, pc105, TypeMatrix…
* {Ç} (alias Europe-1 ou <BKSL>) est disjointe du reste du clavier car sa position dépend du type de clavier : pc104, pc105, TypeMatrix…
* {◻} (alias Europe-2 ou <LSGT>) n'existe que sur les claviers de type pc105.
* {◻} (alias Europe-2 ou <LSGT>) n'existe que sur les claviers de type pc105.
 
Je sais que ce n'est pas la représentation standard du Bépo, mais je crois qu'il est nécessaire de recourir à ce genre de schéma pour bien garder à l'esprit l'enchaînement des touches…
La couche AltGr n'est pas représentée car je la réserve systématiquement aux symboles tels que <>{}[]/\|¦„“”«», et ce, indépendamment de la disposition utilisée.


  ╭─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────╮
  ╭─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────╮
  │ #   │ │ «  »  │ │ +   │ -   │ /   │ *   │ │ ^  │ `  │
  │ # │ │ 1 {{B|„}} 2 {{B|“}} 3 {{B|”}} 4 {{B|‘}} 5 {{B|’}} │ │ 6 {{B|¬}} 7   │ 8   │ 9   │ 0   │ │ ^  │ `  │
  │ $   │ │ 1 — 2 < │ 3 > │ 4 [ │ 5 ] │ │ │ │ =   │ %  │
  │ $ § │ │ " @ {{B|<}} {{B|«}} {{B|>}} {{B|»}} ( [ │ ) ] │ │ — – + ± - - / ÷ * × │ │ = {{B|≠}} │ %  │
  ╰─────╯ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┤
  ╰─────╯ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┤
         │ B  │ É  │ P  │ O  │ È  │ │ !  │ V  │ D  │ L  │ J  │ │ Z  │ W  │
         │ B  │ É  │ P  │ O  │ È  │ │ !  │ V  │ D  │ L  │ J  │ │ Z  │ W  │
Ligne 39 : Ligne 38 :
* [[Fr%C3%A9quence_des_caract%C3%A8res#Corpus_de_Thomas_Temp.C3.A9|selon le corpus de Thomas Tempé]], les deux caractères « ? » et « ; » ont sensiblement la même fréquence en français, il n'y a donc pas de raison ergonomique de mettre « ? » en Maj+{,}.
* [[Fr%C3%A9quence_des_caract%C3%A8res#Corpus_de_Thomas_Temp.C3.A9|selon le corpus de Thomas Tempé]], les deux caractères « ? » et « ; » ont sensiblement la même fréquence en français, il n'y a donc pas de raison ergonomique de mettre « ? » en Maj+{,}.


Nota : cette inversion permettrait également de regrouper la paire « ‘’ » en Maj+AltGr+{Y/À}, et ainsi de dupliquer « Ç » en AltGr+{,} – ce qui serait appréciable sur les claviers pc104 et certains claviers pc105 :
Nota : cette inversion permettrait également de dupliquer « Ç » en AltGr+{,} – ce qui serait appréciable sur les claviers pc104 et certains claviers pc105 :
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬
  ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬
  ║        ║ A Æ│ U Ù│ I ˙│ E ¤│ {{B|;}}  ║ C  │ T Þ│
  ║        ║ A Æ│ U Ù│ I ˙│ E ¤│ {{B|;}}  ║ C  │ T Þ│
  ║  CAPS  ║ a æ│ u ù│ i ¨│ e €│ , {{B|ç}}║ c ©│ t þ│
  ║  CAPS  ║ a æ│ u ù│ i ¨│ e €│ , {{B|ç}}║ c ©│ t þ│
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴
  ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴
║  ^  ║ Ê  │ X  │ Y {{B|‘}}│ À {{B|’}}│ : ·│ K ˜║ {{B|? ¿}}│
Inconvénient : ça complique l'accès au guillemet simple droit ([[Apostrophe|rsqm]]), qui est utilisé par certains bépoïstes comme apostrophe courbe, et qui serait déplacé en Shift+AltGr+{5} ou Shift+AltGr+{À}. <!-- J'avoue être opposé à cet usage :
║  |  ║ ê /│ x \│ y {│ à }│ . …│ k ~║ ' {{B|¢}}│
* AltGr+{'} est particulièrement tordu à enchaîner dans le flot du texte — on fait une dispo ergonomique ou pas ?
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧══
* l'utilisation du rqsm pose des problèmes d'appariement, notamment dans un texte franco-anglais
Je propose de placer « ¢ » en AltGr+{'} : c'est proche de { C } et de toutes façons, cette combinaison a une accessibilité moisie…
* contrairement aux guillemets (« »), le rqsm n'a pas de représentation en ISO-8859-15
* si on utilise les guillemets « », l'apostrophe courbe n'a pas d'intérêt pratique — c'est uniquement une amélioration de présentation.
Je pense donc que c'est l'éventuelle présentation de l'apostrophe en courbe devrait être laissée à la charge du logiciel, et non au pilote du clavier. M'enfin chacun fait bien comme il veut hein… -->


=== Tirets cadratin et demi-cadratin sur {1} ===
=== Regrouper les guillemets sur {1-5} ===
Une autre modification pour la cohérence de la dispo :
Une autre modification pour la cohérence de la dispo :
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
* les guillemets «» passent en AltGr+{2/3}, ceci afin de faciliter le XML/HTML et notamment les digrammes </ et />
│ # ¶│ 1 {{B|–}}│ 2 ≤│ 3 ≥│ 4 “│ 5 ”║ 6  │ 7 °│ 8 ′│ 9 ″│ 0  │ ^  │ `  ║        ║
* les guillemets anglais “” remplacent ≤≥ en Shift+AltGr+{2/3}
│ $ §│ " —│ « <│ » >│ ( [│ ) ]║ @  │ + ±│ - {{B|¬}}│ / ÷│ * ×│ = {{B|≠}}│ % ‰║ <--    ║
* le guillemet ouvrant allemand „ apparaît en Shift+AltGr+{1}
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
* les guillemets simples anglais ‘’ sont déplacés ou dupliqués en Shift+AltGr+{4/5}
Peu d'impact sur le français mais nette amélioration pour l'anglais, l'allemand et la prog.


* le demi-cadratin passe en Shift+AltGr+1
=== Ajout du signe ≠ en AltGr+{=} ===
* le signe ¬ est remplacé par ≠ et passe en AltGr+8
Le caractère ¬ passerait en Shift+AltGr+[6], au seul motif qu'il n'est pas fréquent et qu'il ressemble à un tiret. Pas d'impact en utilisation courante.
Peu d'impact, mais meilleure accessibilité du demi-cadratin pour ceux qui l'utilisent, et un peu moins de chances de le confondre avec le tiret.


=== Les chiffres en accès direct ===
=== Les chiffres en accès direct ===
Ligne 70 : Ligne 71 :
* CapsLock Off => chiffres sur la couche Maj
* CapsLock Off => chiffres sur la couche Maj
…et dans les deux cas, CapsLock ne sert plus à mettre quoi que ce soit en majuscules. Avec ça on peut se faire référencer par [http://capsoff.org CapsOff.org]. ;-)
…et dans les deux cas, CapsLock ne sert plus à mettre quoi que ce soit en majuscules. Avec ça on peut se faire référencer par [http://capsoff.org CapsOff.org]. ;-)


== Fichier xkb (version 0.6.6 modifiée) ==
== Fichier xkb (version 0.6.6 modifiée) ==
Ligne 78 : Ligne 78 :
<pre class="xkb"><nowiki>
<pre class="xkb"><nowiki>
  key <TLDE> { type[group1] = "FOUR_LEVEL"              , [ dollar        , numbersign  , section        , paragraph            ] }; // $ # § ¶  
  key <TLDE> { type[group1] = "FOUR_LEVEL"              , [ dollar        , numbersign  , section        , paragraph            ] }; // $ # § ¶  
  key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl      , 1          , emdash          , endash              ] }; // " 1
  key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl      , 1          , at              , doublelowquotemark  ] }; // " 1 @ „
  key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft  , 2          , less            , lessthanequal        ] }; // « 2 ≤
  key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less          , 2          , guillemotleft  , leftdoublequotemark  ] }; // < 2 «
  key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright , 3          , greater        , greaterthanequal    ] }; // » 3 ≥
  key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright , 3          , greater        , rightdoublequotemark ] }; // > 3 »
  key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft      , 4          , bracketleft    , leftdoublequotemark ] }; // ( 4 [
  key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft      , 4          , bracketleft    , leftsinglequotemark ] }; // ( 4 [
  key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright    , 5          , bracketright    , rightdoublequotemark ] }; // ) 5 ]
  key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright    , 5          , bracketright    , rightsinglequotemark ] }; // ) 5 ]
  key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at            , 6          , VoidSymbol      , VoidSymbol          ] }; // @ 6  
  key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ emdash        , 6          , endash          , notsign              ] }; // 6 – ¬
  key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus          , 7          , plusminus      , degree              ] }; // + 7 ± °  
  key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus          , 7          , plusminus      , degree              ] }; // + 7 ± °  
  key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus          , 8          , notsign        , minutes              ] }; // - 8 – ′  
  key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus          , 8          , notsign        , minutes              ] }; // - 8 – ′  
  key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash          , 9          , division        , seconds              ] }; // / 9 ÷ ″  
  key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash          , 9          , division        , seconds              ] }; // / 9 ÷ ″  
  key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk      , 0          , multiply        , VoidSymbol          ] }; // * 0 ×  
  key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk      , 0          , multiply        , VoidSymbol          ] }; // * 0 ×  
  key <AE11> { type[group1] = "THREE_LEVEL"              , [ equal          , asciicircum , notequal                              ] }; // = ` ¬
  key <AE11> { type[group1] = "THREE_LEVEL"              , [ equal          , asciicircum , notequal                              ] }; // = ^ ≠
  key <AE12> { type[group1] = "THREE_LEVEL"              , [ percent        , grave      , U2030                                  ] }; // % ` ‰  
  key <AE12> { type[group1] = "THREE_LEVEL"              , [ percent        , grave      , U2030                                  ] }; // % ` ‰  
   
   
Ligne 142 : Ligne 142 :
Pour les autres, je les laisse méditer sur une citation honteusement extraite du canal IRC (2008/05/08) :
Pour les autres, je les laisse méditer sur une citation honteusement extraite du canal IRC (2008/05/08) :
  (20:51:11) ***labnico a mal aux auriculaires, surtout le droit, depuis qu'il est en bépo
  (20:51:11) ***labnico a mal aux auriculaires, surtout le droit, depuis qu'il est en bépo


== Variante « Bépo-intl » ==
== Variante « Bépo-intl » ==

Version du 19 mai 2008 à 11:36

Je suis développeur, j'utilise quotidiennement l'anglais, le français et l'allemand (dans cet ordre), je ne suis donc pas forcément un bon client pour le Bépo.

J'utilise plusieurs layouts : qwerty-intl, dvorak-us, et même azerty quand je suis en clientèle. Sur mon poste perso j'utilise mes propres layouts qwerty et dvorak internationalisés. Je m'intéresse au Bépo autant pour la démarche de conception et d'optimisation que pour le layout lui-même, que j'adopterai peut-être quand il sera finalisé.

Je travaille (entre autres) pour TypeMatrix™, j'ai notamment contribué à la conception du 2030-USB. Je suis en train de faire un tutoriel d'apprentissage du clavier en XUL sous licence GPL, compatible avec les leçons de KTouch, et qui supporte le Bépo.


Modifications suggérées pour la disposition actuelle

Schéma

Le schéma ci-dessous n'est pas un schéma TypeMatrix, mais une représentation de l'affectation des touches selon les méthodes de dactylographie courantes - à chaque colonne correspond un doigt et un seul. Les touches qui sont représentées en pointillés sont les deux touches « Europe » :

  • {Ç} (alias Europe-1 ou <BKSL>) est disjointe du reste du clavier car sa position dépend du type de clavier : pc104, pc105, TypeMatrix…
  • {◻} (alias Europe-2 ou <LSGT>) n'existe que sur les claviers de type pc105.

Je sais que ce n'est pas la représentation standard du Bépo, mais je crois qu'il est nécessaire de recourir à ce genre de schéma pour bien garder à l'esprit l'enchaînement des touches…

╭─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────╮
│ # ¶ │ │ 1  │ 2  │ 3  │ 4  │ 5  │ │ 6 ¬ │ 7   │ 8   │ 9   │ 0   │ │ ^   │ `   │
│ $ § │ │ " @ │ < «> » │ ( [ │ ) ] │ │ — – │ + ± │ - - │ / ÷ │ * × │ │ =  │ %   │
╰─────╯ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┤
        │ B   │ É   │ P   │ O   │ È   │ │ !   │ V   │ D   │ L   │ J   │ │ Z   │ W   │
        │   | │   ´ │   & │   œ │   ` │ │ ^   │     │     │     │     │ │     │     │
        ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────╯
        │ A   │ U   │ I   │ E   │ ;   │ │ C   │ T   │ S   │ R   │ N   │ │ M   │ ╭-----╮
        │   æ │   ù │   ¨ │   € │ ,   │ │     │     │     │     │     │ │     │ ¦ Ç   ¦
╭-----╮ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ╰─────╯ ¦     ¦
¦ Ê   ¦ │ X   │ Y   │ À   │ :   │ K   │ │ ?   │ Q   │ G   │ H   │ F   │         ╰-----╯
¦     ¦ │   \ │   { │   } │ . … │   ~ │ │ '   │     │     │     │     │
╰-----╯ ╰─────┴─────┴─────┴─────┴─────╯ ╰─────┴─────┴─────┴─────┴─────╯
                  ╭───────┬─────────────────────────┬───────╮
                  │  Alt  │ Espace insécable        │ AltGr │
                  │       │ Espace                _ │       │
                  ╰───────┴─────────────────────────┴───────╯

Inversion ?/;

Objectif : une meilleure cohérence de la ponctuation

  • le point-virgule au-dessus de la virgule, les deux points au-dessus du point : c'est une amélioration adoptée par tous les layouts QWERTY/QWERTZ européens sur leur ancêtre américain ;
  • ./:/,/; sous la main gauche, !/? sous la main droite ; les ponctuations courantes restent avec les voyelles sous la main gauche, comme sur le Dvorak ;
  • selon le corpus de Thomas Tempé, les deux caractères « ? » et « ; » ont sensiblement la même fréquence en français, il n'y a donc pas de raison ergonomique de mettre « ? » en Maj+{,}.

Nota : cette inversion permettrait également de dupliquer « Ç » en AltGr+{,} – ce qui serait appréciable sur les claviers pc104 et certains claviers pc105 :

╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬
║        ║ A Æ│ U Ù│ I ˙│ E ¤│ ;  ║ C  │ T Þ│
║  CAPS  ║ a æ│ u ù│ i ¨│ e €│ , ç║ c ©│ t þ│
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴

Inconvénient : ça complique l'accès au guillemet simple droit (rsqm), qui est utilisé par certains bépoïstes comme apostrophe courbe, et qui serait déplacé en Shift+AltGr+{5} ou Shift+AltGr+{À}.

Regrouper les guillemets sur {1-5}

Une autre modification pour la cohérence de la dispo :

  • les guillemets «» passent en AltGr+{2/3}, ceci afin de faciliter le XML/HTML et notamment les digrammes </ et />
  • les guillemets anglais “” remplacent ≤≥ en Shift+AltGr+{2/3}
  • le guillemet ouvrant allemand „ apparaît en Shift+AltGr+{1}
  • les guillemets simples anglais ‘’ sont déplacés ou dupliqués en Shift+AltGr+{4/5}

Peu d'impact sur le français mais nette amélioration pour l'anglais, l'allemand et la prog.

Ajout du signe ≠ en AltGr+{=}

Le caractère ¬ passerait en Shift+AltGr+[6], au seul motif qu'il n'est pas fréquent et qu'il ressemble à un tiret. Pas d'impact en utilisation courante.

Les chiffres en accès direct

Inutile de reprendre les pires défauts de l'AZERTY…

  • ça facilite l'insertion d'espaces insécables avec les guillemets « » ;
  • on n'utilise que très rarement plusieurs caractères tels que "<>()_+-/* à la suite, contrairement aux chiffres ;
  • dans le cadre d'une utilisation professionnelle, et contrairement à une discussion type IRC, on a très souvent recours aux nombres pour exprimer des quantités, des montants ou des dates - et dans ce cadre-là, l'utilisation du ShiftLock est malpratique ;
  • l'utilisation du pavé numérique est fortement déconseilée à ceux qui utilisent la souris de la main droite (soit la quasi-totalité des utilisateurs), car cause de positionnement dyssymétrique ; mais si les chiffres ne sont pas en accès direct, difficile de s'en passer !

Ce point a déjà largement été débattu ; plutôt que de militer pour mettre les chiffres en accès direct, je propose d'utiliser la touche CapsLock de la façon suivante :

  • CapsLock On => chiffres en accès direct
  • CapsLock Off => chiffres sur la couche Maj

…et dans les deux cas, CapsLock ne sert plus à mettre quoi que ce soit en majuscules. Avec ça on peut se faire référencer par CapsOff.org. ;-)

Fichier xkb (version 0.6.6 modifiée)

Ce fichier implémente les suggestions ci-dessus et ajoute deux caractères :

  • le signe « ™ » en Maj+AltGr+{R}
  • le S long « ſ » en Maj+AltGr+{S}
 key <TLDE> { type[group1] = "FOUR_LEVEL"               , [ dollar         , numbersign  , section         , paragraph            ] }; // $ # § ¶ 
 key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl       , 1           , at              , doublelowquotemark   ] }; // " 1 @ „ 
 key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less           , 2           , guillemotleft   , leftdoublequotemark  ] }; // < 2 « “ 
 key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright , 3           , greater         , rightdoublequotemark ] }; // > 3 » ” 
 key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft      , 4           , bracketleft     , leftsinglequotemark  ] }; // ( 4 [ ‘ 
 key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright     , 5           , bracketright    , rightsinglequotemark ] }; // ) 5 ] ’ 
 key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ emdash         , 6           , endash          , notsign              ] }; // — 6 – ¬
 key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus           , 7           , plusminus       , degree               ] }; // + 7 ± ° 
 key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus          , 8           , notsign         , minutes              ] }; // - 8 – ′ 
 key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash          , 9           , division        , seconds              ] }; // / 9 ÷ ″ 
 key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk       , 0           , multiply        , VoidSymbol           ] }; // * 0 × 
 key <AE11> { type[group1] = "THREE_LEVEL"              , [ equal          , asciicircum , notequal                               ] }; // = ^ ≠ 
 key <AE12> { type[group1] = "THREE_LEVEL"              , [ percent        , grave       , U2030                                  ] }; // % ` ‰ 
 
 key <AD01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ b              , B           , bar                 , brokenbar            , b               , B           ] }; // b B | ¦ 
 key <AD02> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ eacute         , Eacute      , dead_acute          , dead_doubleacute     , eacute          , Eacute      ] }; // é É ´ ” 
 key <AD03> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ p              , P           , ampersand           , VoidSymbol           , p               , P           ] }; // p P & 
 key <AD04> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ o              , O           , oe                  , OE                   , o               , O           ] }; // o O œ Œ 
 key <AD05> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ egrave         , Egrave      , dead_grave          , grave                , egrave          , Egrave      ] }; // è È ` ` 
 key <AD06> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ dead_circumflex, exclam      , dead_caron          , exclamdown           , dead_circumflex , exclam      ] }; // ^ ! ˇ ¡
 key <AD07> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ v              , V           , VoidSymbol          , VoidSymbol           , v               , V           ] }; // v V
 key <AD08> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ d              , D           , eth                 , ETH                  , d               , D           ] }; // d D ð Ð 
 key <AD09> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ l              , L           , UFE63               , VoidSymbol           , l               , L           ] }; // l L /
 key <AD10> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ j              , J           , U0133               , U0132                , j               , J           ] }; // j J ij IJ 
 key <AD11> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ z              , Z           , schwa               , SCHWA                , z               , Z           ] }; // z Z ə Ə 
 key <AD12> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ w              , W           , dead_breve          , VoidSymbol           , w               , W           ] }; // w W ˘
 
 key <AC01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ a              , A           , ae                  , AE                   , a               , A           ] }; // a A æ Æ
 key <AC02> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ u              , U           , ugrave              , Ugrave               , u               , U           ] }; // u U ù Ù
 key <AC03> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ i              , I           , dead_diaeresis      , dead_abovedot        , i               , I           ] }; // i I ¨ ˙
 key <AC04> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ e              , E           , EuroSign            , UFDD1                , e               , E           ] }; // e E € ¤
 key <AC05> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ comma          , semicolon   , ccedilla            , Ccedilla             , comma           , semicolon   ] }; // , ; ç Ç
 key <AC06> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ c              , C           , copyright           , VoidSymbol           , c               , C           ] }; // c C ©
 key <AC07> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ t              , T           , thorn               , THORN                , t               , T           ] }; // t T þ Þ
 key <AC08> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ s              , S           , ssharp              , U017F                , s               , S           ] }; // s S ß ſ 
 key <AC09> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ r              , R           , registered          , trademark            , r               , R           ] }; // r R ®
 key <AC10> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ n              , N           , ntilde              , Ntilde               , n               , N           ] }; // n N ñ Ñ
 key <AC11> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ m              , M           , dead_macron         , masculine            , m               , M           ] }; // m M ¯ º
 key <BKSL> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ ccedilla       , Ccedilla    , dead_cedilla        , VoidSymbol           , ccedilla        , Ccedilla    ] }; // ç Ç ¸
 
 key <LSGT> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ ecircumflex    , Ecircumflex , slash               , VoidSymbol           , ecircumflex     , Ecircumflex ] }; // ê Ê /
 key <AB01> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ x              , X           , backslash           , VoidSymbol           , x               , X           ] }; // x X \
 key <AB02> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ y              , Y           , braceleft           , leftsinglequotemark  , y               , Y           ] }; // y Y { ‘
 key <AB03> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave         , Agrave      , braceright          , rightsinglequotemark , agrave          , Agrave      ] }; // à À } ’
 key <AB04> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ period         , colon       , ellipsis            , periodcentered       , period          , colon       ] }; // . : … ·
 key <AB05> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ k              , K           , asciitilde          , dead_tilde           , k               , K           ] }; // k K ~ ~
 key <AB06> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ apostrophe     , question    , cent                , questiondown         , apostrophe      , question    ] }; // ' ? ¢ ¿
 key <AB07> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ q              , Q           , dead_abovering      , VoidSymbol           , q               , Q           ] }; // q Q °
 key <AB08> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ g              , G           , mu                  , VoidSymbol           , g               , G           ] }; // g G µ 
 key <AB09> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ h              , H           , dagger              , doubledagger         , h               , H           ] }; // h H † ‡
 key <AB10> { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ f              , F           , dead_ogonek         , ordfeminine          , f               , F           ] }; // f F ? ª
 
 key <SPCE> { type[group1] = "FOUR_LEVEL"          , [ space, nobreakspace, underscore, U202F ] };
 include "level3(ralt_switch)"

Ce qui me saoule dans le Bépo…

…c'est que des lettres sont placées hors des deux zones principales de frappe : je trouve que {Z}, {W} et {Ç} sont particulièrement inconfortables.

Le Bépo reste cohérent avec son objectif — le français et rien d'autre — dans la mesure où W et Z sont très rares en français ; c'est essentiellement pour le développement et pour d'autres langues (anglais / allemand) que la position de W et Z me gêne. Ce n'est donc pas une critique du Bépo, mais plutôt le constat qu'en l'état, il est peu adapté à mon utilisation.

Pour ceux que ça intéresse, je propose une piste pour remettre toutes les lettres dans les zones principale de frappe : utiliser une touche morte pour À/È/Ç. C'est pas simple, ça suppose de grosses modifs, à chacun de voir si le jeu en vaudrait la chandelle. (Mise à jour : je me suis rendu compte après coup que c'est exactement ce qu'a fait Francis Leboutte pour sa dispo Dvorak-fr… et il a raison !)

Pour les autres, je les laisse méditer sur une citation honteusement extraite du canal IRC (2008/05/08) :

(20:51:11) ***labnico a mal aux auriculaires, surtout le droit, depuis qu'il est en bépo

Variante « Bépo-intl »

Un aperçu de ce que je teste en ce moment :

╭─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────╮
│ #   │ │ "   │ «   │ »   │ (   │ )   │ │ +   │ <   │ >   │ /   │ *   │ │ @   │ µ   │
│ $   │ │ 1   │ 2   │ 3   │ 4   │ 5   │ │ 6   │ 7   │ 8   │ 9   │ 0   │ │ =   │ %   │
╰─────╯ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┤
        │ B   │ É   │ P   │ O   │ W   │ │ !   │ V   │ D   │ L   │ J   │ │ _   │     │
        │     │     │     │     │     │ │ `   │     │     │     │     │ │ - — │     │
        ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────╯
        │ A   │ U   │ I   │ E   │ ;   │ │ C   │ T   │ S   │ R   │ N   │ │ M   │ ╭-----╮
        │     │   ^¨ │     │ ,   │ │     │     │     │     │     │ │     │ ¦ Ç   ¦
╭-----╮ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ╰─────╯ ¦     ¦
¦ Ê   ¦ │ X   │ Y   │ Z   │ :   │ K   │ │ ?   │ Q   │ G   │ H   │ F   │         ╰-----╯
¦     ¦ │     │     │     │ .   │     │ │ '   │     │     │     │     │
╰-----╯ ╰─────┴─────┴─────┴─────┴─────╯ ╰─────┴─────┴─────┴─────┴─────╯
                  ╭───────┬─────────────────────────┬───────╮
                  │  Alt  │                         │ AltGr │
                  │       │                         │       │
                  ╰───────┴─────────────────────────┴───────╯

C'est moins « élégant » qu'une dispo sans lettre hors des pavés principaux, mais en pratique ça résoud déjà l'essentiel des reproches que je fais au Bépo, sans trop casser la disposition existante.

Pour le bla-bla, voir la page Bépo-international.