Hallo,
Ich habe kürzlich versucht, etwas Ähnliches zu erreichen.
Schauen Sie sich das logkeys-Projekt an:
http://code.google.com/p/logkeys/
Wenn Sie den Quellcode herunterladen und sich die Datei logkeys.cc ansehen, finden Sie eine Methode, wie Sie automatisch erkennen können, welches /dev/input/event von Ihrer Tastatur verwendet wird. Auf diese Weise können Sie Scan-Rohcodes von der Tastatur lesen, unabhängig davon, welches Programm gerade den Fokus hat. Das logkeys-Programm zeigt auch, wie man die Scan-Codes in Zeichen übersetzt und andere nützliche Tricks.
Hoffe, das hilft,
Markus.
Ein einfaches grep
Betrieb auf /proc/bus/input/devices Datei gibt alle Tastaturen aus, die an die Maschine angeschlossen sind:
grep -E 'Handlers|EV=' /proc/bus/input/devices | \
grep -B1 'EV=120013' | \
grep -Eo 'event[0-9]+'
Wobei EV=120013
ist die Bitmaske für vom Gerät unterstützte Ereignisse. Wie hier erklärt.
So ist es in logkeys implementiert
Sie lesen das falsche Gerät. Versuchen Sie entweder alle /dev/input/event* oder schauen Sie in /var/log/Xorg.0.log nach, welches Gerät für Ihre Tastatur verwendet wird.