加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 16:33:39 所属栏目:Linux 来源:网络整理
导读:是)我有的: Linux机器(debian stable)没有显示器,键盘,没有X运行 USB设备,就像一个USB键盘(就像很多条码阅读器[1]) 我(不)想要的: 我想仅将此设备用于特定应用. 我不希望此设备干扰例如启动后的登录过程或其他任何内容 – 除了一个应用程序. 无论如何,我希
是)我有的:

> 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或只是你的服务器,看看会发生什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读