我希望获得可能已经插入的隐藏设备的所有权,使用它的输出,同时防止其他人(X11或终端)使用它。
如果我可以提供帮助,我不想假装成终端,而是垄断某个特定的隐藏或角色设备。这个想法是一些隐藏设备可能被x /终端识别为鼠标/键盘,但是第二个鼠标或键盘可以用于其他东西,但要做到这一点,你需要确保它们不会发送虚假输入到开放式终端。
有没有人对如何做到这一点有任何见解?
答案 0 :(得分:24)
我已经完成了这个 - 我的特定应用程序是一个守护程序,它从USB HID条形码阅读器(它作为USB HID键盘设备呈现)中读取事件。
为此,我使用了事件设备界面,打开了与之后设备对应的/dev/input/event*
设备。然后,您可以在设备上发出EVIOCGRAB
ioctl,将其抓取以供独占使用,并在设备可用时读取事件(代表按键,鼠标移动等)。
(当设备被专用时,只有你的应用程序会看到它的事件。)