Bonjour,
J'essayais récemment d'accomplir quelque chose de similaire.
Jetez un œil au projet logkeys :
http://code.google.com/p/logkeys/
Si vous téléchargez le code source et regardez le fichier logkeys.cc, vous trouverez une méthode pour détecter automatiquement quel /dev/input/event est utilisé par votre clavier. Cela vous permettra de lire les codes de numérisation bruts à partir du clavier, quel que soit le programme actuellement ciblé. Le programme logkeys montre également comment traduire les codes de numérisation en caractères et d'autres astuces utiles.
J'espère que cela vous aidera,
Markus.
Un simple grep
opération sur /proc/bus/input/devices affichera tous les claviers branchés sur la machine :
grep -E 'Handlers|EV=' /proc/bus/input/devices | \
grep -B1 'EV=120013' | \
grep -Eo 'event[0-9]+'
Où EV=120013
est le masque de bits pour les événements pris en charge par le périphérique. Comme expliqué ici.
C'est ainsi qu'il est implémenté dans les logkeys
Vous lisez le mauvais appareil. Essayez tous les /dev/input/event* ou regardez dans /var/log/Xorg.0.log pour quel périphérique est utilisé pour votre clavier.