Как вы можете взять на себя ответственность за спрятанное устройство?

Что бы я хотел взять на себя спрятанное устройство, которое уже было подключено, потреблять его, а другие (X11 или терминал) не могут его использовать.

Если я могу помочь, я не хочу притворяться терминальным, а скорее монополизировать конкретное скрытое или символьное устройство. Идея состоит в том, что некоторые скрытые устройства могут быть распознаны как мыши/клавиатуры с помощью x/terminal, но вторая мышь или клавиатура могут быть использованы для чего-то другого, но для этого вам нужно убедиться, что они не отправляют ложный ввод в открытый терминал.

Есть ли у кого-нибудь представление о том, как это можно сделать?

Ответы

Ответ 1

Я сделал это - моим конкретным приложением был демон, который читал события с USB-устройства HID для чтения штрих-кодов (который представляет собой USB-клавиатуру USB).

Для этого я использовал интерфейс устройства событий, открыв устройство /dev/input/event*, соответствующее устройству, которое я получил. Затем вы можете выпустить EVIOCGRAB ioctl на устройстве, который захватывает его для исключительного использования, и считывать события (которые представляют нажатия клавиш, движения мыши и т.д.) С устройства по мере их появления.

(Когда устройство захвачено для исключительного использования, только ваше приложение увидит из него события).

Ответ 2

Я могу опоздать на вечеринку, но спасибо за этот драгоценный камень информации. Я много часов искал ответ на этот вопрос! Стив