Xavier Lamorlette

Clavier programmeur bilingue

Voici la disposition des touches que je me suis définie, adaptée à mon travail de programmeur bilingue, et la méthode que j'ai employée pour y arriver.


Sommaire :

Motivation

Dilbert Keyboard Upgrades

Mon activité principale est la programmation. Et lorsque j'écris, c'est aussi bien en anglais qu'en français.

J'utilisais donc un clavier français (azerty). Mais celui-ci présente des inconvénients :

J'ai donc essayé de remédier à cela en me définissant ma propre disposition de clavier, optimisée pour écrire aussi bien en français qu'en anglais, et permettant également d'accéder facilement aux caractères utilisés en programmation.

Principes de dispositions des touches

Pour définir la disposition des touches, j'ai appliqués les principes suivants (en partie repris sur ceux des dispositions type Dvorak) :

En regardant touche par touche avec quelle facilité elle peut être atteinte, j'ai déduit le schéma suivant d'ordre d'attribution des touches :

ordre de choix des touches

Statistiques collectées pour le français et l'anglais

Pour obtenir les fréquences d'apparation des lettres en français et en anglais, j'ai tout d'abord cuisiné diverses sources trouvées sur internet.

Puis j'ai collecté, pendant plusieurs mois, des statistiques sur mon utilisation réelle, grâce à un “key logger” (j'ai utilisé KidLogger qui m'a semblé sérieux, et dont le format des fichiers de log leur permet d'être traité facilement).

Voici les chiffres obtenus (les fréquences sont exprimèes en pour mille) :

FrançaisAnglaisMoyenne normaliséeUtilisation réelle
a77827877
b9151212
c34293142
d40414040
e153123136128
f11221616
g11201516
h8563219
i77727370
j4236
k0736
l60415052
m30252727
n74707165
o56766568
p30192430
q12167
r68616467
s85647373
t74918177
u61284444
v15101217
w020108
x5237
y319119
z1111
à5022
ç1001
è4022
é2301110
ê2011
ù0000
î1000
â0000
ô0000
û0000

Pour les fréquences d'apparition des bigrammes, j'obtiens les chiffres suivants :

FrançaisAnglaisMoyenne normaliséeUtilisation réelle
re51405154
es72366154
on43354449
er36535049
le55184146
en56325046
in21574440
te35243339
de52173939
ou33233238
nt46334536
ai3882634
st16342834
ti24262830
is25262930
an33464530
co20101728
at17312728
ne2381728
it32263328
se30182727
or11272126
me25102026
ur2782025
ar17171924
la2982123
th3855023
to7292022
ra20111722
he7734522

Enfin, avec les caractères de ponctuation, par fréquences décroissantes :

CaractèreUtilisation réelle
e118
a71
t71
s67
i64
o62
r62
n60
l48
u40
c39
d37
p28
m25
h17
v16
f15
g15
b15
é9
.9
y8
w7
'7
-7
q6
x6
,6
06
j6
k6
15
24
:3
?3
43
53
/3
32
62
)2
(2
82
"2
!2
à2
è2
72
91
;1
_1
z1
ç1
ê1
+1
&1
=1
@1

Programme d'optimisation de la répartition des touches

Pour répartir les touches entre les deux mains, j'ai écrit un programme qui, à partir des données ci-dessus, cherche à maximiser l'équilibre de la répartition entre les deux mains, et les bigrames sur une même main.

Pour une répartition des touches entre les deux mains, je définis un score qui est la somme des deux termes suivants :

J'ai tout d'abord implémenté une algorithme de recherche de proche en proche, mais il convergeait très rapidement vers des optimums locaux.

J'ai donc ensuite programmé une recherche exhaustive. Il y a 300 540 195 distributions possibles. Leur exploration prit 7 minutes sur un cœur cadencé à 2,5 GHz.

Le code est sous GitHub: https://github.com/xlamorlette/optimiseur-clavier.

Disposition déduite

La meilleure distribution des lettres trouvée est la suivante :

Après quelques arbitrages et optimisations manuels, on obtient la disposition suivante :

clavier Xavier Lamorlette

Note : j'ai inversé le backspace (suppression arrière) et le capslock (verrouillage majuscule) car le backspace est beaucoup plus utile que le capslock.

Pilote

On crée le pilote du clavier avec Microsoft Keyboard Layout Creator.

Notes :

Voici le résultat : installateur du clavier codeur bilingue.

Archive - Corriger AltGr avec AutoHotKey

Pour désactiver les raccourcis Windows déclenchés par l'utilisation de Alt Gr (qui est considérée comme un équivalent de Alt+Ctrl), il faut :



La dernière mise à jour de cet article date de décembre 2021.

Le contenu de ce site est, en tant qu'œuvre originale de l'esprit, protégé par le droit d'auteur.
Pour tout commentaire, vous pouvez m'écrire à xavier.lamorlette@gmail.com.