linux – “绑定”USB键盘专门用于特定应用程序

是)我有的:

> Linux机器(debian stable)没有显示器,键盘,没有X运行
> USB设备,就像一个USB键盘(就像很多条码阅读器[1])

我(不)想要的:

>我想仅将此设备用于特定应用.
>我不希望此设备干扰例如启动后的登录过程或其他任何内容 – 除了一个应用程序.
>无论如何,我希望能够插入一个普通的旧USB键盘,并使用它 – 与上面提到的其他USB设备的连接数量无关.

我(不)知道的:

>我找到了一些示例代码,关于如何直接从事件设备中读取,如果需要,可以在我的应用程序中使用它.
>我不知道,除了这个特定的应用程序,如何禁用整个系统的特定键盘?这有可能吗?

谢谢你的任何提示……!

[1]当设备读取条形码时,它会将检测到的代码作为单键按下并提交返回.

解决方法

一个充满挑战且有趣的问题

我认为udev可能会做到这一点.创建一个文件/etc/udev/rules.d/99-barcode-reader.rules并在其中添加类似的内容:

ACTIONS!="add",GOTO="barcode_end"
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="dead",ATTRS{idProduct}=="beef",PROGRAM="/bin/sh -c 'logger -p user.info Hey,I see a new device $env{BUSNUM} $env{DEVNUM}'",RUN+="/bin/sh -c '/usr/local/bin/your_barcode_application &'"
LABEL="barcode_end"

将“dead”和“beef”替换为使用lsusb获取的idVendor和idProduct的值.

重新启动udevd或只是你的服务器,看看会发生什么.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...