GNU/Linux >> Tutoriales Linux >  >> Linux

Captura de eventos de teclado Linux /dev/inputX

Hola,

Recientemente estaba tratando de lograr algo similar.

Eche un vistazo al proyecto logkeys:

http://code.google.com/p/logkeys/

Si descarga el código fuente y echa un vistazo al archivo logkeys.cc, encontrará un método para detectar automáticamente qué /dev/input/event usa su teclado. Esto le permitirá leer códigos de escaneo sin procesar desde el teclado, independientemente del programa que tenga el foco actualmente. El programa logkeys también muestra cómo traducir los códigos de escaneo en caracteres y otros trucos útiles.

Espero que esto ayude,

Marcos.


Un simple grep operación en /proc/bus/input/devices El archivo producirá todos los teclados conectados a la máquina:

 grep -E  'Handlers|EV=' /proc/bus/input/devices | \
 grep -B1 'EV=120013' | \
 grep -Eo 'event[0-9]+'

Donde EV=120013 es la máscara de bits para los eventos admitidos por el dispositivo. Como se explica aquí.

Esta es la forma en que se implementa en logkeys


Estás leyendo el dispositivo equivocado. Pruebe todo /dev/input/event* o busque en /var/log/Xorg.0.log qué dispositivo se usa para su teclado.


Linux
  1. Cómo reemplazar un disco duro fallido en el software RAID de Linux

  2. Cómo generar una contraseña aleatoria en Linux usando /dev/random

  3. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  4. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  5. Linux:¿Qué significa la letra 'u' en /dev/urandom?

tty (/dev/tty) vs pts (/dev/pts) en Linux

/dev/null en Linux

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

kernel:deshabilitar /dev/kmem y /dev/mem

¿Está mal vincular /dev/random a /dev/urandom en Linux?

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr