2009-11-08 7 views
18

Was ich gerne an einem versteckten Gerät übernehmen würde, das möglicherweise bereits angeschlossen war, verbraucht seine Ausgabe, während andere (X11 oder Terminal) daran gehindert werden, es zu verbrauchen.Wie können Sie das Eigentum an einem versteckten Gerät übernehmen?

Wenn ich helfen kann, möchte ich nicht so tun, als wäre es ein Terminal, sondern eher ein bestimmtes Hid oder Character Gerät zu monopolisieren. Die Idee ist, dass einige versteckte Geräte durch x/terminal als Mäuse/Tastaturen erkannt werden, aber eine zweite Maus oder Tastatur könnte für etwas anderes verwendet werden, aber um dies zu tun, müssen Sie sicherstellen, dass sie keine falschen Eingaben in ein offenes Terminal.

Hat jemand einen Einblick, wie dies getan werden könnte?

Antwort

22

Ich habe dies getan - meine spezifische Anwendung war ein Daemon, der Ereignisse von einem USB-HID-Barcodeleser (der sich als USB-HID-Tastaturgerät darstellt) liest.

Dazu habe ich die Ereignisgeräteschnittstelle verwendet und das /dev/input/event* Gerät geöffnet, das dem Gerät entspricht, nach dem ich suchte. Sie können dann das EVIOCGRAB ioctl auf dem Gerät ausgeben, das es zur ausschließlichen Verwendung ergreift, und Ereignisse (die Tastenbetätigungen, Mausbewegungen usw. darstellen) vom Gerät lesen, sobald sie verfügbar werden.

(Wenn das Gerät für die ausschließliche Verwendung gegriffen wird, sieht nur Ihre Anwendung Ereignisse daraus).

+1

Arbeitete wie ein Charme. Vielen Dank. – Catskul

+1

Klingt genau das, was ich für einen RFID-Leser benötige, der eine 10-stellige Nummer von einem Tag liest und die Informationen als Tastatur-Eingabe präsentiert, um sie als Zutrittskontrollgerät in Verbindung mit einem Raspberry Pi Home-Automation-Projekt zu verwenden in der Lage sein, sich mit einer Tastatur/Maus/Monitor für andere (Debugging-) Zwecke anzumelden. – SlySven

+0

Manchmal frage ich mich, ob Stackexchange auf der Erde gesendet wurde, um uns alle zu retten! Ist Ihr Projekt Open Source? Macht es Ihnen etwas aus, die Quellen zu teilen? Ich werde einige Dinge mit benutzerdefinierten gedruckten QR-Codes kontrollieren. –

Verwandte Themen