Apportez votre aide…
Ceci est une ancienne révision du document !
Comprendre la configuration du clavier
Le clavier et sa relation avec le système
Rappelons que les informations transmises par une touche du clavier au système (pilote clavier, noyau Linux et serveur X) n'ont ne sont pas directement liées au symbole graphique ou à l'évènement attaché à cette touche.
Ce qui est envoyé à l'ordinateur est en réalité une suite de valeur hexadécimales, appelées « scan-codes » et représentant la position physique de la touche sur le clavier et des informations précisant s'il s'agit de l'actionnement ou du relâchement de la touche. C'est le système d'exploitation qui va interpréter ces codes plus ou moins directement et transmettre aux applications un symbole de touche ( keysymbol ).
Les symboles de touche (keysymbols) envoyés aux applications représentent :
- soit des caractères directement affichables, parmi lesquels les lettres et les chiffres ou divers symboles graphiques,
- soit des codes d'évènement ou de fonction que chacune des applications doit interpréter à sa manière.
Le passage des "scan-codes" aux symboles de touche (keysymbols) se décompose en deux étapes principales. Les « scan-codes » sont d'abord transformés en codes de touches ( keycodes ) puis en symboles de touches ( keysymbols ) .
Codes de touches (keycodes)
Il existe dans Ubuntu une table (evdev) qui associe les codes de touche à des noms symboliques censés aider à repérer la touche sur le clavier. Une ligne de ce fichier de la forme :
<AE01> = 10;
signifie que la touche alphanumérique (lettre A) en première position (01) de la ligne E (les lignes sont numéroté de A à E en partant du coté de l'utilisateur) a le code 50. Une autre ligne de la forme :
<LFSH> = 50;
signifie que la touche Shift (Maj) de gauche a le code 50.
Pour faciliter l'utilisation des codes de touche (keycodes) il existe également une table de correspondance (aliases) qui associe au nom symbolique des touches un nom plus intelligible. Voici un court extrait de la section "qwerty" de ce fichier:
xkb_keycodes "qwerty" { alias <LatQ> = <AD01>; alias <LatW> = <AD02>;
Pour autant que la section "qwerty" de ce fichier soit expressément spécifiée dans la configuration, la touche <AD01> pourra être désignée également par <LatQ>.
La conversion codes de touche -> symboles de touche
Il existe dans le dossier /usr/share/X11/xkb/symbols, des fichiers qui établissent la correspondance entre les codes de touches et les symboles de touches pour les différentes langues, et dont les sections traitent des différentes variantes de clavier connues, comme par exemple le fichier fr pour la langue française.