Utilisateur:Kaze/Bépo-intl
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.
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 │ │ ║ | ║ ║ ->| ║ |│ │ &│ œ│ ║ ` │ │ │ │ │ z │ w ║ <-' ║ ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ ║ ║ 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.
Fichier XKB
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 est alors activée comme suit :
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 « développeur »
Principe
Sur la base de la version initiale :
- on déplace les diacritiques morts ^ˇ/¨˙ en [^/$] ;
- on met les accolades en AltGr+{U/I} et on passe les crochets en AltGr+{Y/Z} ;
- les deux places libérées en AltGr+{4-5} peuvent être attribuées à ≤≥ (ou autres).
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ # │ 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 │ Ç ║ ║ ║ CAPS ║ æ│ {│ }│ €│ , ║ │ │ │ │ │ │ ║ ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩════╣ ║ ^ ║ Ê │ X │ Y │ Z │ : │ K ║ ? │ Q │ G │ H │ F ║ ^ ║ ║ | ║ /│ \│ [│ ]│ . …│ ~║ ' │ │ │ │ ║ | ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦═════╣ ║ ║ ║ ║ Espace insécable ║ ║ ║ ║ ║ ║ Ctrl ║ WinG ║ Alt ║ Espace _ ║AltGr║ WinD ║WinM ║Ctrl ║ ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩═════╝
Avantages
- l'accès aux accolades (très utilisées dans la plupart des langages de programmation) devient efficace ;
- les crochets gagnent beaucoup en accessibilité ;
- les accents circonflexe et tréma sont plus faciles à utiliser, non seulement pour le français, mais aussi pour l'allemand (umlauts).
Inconvénients
Je cherche encore… Ce n'est pas parfait mais c'est une amélioration très nette pour la prog, l'anglais, l'allemand, ou l'édition de wikis, sans gros impact sur le français — voire même, je le trouve plus confortable pour le français, car j'ai horreur d'utiliser AltGr pour les caractères accentués (ù) ou les diacritiques morts : mon pouce n'est pas assez rapide pour lâcher AltGr à temps quand je tape vite. Bref, ça rend le bépo compatible avec mon utilisation.
Variante « traducteur », 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 ;
- Shift+{◻} pourrait être utilisé pour Compose (à vérifier) ;
- les guillemets anglais de second niveau passent en Shift+AltGr+[4-5] ;
- ¡¿ passent en AltGr+{!?}, c'est plus simple qu'en Shift+AltGr.
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ │ # │ 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 │ ║ ║ ║ CAPS ║ æ│ ^│ ¨│ €│ , ç║ │ │ │ │ │ │ ║ ║ ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩════╣ ║ ^ ║ │ X │ Y │ Z │ : │ K ║ ? │ Q │ G │ H │ F ║ ^ ║ ║ | ║ ◻ │ \│ {│ }│ . …│ ~║ ' ¿│ │ │ │ ║ | ║ ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦═════╣ ║ ║ ║ ║ Espace insécable ║ ║ ║ ║ ║ ║ Ctrl ║ WinG ║ Alt ║ Espace _ ║AltGr║ WinD ║WinM ║Ctrl ║ ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩═════╝
Avantages
- encore plus polyvalent pour les langues étrangères :
- les trois touches libres à droite peuvent contenir 6 symboles ou diacritiques morts, 12 avec AltGr ;
- les caractères en AltGr + [main droite] sont accessibles via la touche AltGr morte ;
- sur un clavier pc104, « Ç » est plus facile d'accès ;
- réduction (sensible ?) de la charge des auriculaires en français, « Ê » 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.