L’année dernière un peu avant Noël, j’ai commencé à développer une douleur assez soutenue aux mains. C’était très handicapant parce que je ne pouvais plus taper au clavier “traditionnel”. La douleur, qui n’apparaissait au début que lorsque je tapais du texte, s’est ensuite installée même au repos. Une douleur diffuse dans toute la main.
Au début, la douleur s’estompait après un jour de repos. Puis il en a fallu deux, puis trois… jusqu’au jour où elle ne partait plus du tout.
Autant le dire tout de suite, je n’avais pas une bonne technique de frappe, mais le problème était ailleurs je pense : la sur-utilisation de certains doigts et l’angle des mains inadapté à ma morphologie.
Très rapidement j’ai commandé un Corne v4 (46 touches) sur AliExpress, arrivant pile-poil dans la période où ils devenaient abordables, environ 70€ switchs inclus.
Note: pour ceux qui seraient tenté d’un achat sur AliExpress d’un clavier de ce type, n’oubliez pas de flasher de firmware avec l’officiel. On ne sait pas ce qu’il y a sur celui pre-installé. En filaire c’est moins risqué qu’en sans-fil, mais la prudence est requise.
Pour moi, c’était un grand changement.
Apprendre à taper sur un split
Quand vous avez tapé toute votre vie à 5 ou 6 doigts, sans technique et en regardant le clavier, le passage au split relève de la folie. Il ne faut plus bouger ses mains au-dessus du clavier mais seulement bouger les bons doigts, en restant sur la fameuse home-row.
Cette étape seule m’a empêché de dépasser les 20 mots/minute pendant 1 mois, et les 30 pendant 2 mois. Mais ce n’est pas tout.
Du fait de mes douleurs, je savais que je devais avoir une disposition des touches optimisée pour ne pas sur-utiliser à nouveau les mêmes doigts. J’ai alors dû choisir un layout optimisé pour le split. Autant vous dire qu’il y en a beaucoup, c’est un rabbit-hole sans fin.
Je me suis décidé à apprendre le Graphite, tapant principalement du code et de l’anglais. Un an après, je n’ai pas à me plaindre de ce choix. J’en suis pleinement satisfait même pour le français.
Sur les deux premiers mois, j’ai fait le changement total au travail et en perso. Heureusement que le code n’est qu’une petite partie du travail de développeur. J’ai aussi ajouté entre 30 et 60 minutes par jour, tous les jours, de MonkeyType et Keybr. Une vraie torture pour le dernier. Spoiler : j’ai vite lâché quand j’ai atteint les 40 mots/minute.
Un soulagement
Très rapidement les douleurs ont disparu. C’est encore le cas aujourd’hui, sauf quand je dois taper à nouveau en Azerty sur un clavier standard (non-split), ce que j’évite par esprit de conservation. Et puis autre chose est apparu : la fatigue oculaire. Eh oui, parce qu’avant je ne regardais pas l’écran en continu, mais depuis l’apprentissage du touch-typing, mes yeux sont rivés dessus. Ils n’étaient pas encore bien adaptés.
Cet inconfort a duré quelques semaines, puis j’ai trouvé des solutions : plus de pauses écran, plus de pauses pour les yeux, et le vélo, plus de vélo !
Ne plus avoir mal fut un plaisir immense, c’est fou comme on apprend à vivre avec une douleur handicapante sans s’en rendre compte.
La découverte de plus d’efficacité
Ce n’est pas un secret, je travaille à 99% dans mon terminal : Zellij, Helix et Yazi sont mes outils quotidiens. Avec un clavier traditionnel, leur usage est efficace mais pas très confortable. Les raccourcis sont pensés pour du Qwerty, et encore, c’est pas toujours super.
J’ai toujours trouvé la navigation au clavier en Azerty assez complexe, avec une disposition des touches type Ctrl Alt Shift peu pratique.
L’avantage des claviers split, c’est qu’ils rendent ces combinaisons extrêmement accessibles ; la navigation devient fluide. Avec une petite configuration, c’est encore mieux. J’utilise le home-row mod, un peu modifié. Pour ceux qui ne connaissent pas, c’est le fait d’attribuer aux touches de la home-row (celles où vos doigts se reposent naturellement) des actions supplémentaires si elles sont maintenues, double-tapées, etc.
Sur un layout comme Graphite, c’est une mauvaise idée. Comme cette disposition est optimisée pour utiliser le plus possible la home-row, cela déclenche trop de frappes involontaires. La solution ? Déplacer ces modificateurs sur la rangée du bas : on passe donc en “bottom-row mods”.
Pour créer un nouveau tab dans Zellij, l’enchainement Ctrl + p + n (nouveau pan) devient extrêmement facile, sans aucun mouvement de poignet. Quand on multiplie cette simplicité sur tous les raccourcis possibles, c’est un confort que je ne connaissais pas avant. Toute action était plus difficile.
Au quotidien cela change la navigation. Je crois fermement que plus les interactions avec son environnement sont faciles, plus on en fait. C’est le cas pour moi. J’ose plus changer de tab/pan, je navigue plus facilement dans mes fichiers, etc. De fait, j’utilise encore moins la souris, ce qui me fait gagner en confort et efficacité.
Je n’en ai pas parlé mais j’ai aussi eu des douleurs avec la souris. Le passage en souris ergo (cette fois-ci fournie par l’employeur) a résolu le problème assez rapidement.
Le véritable changement de paradigme a été d’oublier les touches pour penser en mouvements et en positions. Je ne me dis plus “il faut faire Ctrl + t”, mais “il faut exécuter telle sequence” pour ouvrir un onglet. C’est devenu naturel comme faire du vélo.
Coder en split demande de l’adaptation
Mon clavier a 46 touches physiques dont 4 qui permettent de contrôler directement le son et la luminosité, il m’en reste donc 42 utiles. Les zones pour les pouces suppriment 6 touches pour les caractères disponibles, on se retrouve avec 36 touches, 18 par côté, pour les lettres et symboles.
MAIN GAUCHE MAIN DROITE
.------------------------------------------. .-----------------------------------------.
| Tab | B | L | D | W | Z | Vol- | | Vol+ | ' | F | O | U | J | = |
|-----+-----+-----+-----+-----+-----+------| |------+-----+-----+-----+-----+----+-----|
| Esc*| N | R | T | S | G | Bri- | | Bri+ | Y | H | A | E | I | ; |
|-----+-----+-----+-----+-----+-----+------| |------+-----+-----+-----+-----+----+-----|
|Shift| Q* | X | M* | C* | V | | | | P | K | . | ' | , | $ |
'-----------------------------------+------' '-----------------------------------------'
| Magic | Layer | Spc*| | Ent*| Bksp| Del*|
'---------------------' '-----------------'
Les colonnes extérieures gardent des fonctions de symboles/actions. Comme beaucoup de devs, j’utilise la substitution esc sur verr. maj, et c’est tout. Rien d’original sur cette partie.
Pour éviter de naviguer sur 3 layers à chaque fois que je cherche un symbole, j’ai simplement surchargé certaines touches pour en faire des combinaisons pratiques :
shmaintenues donnent $hamaintenues donnent |>- etc pour d’autres symboles, du type
<,>,=>,->,:, …
Une fois les premiers jours passés, tout devient naturel. Je ne sais même pas quelles touches j’utilise pour taper le :, mais je sais le faire instinctivement.
Je me retrouve même face à un nouveau problème : dans les cas où je dois taper sur un clavier classique, comment coder sans tout cela ? C’est tellement plus laborieux.
Un an après
Je ne peux plus m’en passer, vous l’aurez compris. J’aurais aimé faire le passage plus tôt. Le point bloquant reste la vitesse de frappe difficile à regagner. Je bloque actuellement sur de l’anglais aux alentours de 60 mots par minute en moyenne (MonkeyType), avec des pics sur des mots plus faciles à 90. Vous me direz, l’objectif n’a jamais été la vitesse mais le confort, et c’est vrai.