Mon clavier Dvorak

Il est basé sur la configuration standard dvorak qui est étudiée pour taper rapidement et agréablement au clavier, contrairement à l'azerty ou le qwerty. Les caractères spéciaux sont placés en fonction de leur utilisation en C++.
Il est même plus qu'une configuration de clavier, il comporte énormément de raccourcis pour faciliter et rendre plus rapide l'utilisation des logiciels, et plus spécifiquement le code.
Par exemple j'édite le fichier lapin.cpp dans Visual Studio, j'appuie sur "ctrl alt L" et ce fichier se retrouve sélectionné dans mon explorateur de fichier (xplorer²). C'est beaucoup plus pratique que d'aller rechercher le fichier soi-même.
Si j'appuie plutôt sur "alt L", le chemin complet du fichier est copié dans le presse-papier. Si je presse "ctrl L", c'est la même chose avec juste le nom du fichier.
Ces raccourcis fonctionnent également dans mon éditeur de texte (Notepad++), mon lecteur audio (Foobar) et mon explorateur de fichier (xplorer²).
Pour utiliser ma configuration de clavier, nul besoin d'acheter un nouveau clavier, je continue à taper sur mon azerty, grâce au logiciel Autohotkey.
Il est également très facile de le lancer sur d'autres machines, donc pas d'inquiétude pour utiliser sa configuration sur son lieu de travail par exemple.
Dvorak
Histoire
L'histoire est joliment racontée en BD chez dvzine.
En 1868, les premières machines à écrire utilisaient un clavier dans l'ordre alphabétique. Mais lorsque l'on tapait trop vite, les touches se bloquaient. La disposition qwerty fut alors inventée : les combinaisons de touches qui se suivent souvent furent éloignées afin de ralentir la frappe.
L'industrie se mis à l'utiliser mais la technologie évolua et le problème de blocage disparut.
Aujourd'hui les configurations de clavier les plus rependues restent le qwerty et l'azerty, pour des raisons historiques.
Le clavier dvorak a été inventé après des études afin de créer la configuration la plus ergonomique.
Dvorak standard

La configuration des touches du dvorak permet notamment de taper plus vite et de faire travailler moins les doigts, ce qui évite les troubles musculo-squelettiques.
Par exemple, les touches les plus utilisées se situent sous les doigts et l'alternance de main est favorisée.
Il s'apprend bien plus vite que l'azerty ou le qwerty, même si la phase de transition reste difficile.
Il est standardisé ANSI et présent sur Windows, Linux et MacOS, il suffit de l'activer.
Passer au dvorak permet aussi d'apprendre à taper à 10 doigts et sans regarder le clavier. Recopier un texte d'une feuille devient extrêmement rapide, les yeux ne quittent pas la feuille.
Le dvorak est standard en version américaine, mais pas en français.
Il existe plusieurs versions françaises dont celle de Francis Leboutte et celle de bépo.
Mon dvorak
Le clavier dvorak est très bien pour écrire du texte. Mais pour programmer ?
Il n'est pas prévu pour la programmation. J'ai donc décidé de l'adapter pour cet usage et plus spécifiquement pour le C++, le langage que j'utilise le plus.
Mais avant tout, lequel adapter ? Le dvorak américain ou un des dvorak français ?
Coder nécessite une majorité de mot anglais et le dvorak américain est standardisé. Mais je suis français et il me faut certains caractères spécifiques comme le 'é'.
Je penchais vers le dvorak américain et un article m'a finalement décidé : la différence d'efficacité entre les changements qwerty vers dvorak américain et azerty vers dvorak français est minime. Passer au dvorak français ou américain, tant que l'on passe au dvorak, cela n'a que peu d'incidence.
J'ai décidé d'utiliser le dvorak américain en y ajoutant les caractères français.
J'ai juste gardé les caractères alphabétiques du dvorak américain, en y ajoutant les caractères français, dont é à è ç.

