Comment «déboguer» un clavier sous Linux? Comme appuyer sur une touche et voir un code dans un terminal

16

Je n'ai pas eu de réponse à mon problème concernant l' ajout de claviers supplémentaires dans mon Ubuntu 10.04 . Le point d'interrogation ne fonctionne pas sur mon clavier, uniquement en utilisant la touche Alt Gr + W.

Donc, je ne sais pas si c'est un problème avec Ubuntu ou Virtualbox lui-même (je l'exécute dans une machine virtuelle).

C'est un clavier USB. HP KU-0316.

Je voudrais déboguer ce problème. Le clavier est branché, donc quand j'appuie sur une touche, je crois que quelque chose est envoyé à mon système d'exploitation, du code, je ne sais pas. Je voudrais creuser ce problème, trouver un putain de code clé et trouver un fichu fichier * .conf et résoudre manuellement mon problème.

Alors, une application comme celle-ci existe-t-elle sous Linux?

Quelqu'un vous utilise toujours MS-DOS
la source

Réponses:

16

Essayez xev. Il affichera les codes clés que le système X Window voit lorsque vous appuyez sur les touches qui vous intéressent. Vous pouvez utiliser xmodmappour modifier le mappage.

En pause jusqu'à nouvel ordre.
la source
Exactement ce que je pensais! Et quand j'appuie sur la touche, rien ne chausse ... peut-être un bug Virtualbox?
Quelqu'un vous utilise toujours MS-DOS
16

Un utilitaire génial de linux-input appelé 'evtest' est excellent pour déboguer le clavier, les souris et les joysticks. Les touches de fonction devraient également fonctionner.

apt-get install evtest

Exemple de sortie en appuyant sur la touche de verrouillage des majuscules pendant l'exécution du test:

Event: time 1398955189.226822, type 17 (EV_LED), code 1 (LED_CAPSL), value 1
Event: time 1398955189.226822, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039
Event: time 1398955189.226822, type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 0
Event: time 1398955189.226822, -------------- SYN_REPORT ------------

Comme evtest utilise / dev / input, vous pouvez l'utiliser à partir d'un TTY ou SSH, sans Xserver en cours d'exécution.

kevinf
la source
5

Il existe ce qu'on appelle des fichiers de périphériques d'événements qui sont liés à un niveau de couche d'entrée très bas. Ils résident dans le /dev/input/répertoire et vous pouvez lire les codes clés transmis par le clavier virtuel PS / 2 en faisant sudo hd /dev/input/by-path/platform-i8042-serio-0-event-kbd. Si cette commande échoue, essayez simplement cela avec chacun des /dev/input/eventXfichiers: l'un d'eux sera lié à votre clavier.

whitequark
la source
Un conseil quand ni sudo hexdump /dev/input/by-path/*-kbdne sudo hexdump /dev/input/event*dispose d' aucune sortie? Mon clavier d'ordinateur portable fonctionne dans le BIOS, mais nulle part ailleurs. Je ne peux voir la sortie des commandes susmentionnées qu'avec mon clavier USB.
wpcarro