Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top