La couleur verte sert uniquement à se repérer plus facilement.
Un des problèmes majeurs était les combinaisons de touches les plus utilisées : ctrl x, c et v pour effectuer couper, copier et coller. On ne peut plus les déclencher avec seulement la main gauche !
J'ai donc décidé de les remplacer par des touches situées à gauche du clavier (a, < et w en azerty), et d'utiliser la touche alt plutôt que ctrl car les doigts travaillent beaucoup moins. Lorsque je repasse en azerty et que j'utilise beaucoup ctrl xcv, mon petit doigt souffre un peu (control V n'est pas humainement naturel), alors que je ne le remarquai pas avant.
Une touche énormément utilisée est la touche Entrée. Je l'ai donc ajouté de manière à pouvoir y accéder sans perdre le contrôle du clavier, c'est à dire garder les doigts à proximité de leurs positions originales. Elle se trouve en vert sur l'image, au dessus de la position naturelle de la main droite.
J'ai étudié les caractères les plus utilisés en C++ afin de les placer intelligemment sur le clavier.
Par exemple les touches []{}() sont faciles d'accès, contrairement à l'azerty.
Mon clavier est adapté aux langages à la syntaxe voisine du C++, comme le C ou le Java.
Des touches de navigation sont intégrées à proximité des doigts. Par exemple en combinant la touche win (entre ctrl et alt) avec des touches situées sous la main droite, on peut déclencher les touches de direction haut, bas, gauche, droite.
Comment activer mon dvorak
Nul besoin d'acheter un nouveau clavier, il faut juste imprimer la représentation de mon clavier dvorak et la poser par exemple au pied de l'écran. Ainsi on apprend à taper sans regarder le clavier et avec 10 doigts. Les 8 touches sous les doigts en position repos sont : aoeu et htns (en vert sur l'image).
u et h sont sous chaque index, elles ont des petits crans pour les sentir sur la plupart des claviers.
Mon clavier s'active très aisément : il suffit de lancer un petit fichier exe qui tourne en fond (il ne prend que 3 Mo de mémoire chez moi). Il intercepte les touches et les remplace par d'autres ou par des actions plus complexes. On peut donc facilement l'utiliser sur d'autres ordinateurs.
J'utilise le logiciel Autohotkey pour implémenter mon clavier. Il possède un langage spécifique prévu pour manipuler les touches. On peut facilement changer une touche en une autre, accéder au presse-papier et effectuer des actions complexes comme la création d'une interface graphique.
Son utilisation est très simple : le fichier de script .ahk peut être lancé si on a installé Autohotkey, on alors on peut le compiler en fichier exécutable indépendant. Nul besoin de changer les paramètres système ou de redémarrer l'ordinateur.
Autohotkey est open-source et fonctionne sous Windows. Linux n'est pas supporté mais on peut y trouver des logiciels similaires.
Mon script est une surcouche à l'azerty, il faut donc être en azerty pour que le script fonctionne.
Télécharger mon clavier Dvorak développeur français
Dvorak_dev_fr.ahkDvorak_dev_fr.exe
Représentation du clavier à imprimer
AutoHotkey pour pouvoir lancer le .ahk.
Raccourcis
J'ai ajouté énormément de raccourcis, aussi bien l'édition de texte ou de code, l'exploitation de Windows et différents logiciels.
Par exemple l'équivalent du "ctrl shift c" azerty (alt shift a avec mon dvorak) dans Firefox a pour effet de copier l'adresse de la page web dans le presse-papier. "ctrl shift v" va à l'adresse présente dans le presse-papier. Ces mêmes raccourcis dans mon explorateur de fichiers ont pour effet respectivement de copier le chemin du dossier courant et d'aller dans le dossier voulu.
La plupart de mes raccourcis d'édition de texte fonctionnent dans tous les éditeurs de texte, je peux par exemple faire "ctrl shift suppr" dans une zone de texte de Firefox pour supprimer toute la fin de la ligne.
J'ai amélioré les possibilités de navigation dans un fichier texte avec des combinaisons telle que "alt bas" qui descend le curseur de 5 lignes.
Les raccourcis les plus utilisés sont prévus pour pouvoir être lancés avec seulement la main gauche.
Quelques raccourcis :
ctrl shift haut : déplace la ligne courante à la ligne au dessus
alt entrée : créé une nouvelle ligne après la ligne courante
alt shift entrée : créé une nouvelle ligne avant la ligne courante
ctrl 0 ('a' en azerty) : dupliquer la ligne courante
alt q : commenter la ligne courante avec //
ctrl q : insérer un ligne avec /* avant la ligne courante
ctrl shift q : insérer un ligne avec */ après la ligne courante
Ces 3 systèmes d'insertion de commentaires ne nécessitent pas de sélection, ils sont très pratiques à appeler sans se servir de la souris
ctrl alt q : dupliquer et commenter la ligne courante, utile quand on veut modifier une ligne tout en conservant l'originale.
ctrl 1 ('z' en azerty) : supprimer la ligne courante
alt ( : () et place le curseur au centre -> utile pour les fonctions en programmation
alt shift ( : (); avec le curseur au centre
alt { : place un bloc d'accolade ouvrant et fermant avec le curseur au centre et tabulé
Principaux logiciels auxquels mon script fait référence
AutoHotkeyxplorer²
Notepad++
Firefox
Visual Studio
Foobar2000
Find and Run Robot