J'ai reçu en cadeau un clavier sans fils, de marque T'nB Il dispose de 20 touches supplémentaires par rapport à un clavier standard, mais pas de pavé numérique. Par contre, la souris est intégrée au clavier. La configuration sous linux ne pose pas de problème, mais je n'ai pas (encore) les touches 'inférieur' et 'supérieur' Pour les reste, a priori pas de problème. |
![]() |
Mes premiers tests pour récupérer les valeurs des touches suplémentaires, ont consisté en un seul programme:
xev. Celui ci renvoi les info transmise par le serveur X, à l'application en cours. Et là, je n'ai eu aucune
valeur!!!. La solution, comme toujours, est passée par http://www.google.fr
et par /var/log/syslog! Dans ce dernier, nous trouvons des codes renvoyés par le clavier, mais dont le noyau
ne sait quoi faire faute de les connaitre:
En plus, le noyau est assez aimable pour me dire ce que je doit faire (ligne 'Use 'setkeycodes e02c ...' par exemple)
...
Sep 7 21:18:09 feline kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xaf on isa0060/serio0).
Sep 7 21:18:09 feline kernel: atkbd.c: Use 'setkeycodes e02f
Faisont donc un test:
Nous voyons qu'une touche a été utilisée, de keycode 244. Cela ne correspond pas à la valeur que j'ai donnée (ici 239), mais
je ne sais pas pourquoi. Si quelqu'un a une explication, je suis preneur!
# setkeycodes e02f 239
$ xev
...
KeyPress event, serial 24, synthetic NO, window 0x2800001,
root 0x47, subw 0x0, time 2360351, (895,610), root:(905,690),
state 0x0, keycode 244 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 27, synthetic NO, window 0x2800001,
root 0x47, subw 0x0, time 2360471, (895,610), root:(905,690),
state 0x0, keycode 244 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
...
Reste à l'utiliser...
A présent que nous pouvons assigner une valeur aux touches, il nous faut l'activer au démarrage du système. Pour cela,
il suffit de créer un script à palcer dans /etc/int.d/ (sous debian).Puis de demander gentillement de créer les liens
correct avec update-rc.d (toujours sous debian). Le script que j'ai créé s'appel clavier-tnb
et l'installation s'est effectué comme ceci:
Je demande seulement le script au demarrage, pas d'appel à l'arret.
# update-rc.d clavier-tnd start 20 2 3 4 5 .
Mise à part 3 touches mal configurées (les touches windows et la touche 'inférieur/supérieur'), la configuration des touches internet ne pose aucun soucis, et c'est même assez pratique!