Utilisateur:Kawamashi

De Disposition de clavier bépo

Lorsque j'ai acheté mon Ergodox, je me suis dit que tant qu'à être déstabilisé par les touches décalées verticalement et non plus horizontalement, autant en profiter pour apprendre un layout ergonomique. Étant francophone, je me suis naturellement tourné vers le BÉPO. Immédiatement, j'ai pu constater l'amélioration par rapport au QWERTY et à l'AZERTY : les doigts ne quittent quasiment pas la ligne de repos, c'est génial ! Néanmoins, après quelque temps, je me suis fait les réflexions suivantes :

  • Les 4 touches principales de pouce ne me paraissaient pas exploitées au maximum.
  • L'index gauche était très sollicité, avec notamment le E, le O, la virgule et le point.
  • L'annulaire droit avait une charge de travail comparable à l'index et au majeur de la même main, ce qui ne me paraissait pas logique.
  • Je ne trouvais pas confortable certains bigrammes courants (CH, AI, NS, ND, AP, PA, OU, OI, IO, E-point, E-virgule, etc).

J'ai alors commencé à déplacer des lettres, avant de me dire que je faisais sans doute plus de mal que de bien. En effet, je n'avais pas la moindre idée de la problématique derrière la conception d'un layout. Et puis il y a une phrase d'A2 qui m'avait marqué :

"La disposition bépo a été optimisée pour les claviers normalisés 104/105 touches. Pour les divers TMx/TrulyErgo/Ergodox et autres téléphones portables sur lesquels tout l'monde s'efforce d'« adapter » bépo en le martyrisant, essayez plutôt d'y optimiser une disposition de clavier adaptée, vous en profiterez un maximum et rendrez heureux les utilisateurs de ces engins de l'espace. [...] Je persiste et signe sur le fait que de réinventer des claviers physiques implique théoriquement de réinventer les dispositions de clavier qui vont avec. […] Je suis persuadé que [l'Ergodox] devrait avoir une disposition soignée pour lui seul. Il me semble le mériter plus que d'autres."

Je me suis donc mis en tête de concevoir le meilleur layout possible pour l'Ergodox, en repartant de zéro.


Présentation FR-Godox


Présentation FR-Godox numpad


Découverte de 4 layouts homemade

J'ai commencé mes recherches, et je suis tombé sur 4 layouts homemade qui m'ont influencé : tout d'abord le BÉPO pour Ergodox de Fabien et le BÉOP de Laurent, puis le Kaehi et le Workman.

Fabien a eu l'excellente idée de placer le E sous l'une des touches de pouce de son Ergodox. Voilà une bonne façon d'exploiter le 2e pouce ! De plus, ça libère de la place pour avoir le tiret de manière accessible. En effet, le tiret est presque autant employé que le ^, et plus que le X, ce n'est pas judicieux de le reléguer sur la rangée des chiffres.

Du BÉOP et du Kaehi, j'ai retenu le principe des roulements, à savoir le fait d'enchainer un caractère avant d'avoir relâché la touche du caractère précédent. Les roulements faciles (comme ceux de deux doigts adjacents, ou bien ceux qui utilisent l'auriculaire suivi de l'index) sont plus rapides et plus confortables à effectuer que deux frappes impliquant l'alternance des mains. Par contre, il faut éviter autant que possible les roulements peu naturels, comme ceux qui utilisent l'auriculaire suivi du majeur. Ces principes n'étaient pas connus lors de la conception du BÉPO.

Il faut également privilégier les digrammes à une seule main vers l'intérieur et éviter ceux vers l'extérieur. Un exemple parlant : sur une table, il est bien plus simple de taper avec tous ses doigts de l'annulaire vers l'index que l'inverse.

Le Workman prend pour hypothèse que les doigts se déplacent verticalement plus facilement que latéralement. Plus précisément, l'index et l'auriculaire se plient plus facilement que de s'étendre, contrairement au majeur et à l'annulaire. Par conséquent, certaines touches de la rangée du bas sont plus accessibles que d'autres sur la rangée du haut. De plus, l'index et le majeur étant plus forts que l'annulaire et l'auriculaire, ils devront être plus exploités par le layout.

