Ciao,
Di recente stavo cercando di realizzare qualcosa di simile.
Dai un'occhiata al progetto logkeys:
http://code.google.com/p/logkeys/
Se scarichi il codice sorgente e dai un'occhiata al file logkeys.cc, troverai un metodo per rilevare automaticamente quale /dev/input/event è utilizzato dalla tua tastiera. Ciò ti consentirà di leggere i codici di scansione non elaborati dalla tastiera, indipendentemente dal programma attualmente attivo. Il programma logkeys mostra anche come tradurre i codici di scansione in caratteri e altri trucchi utili.
Spero che questo aiuti,
Marco.
Un semplice grep
operazione su /proc/bus/input/devices file produrrà tutte le tastiere collegate alla macchina:
grep -E 'Handlers|EV=' /proc/bus/input/devices | \
grep -B1 'EV=120013' | \
grep -Eo 'event[0-9]+'
Dove EV=120013
è la maschera di bit per gli eventi supportati dal dispositivo. Come spiegato qui.
Questo è il modo in cui viene implementato in logkeys
Stai leggendo il dispositivo sbagliato. Prova tutto /dev/input/event* o cerca in /var/log/Xorg.0.log quale dispositivo viene utilizzato per la tua tastiera.