Utilisateur:Kaze/Bépo-intl

De Disposition de clavier bépo
Attention

Page en cours de construction

Le Bépo ne me convenant pas pour la prog, l'anglais ou l'allemand, je teste quelques modifs.

Les schémas de cette page sont représentés en colonnes pour traduire l'affectation des touches selon les méthodes de dactylographie courantes — à chaque colonne correspond un doigt et un seul.


Attention

Tous les schémas de cette page ne sont que des pistes de réflexion. Pour en tirer des propositions il faudrait bosser sur la question à grands coups de stats et de tests.

Problème constaté

  • le W est très mal placé sur la disposition Bépo : ce n'est pas gênant pour le français, mais c'est rédhibitoire pour la prog ou l'allemand ;
  • le Z, très courant en allemand, est lui aussi mal placé sur la disposition courante ;
  • les digrammes </ et />, très courants de nos jours (HTML/XML), sont particulièrement pénibles — ce qui est d'autant plus regrettable qu'ils sont très faciles sur un clavier Qwerty standard.

En l'état, je trouve le Bépo moins adapté à la prog que l'antique Qwerty ou même l'Azerty (moyennant une petite adaptation de la couche AltGr pour avoir les accolades et les crochets sous la main gauche).

Par ailleurs, je doute fortement qu'une disposition ergonomique limitée au français puisse susciter un engouement général. Développer une disposition de clavier c'est bien, mais c'est encore mieux si elle peut être largement utilisée.

Vers un « Bépo-international » : Bépow!

Principe

Pour rendre le Bépo plus polyvalent sans casser toute la disposition :

  • on remplace l'accent circonflexe mort par un accent grave mort, ce qui permet de caser W et Z sous la main gauche ;
  • l'accent circonflexe mort prend la place de « Ù » en AltGr+{U}, le hatchek passe en Shift+AltGr+{U} ;
  • les guillemets anglais et allemands sont regroupés en Shift+AltGr+[1-3].
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│ #  │ 1 │ 2 │ 3 │ 4  │ 5  ║ 6  │ 7  │ 8  │ 9  │ 0  │ ^  │ `  ║        ║
│ $  │ " —│ « <│ » >│ ( [│ ) ]║ @  │ +  │ -  │ /  │ *  │ =  │ %  ║ <--    ║
╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║  |<-  ║ B  │ É  │ P  │ O  │ W  ║ !  │ V  │ D  │ L  │ J  │    │    ║   | ║
║  ->|  ║   |│    │   &│   œ│    ║ `  │    │    │    │    │ zw  ║ <-' ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║ A  │ U  │ I  │ E  │ ;  ║ C  │ T  │ S  │ R  │ N  │ M  │ Ç  ║    ║
║  CAPS  ║   æ│   ^¨│   €│ ,  ║    │    │    │    │    │    │    ║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩════╣
║   ^  ║  Ê │ X  │ Y  │ Z  │ :  │ K  ║ ?  │ Q  │ G  │ H  │ F  ║     ^     ║
║   |  ║   /│   \│   {│   }│ . …│   ~║ '  │    │    │    │    ║     |     ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦═════╣
║       ║      ║     ║ Espace insécable          ║     ║      ║     ║     ║
║ Ctrl  ║ WinG ║ Alt ║ Espace            _       ║AltGr║ WinD ║WinM ║Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩═════╝

C'est le minimum pour utiliser le fr-dvorak-bépo en anglais et allemand. On peut se créer très facilement une telle variante Bépo-intl en ajoutant une section dans le fichier xkb :

// fr-dvorak-bepo-intl
partial alphanumeric_keys
xkb_symbols "bepo-intl" {
    include "fr(bepo)"

    // guillemets
    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 > ”

    // accents morts : circonflexe et grave
    key <AD06> { type[group1] = "FOUR_LEVEL", [ dead_grave , exclam   , NoSymbol            , exclamdown           ] }; // ` !   ¡
    key <AC02> { type[group1] = "FOUR_LEVEL", [ u          , U        , dead_circumflex     , dead_caron           ] }; // u U ^ ˇ
  
    // W et Z sous la main gauche
    key <AD05> { type[group1] = "FOUR_LEVEL", [ w          , W        , NoSymbol            , NoSymbol             ] }; // w W    
    key <AB03> { type[group1] = "FOUR_LEVEL", [ z          , Z        , braceright          , rightsinglequotemark ] }; // z Z } ’
};

La disposition pourra ainsi être lancée avec un simple « setxkbmap fr -variant bepo-intl ».

Les touches z et w n'ont pas été réaffectées ; elles sont accessibles confortablement en AltGr, on peut donc y loger 8 diacritiques ou symboles supplémentaires. Cette modification libère aussi trois places en AltGr+{W} et AltGr+{!}.

Avantages

  • bien meilleure compatibilité avec l'anglais, l'allemand et la prog ;
  • le digramme « où » est facilité ;
  • de nombreuses places libres ;
  • meilleure cohérence des diacritiques.

Inconvénient

  • légère perte d'efficacité pour le français puisque ÈÀÇ requièrent désormais une touche morte.

Je pense que c'est très largement compensé par le gain de polyvalence… mais tout dépend évidemment de l'usage de chacun.

Variante sans {Ç} ni {Ê}

Principe

  • Ç passe en AltGr+{,} pour libérer une touche à droite et contribuer à alléger la charge de l'auriculaire ;
  • {Ê} est remplacé par une touche AltGr mort (◻), afin d'accéder plus facilement aux caractères spéciaux de la moitié droite du clavier :
    • ça ne symétrise pas les modifieurs, mais ça reste bien plus agréable pour accéder à la couche AltGr de la moitié droite du clavier ;
    • c'est applicable proprement sous toutes les plate-formes, contrairement au fait de redéfinir une touche Win ou Alt en AltGr : sous Windows™ et MacOS c'est une touche morte comme une autre, sous Linux cela correspond à ISO_Level3_Latch ;
  • tant qu'on y est, on échange {K} et {-}, c'est plus joli ;-)