Dans le même registre, il y a deux règles de KeyboardEvaluator qui m'ont semblées particulièrement intéressantes : un digramme montant est d'autant plus facile qu'il se fait d'un doigt court vers un doigt plus long. À l'inverse, un digramme descendant est d'autant plus facile qu'il se fait d'un doigt long vers un doigt plus court.

En résumé, je voulais que mon futur layout réponde aux critères suivants :

  • Placement du E sous l'un des pouces.
  • Privilégier les mouvements verticaux aux mouvements horizontaux des doigts.
  • Prise en compte de la longueur des doigts pour l'accessibilité des touches et les bigrammes sur des lignes différentes.
  • Prise en compte de la force des doigts dans leur fréquence d'utilisation.
  • Privilégier les bigrammes vers l'intérieur à ceux vers l'extérieur.
  • Privilégier les bons roulements à l'alternance de mains.
  • Éviter les mauvais roulements.


Le FR-Godox

Présentation FR-Godox

Placement des touches d'édition et des modificatrices

Je voulais avoir les touches d'édition les plus utilisées (entrée, tab, backspace, escape, copier et coller) à gauche pour pouvoir les utiliser avec la souris dans la main droite. Pour la même raison, j'ai placé une touche espace secondaire à gauche. De plus, la touche espace principale étant frappée avec la main droite, celle-ci sera forcément plus utilisée que la gauche. Placer les touches d'édition à gauche rééquilibre la charge de travail des deux mains.

L'Ergodox fonctionnant sous QMK, on peut utiliser des touches à double fonction : ces touches envoient un caractère lors d'un appui simple, et sont considérées comme des modificatrices lors d'un appui long. Cela me permet d'exploiter au maximum les meilleurs emplacements, en plaçant les modificatrices qui n'ont aucune action lors d'un appui simple (shift, alt, alt gr, ctrl) en seconde fonction d'une autre touche. On trouve notamment shift sous les touches principales des pouces, ce qui est extrêmement confortable.

La place ainsi libérée me permet d'avoir home et end sur des touches très accessibles, ainsi que des raccourcis pour copier, coller et couper à gauche, ainsi qu'annuler, rétablir et un pavé de flèches de l'autre côté. Ça permet également d'avoir un Alt Gr de chaque côté. À l'usage, je trouve très ergonomique d'avoir les shift sous les pouces, les touches d'édition regroupées à gauche et certains raccourcis clavier très utilisés en accès direct.


Couche pavé numérique / programmation et ligne supérieure

Présentation FR-Godox numpad

QMK permet également d'avoir plusieurs "couches". J'en ai créée une 2e pour avoir un vrai pavé numérique à droite. Avec un clavier ortholinéaire, ce serait dommage de ne pas en profiter ! J'ai mis un pavé de flèches sur les positions de repos de la main gauche, ainsi que les symboles ouvrants/fermants les plus utilisés notamment en programmation.

On bascule sur cette couche grâce aux touches avec le symbole ⎆ sur la couche 1 : soit en appuyant sur la touche en dessous de la touche entrée, soit en maintenant enfoncée l'une des touches de pouce secondaire.

Vu que les chiffres sont très facilement accessibles avec la couche 2, j'ai complètement remanié la ligne supérieure de la couche principale :

  • J'ai enlevé les symboles qui font doublon avec la couche 2.
  • J'ai mis les symboles dont je me sers le plus aux meilleurs emplacements.
  • J'ai ajouté des raccourcis multimédia et une touche d'aide-mémoire.


Couche ALT GR

Présentation FR-Godox ALT GR

Pour plus de facilité d'installation logicielle, j'utilise simplement la disposition BÉPO sur l'OS. Du coup, la couche alt-gr est la transposée de celle du BÉPO.


Aide mémoire

J'ai repris l'idée de l'aide-mémoire de Fabien. J'ai programmé un petit script AutoHotKey qui m'affiche une image du layout lorsqu'on appuie sur la touche correspondante (la touche rouge en haut à droite), suivant la couche sur laquelle je me trouve. C'est très pratique pour retrouver l'emplacement d'un symbole dont on se sert rarement !


Comparaison avec le BÉPO

Statistiques générales

Les deux layouts et leur heatmap

Heatmap FR-Godox

