GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Tastaturereigniserfassung /dev/inputX

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.


Linux
  1. Was sind /dev/zero- und /dev/null-Dateien in Linux

  2. Wie kann /dev/random oder /dev/urandom mit base64 codiert werden?

  3. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

  4. Kernel:/dev/kmem und /dev/mem deaktivieren

  5. echo oder print /dev/stdin /dev/stdout /dev/stderr

So ersetzen Sie eine ausgefallene Festplatte in einem Linux-Software-RAID

tty (/dev/tty ) vs. pts (/dev/pts) unter Linux

Wann sollte /dev/random vs. /dev/urandom verwendet werden?

Linux – Was bedeutet der Buchstabe „u“ in /dev/urandom?

Linux – Zusammenführen von /usr/bin und /usr/sbin in /bin (gnu/linux)?

/dev/null unter Linux