2009-11-08 11 views
18

Lo que me gustaría tomar posesión de un dispositivo oculto que ya puede haber sido enchufado, consuma su salida, mientras evita que otros (X11 o terminal) lo consuman.¿Cómo puedes tomar posesión de un dispositivo escondido?

Si puedo evitarlo, no quiero fingir ser un terminal, sino más bien a monopolizan un dispositivo HID o personaje en particular. La idea es que algunos dispositivos escondidos pueden ser reconocidos como ratones/teclados por x/terminal, pero un segundo mouse o teclado podría usarse para otra cosa, pero para hacer eso debes asegurarte de que no están enviando datos falsos a un terminal abierto.

¿Alguien tiene alguna idea de cómo se puede hacer esto?

Respuesta

22

he hecho esto - mi aplicación específica era un demonio que leen los eventos de un lector de código de barras USB HID (que se presenta como un dispositivo USB HID teclado).

Para ello he utilizado la interfaz de dispositivo evento, abriendo el dispositivo de /dev/input/event* correspondiente al dispositivo que fue después. A continuación, puede emitir EVIOCGRAB ioctl en el dispositivo, que lo toma para uso exclusivo, y leer eventos (que representan pulsaciones de teclas, movimientos del mouse, etc.) desde el dispositivo a medida que estén disponibles.

(Cuando el dispositivo se agarró para uso exclusivo, solamente la aplicación va a ver los partidos de la misma).

+1

Funcionó como un amuleto. Gracias. – Catskul

+1

Suena justo lo que necesito para un lector de RFID que lee un número de 10 dígitos de una etiqueta y presenta la información como una entrada de teclado para usar como un dispositivo de control de acceso junto con un proyecto de automatización del hogar Raspberry Pi, y aún ser capaz de iniciar sesión con un teclado/mouse/monitor para otros fines (depuración). – SlySven

+0

A veces me pregunto si stackexchange fue enviado a la Tierra para salvarnos a todos. ¿Es su proyecto de código abierto? ¿Te importa compartir las fuentes? Me encanta controlar algunas cosas usando códigos QR impresos personalizados. –

Cuestiones relacionadas