On peut constater que la carte d'accessibilité dont je me suis servi se superpose bien à la heatmap du FR-Godox.

Pour l'adaptation du Bépo à l'Ergodox, j'ai repris un layout qui a circulé à plusieurs reprises sur le topic associé, qui me parait logique et qui exploite relativement bien l'Ergodox :

Heatmap Ergobepo

Distance, fréquence d'utilisation des doigts et des mains

freq_doigts FR-Godox
freq_doigts Ergobepo

La première chose qu'on peut noter, c'est que les doigts parcourent 15% de moins avec le FR-Godox qu'avec le Bépo pour écrire le corpus de Nicolas Chartier. Avec l'Azerty, la distance monte à près de 54 000m !

Le FR-Godox équilibre un peu mieux la charge de travail des deux mains que l'ErgoBépo. Il faut noter que j'ai fait mes statistiques en tenant compte des touches espace, entrée et shift, contrairement aux statistiques présentées sur la page d'accueil du site. Ça me parait plus représentatif.

De plus, l'index droit retrouve une charge de travail "normale", étant déchargé par le pouce gauche. De même, l'annulaire droit est moins sollicité, ce qui était l'un de mes objectifs.

Voilà la fréquence d'utilisation des doigts pour chacun des layouts, quand on cumule les deux mains :

freq_doigts cumul

La charge de travail supplémentaire sur les pouces permet d'avoir une fréquence d'utilisation plus équilibrée sur tous les autres doigts. Tous les doigts ont une fréquence d'utilisation cohérente avec leur force.


Accessibilité des touches

access_touches

Les touches notées 1 sont les plus simples à presser (ce sont celles des positions de repos), celles notées 5 les plus difficiles (cf partie suivante).

Il y a donc plus de 70% des caractères du corpus qui utilisent des touches de catégorie 1 du FR-Godox (donc la rangée de repos). Cette disposition permet d'avoir 83.5% des touches du corpus situées sur des touches de catégorie 1 ou 2, et 97.3% sur des touches de catégorie 1, 2 ou 3 !


Statistiques concernant les digrammes

Statistiques générales

digr_general

On sent que cette catégorisation de digramme a été prise en compte lors de la conception du Bépo : les chiffres du FR-Godox sont quasiment similaires. Néanmoins, ce dernier compte +13% de digrammes vers l'intérieur (que j'ai cherché à privilégier), et -21,5% de digrammes utilisant le même doigt. En effet, ce sont ces digrammes qui sont les plus pénibles à taper.


Accessibilité des digrammes à une main

J'ai noté entre 1 et 9 tous les digrammes à une main. Un bigramme noté 1 est extrêmement simple à effectuer (par exemple deux touches adjacentes sur la ligne de repos, vers l'intérieur), un bigramme noté 9 est très difficile. Voilà un graphique présentant l'accessibilité de tous les digrammes :


access_digr

70% des digrammes sont donc faciles à taper (catégories 1, 2 et 3), on monte quasiment à 90% en ajoutant les digrammes de catégorie 4 et 5 ! L'ErgoBépo est bien derrière, entre 15 et 20% à chaque étape, jusqu'à la catégorie 7.

Voilà d'autres statistiques qui peuvent expliquer ce résultat :


Doigts impliqués sur les bigrammes à une main

doigts_digr

Les bigrammes utilisant des doigts adjacents ou un roulement entre l'auriculaire et l'index sont faciles, ceux qui utilisent l'annulaire et l'index sont moyens et ceux qui utilisent l'auriculaire et le majeur sont difficiles.

Si on compare ces données, on constate que les 3/4 des digrammes du FR-Godox se réalisent avec un roulement facile, alors qu'il n'y en a que la moitié dans le cas du Bépo. De plus, de nombreux digrammes du Bépo utilisent l'auriculaire et le majeur, comme par exemple AI, NS, PA, ND, AP, BI, etc. Il y en a 7 fois moins avec le FR-Godox :

comparaison_roulements


Bigrammes à une main sur des lignes différentes et longueur des doigts

De la même manière, j'ai essayé de respecter la longueur des doigts pour les bigrammes sur des lignes différentes : un digramme montant est d'autant plus facile qu'il se fait d'un doigt court vers un doigt plus long. À l'inverse, un digramme descendant est d'autant plus facile qu'il se fait d'un doigt long vers un doigt plus court.