╭─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────╮
│ #   │ │ "   │ «   │ »   │ (   │ )   │ │ +   │ <   │ >   │ /   │ *   │ │ @   │ µ   │
│ $   │ │ 1   │ 2   │ 3   │ 4   │ 5   │ │ 6   │ 7   │ 8   │ 9   │ 0   │ │ =   │ %   │
╰─────╯ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┤
        │ B   │ É   │ P   │ O   │ W   │ │ !   │ V   │ D   │ L   │ J   │ │ K   │     │
        │     │     │     │     │     │ │ `   │     │     │     │     │ │     │     │
        ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────╯
        │ A   │ U   │ I   │ E   │ ;   │ │ C   │ T   │ S   │ R   │ N   │ │ M   │ ╭-----╮
        │     │   ^¨ │     │ , ç │ │     │     │     │     │     │ │     │ ¦     ¦
╭-----╮ ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ ╰─────╯ ¦     ¦
¦    ¦ │ X   │ Y   │ Z   │ :   │ _   │ │ ?   │ Q   │ G   │ H   │ F   │         ╰-----╯
¦     ¦ │     │     │     │ .   │ - — │ │ '   │     │     │     │     │
╰-----╯ ╰─────┴─────┴─────┴─────┴─────╯ ╰─────┴─────┴─────┴─────┴─────╯
                  ╭───────┬─────────────────────────┬───────╮
                  │  Alt  │                         │ AltGr │
                  │       │                         │       │
                  ╰───────┴─────────────────────────┴───────╯

Avantages

  • encore plus polyvalent pour les langues étrangères :
    • les deux touches libres à droite peuvent contenir 4 diacritiques morts, 8 avec AltGr ;
    • les caractères en AltGr + [main droite] sont accessibles via la touche AltGr morte ;
  • réduction (sensible ?) de la charge des auriculaires, « Ê » et « Ç » n'étant plus sur ces doigts-là.

Inconvénients

  • perte d'efficacité pour le français, « Ê » et « Ç » n'étant plus accessible directement ;
  • AltGr pour les caractères accentués français (Ç), c'est nul.

L'accent circonflexe mort pourrait aussi être placé en AltGr+{E} afin de faciliter « ê » sur les claviers pc104, mais il faudrait alors faire « € » avec la touche monétaire morte.

Par souci de cohérence, « Ç » pourrait être en AltGr+{C} plutôt qu'en AltGr+{,}, puisqu'on dispose désormais d'une touche AltGr morte (du moins, sur les claviers pc104) ; le principal défaut serait que les digrammes « aç » comporteraient une répétition de l'auriculaire gauche.

Autre possibilité 

Sur la même base de travail, la version de NémOlivier, avec le xkb ici.

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗
│ # ¶│ 0  │ 1 ≤│ 2 ≥│ 3 “│ 4 ”│ 5  │ 6 °│ 7 ′│ 8 ″│ 9  │ @  │ µ  ║         ║
│ $ §│ " @│ < «│ > »│ ( [│ ) ]│ [  │ ]  │ / ÷│ * ×│ = ¬│ + ±│ % ‰║ <--     ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣
║  |<-  ║ B ¦│ É ˝│ P  │ O Œ│ W  │ ! ¡│ V  │ D Ð│ L  │ J IJ│ K Ə│mult║   |  ║
║  ->|  ║ b |│ é ´│ p &│ o œ│ w ˘│ ` ˇ│ v  │ d ð│ l /│ j ij│ k ə│    ║ <-'  ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗     ║
║        ║ A Æ│ U ˇ│ I ˙│ E ¤│ ; Ç│ C  │ T Þ│ S  │ R ™│ N Ñ│ M º│ Ç  ║     ║
║  CAPS  ║ a æ│ u ^│ i ¨│ e €│ , ç│ c ©│ t þ│ s ß│ r ®│ n ñ│ m ¯│ ç ¸║     ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩═════╣
║   ^  ║ Ê  │ X  │ Y ‘│ Z ’│ : ·│ — ~│ ? ¿│ Q Ø│ G  │ H ‡│ F ª║     ^      ║
║   |  ║ ê /│ x \│ y {│ z }│ . …│ - ~│ ’ '│ q ø│ g °│ h †│ f ˛║     |      ║
╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣
║       ║      ║     ║   nbsp          fine nbps ║     ║      ║     ║      ║
║ Ctrl  ║ WinG ║ Alt ║              _            ║AltGr║ WinD ║WinM ║ Ctrl ║
╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝

Des chiffres

Selon le corpus de Thomas Tempé (1 616 343 caractères) :

  • à : 7449
  • è : 4160
  • ù : 890

=> total « accent grave mort » : 12 499, c'est-à-dire entre la fréquence de « G » et « H ».

Sur ce corpus, l'utilisation d'une touche morte augmente donc le nombre de frappes de 0,72 %. Cela me parait parfaitement acceptable, surtout si l'accent grave mort est bien placé : de ce coté-là, il serait intéressant de placer cet accent mort en [O] ou [P], comme le suggère Nbrodu en page de discussion.

Conclusion

Les suggestions ci-dessus ne sont pas « clés en main », il faudrait les évaluer et les affiner.

Quoiqu'il en soit, il n'y pas de solution miracle qui améliorerait à la fois le français, la prog et les autres langues. Je crois qu'il faut donc accepter une légère perte de performance pour le français afin de gagner en polyvalence, toute la question étant de trouver le bon compromis.