digr_lignes_diff

A l'évidence, cette règle n'était pas connue lors de l'élaboration du Bépo, puisque des digrammes très fréquents ne la respectent pas, comme OU, OI, IO, CH, etc. Le FR-Godox comprend 1,7 fois plus de digrammes qui la respectent, et quasiment 10 fois moins (!) de digrammes qui ne la respectent pas.


Making of

J'ai eu la chance de trouver la méthode ayant servi à Nicolas Chartier pour élaborer la version 0.1 du bépo. Il me fallait donc son corpus (la liste de textes de référence), les statistiques associées (les fréquence des symboles et des digrammes), ma carte d'accessibilité des touches et des digrammes, ainsi que des algorithmes de génération et d'évaluation des dispositions.

Voilà ma carte d'accessibilité, qui prend en compte la longueur des doigts et qui privilégie les mouvements verticaux aux mouvements horizontaux :

carte_access

Les touches notées 1 sont les plus simples à presser (ce sont celles des positions de repos), celles notées 5 les plus difficiles.

La carte d'accessibilité des bigrammes reprend le même principe mais pour les enchaînements de deux touches. J'ai bataillé pendant longtemps pour trouver une formule mathématique qui corresponde à mon ressenti, et aux critères que j'ai exposés plus haut. J'ai finalement préféré noter entre 1 et 9 tous les digrammes de manière empirique pour coller à la réalité. Un bigramme noté 1 est extrêmement simple à effectuer (par exemple deux touches adjacentes sur la ligne de repos, vers l'intérieur), un bigramme noté 9 est très difficile.

Comme il est impossible de tester toutes les dispositions possibles dans un temps raisonnable, j'ai employé la même méthode que Nicolas Chartier :

On suppose que les touches d'un même groupe dans la CAT ont la même accessibilité, et que de fait, la fréquence des symboles ne sert qu'à dire tel symbole va dans tel groupe, et c'est tout. Le positionnement des symboles au sein d'un groupe ne se fait qu'en utilisant les digrammes. […] On procède par groupe de touches, et groupe de symboles pour aller avec. On prend le premier groupe de touches, le groupe de symboles associés. On teste toutes les combinaisons possibles. Pour chacune des combinaisons, on va calculer [son] coût basé sur la façon dont vont être tapés les digrammes. […]

J'ai donc codé un algorithme de génération de dispositions. Celui-ci a en mémoire tous les digrammes du corpus ainsi que leur nombre d'occurrences, et ma carte d'accessibilité des digrammes. On entre quelques lettres à placer, leurs emplacements possibles et éventuellement des lettres déjà placées. L'algorithme va alors tester toutes les possibilités de placement, et classer les différentes dispositions obtenues selon l'accessibilité des différents bigrammes.

J'ai ainsi testé les différents groupes de symboles les uns à la suite des autres (pour plus de détails, voir la méthode de Nicolas Chartier), jusqu'à obtenir deux dispositions équivalentes. J'ai alors codé un deuxième algorithme pour obtenir les statistiques d'utilisation des doigts et des mains. J'ai retenu la disposition qui avait les statistiques d'utilisation des doigts les plus équilibrées.


Conclusion

J'utilise cette disposition avec satisfaction depuis quelques mois. Je pense avoir respecté mon cahier des charges. Je trouve que la frappe se fait avec beaucoup de fluidité, grâce au travail poussé sur les digrammes. À mon sens, le Bépo pêche clairement de ce point de vue là. Les digrammes qui me posaient problème se font facilement : CH, AI, NS, ND, AP, PA, OU, OI, IO, E-point, etc.

L'Ergodox est également une réelle avancée comparé aux claviers classiques, même si je pense qu'il y a moyen d'aller plus loin au niveau ergonomie. Les pavés de pouces gagneraient à être plus proches des blocs principaux, comme sur cet Ergodox modifié. Je pense d'ailleurs concevoir mon propre clavier à moyen terme.

Si vous souhaitez l'essayer, c'est très simple. Il vous suffit de flasher ce firmware dans votre Ergodox, de sélectionner la disposition Bépo côté OS, et c'est tout !