Linux 下如何从系统层面屏蔽输入设备,但是程序又可以读取该设备的信号

103 天前
 ksc010

需求是这样的, 需要用程序监听扫码枪的 输入 但是又不想这个设备的输入影响到终端

1706 次点击
所在节点    Linux
8 条回复
loading
103 天前
用串口那种,不会变成键盘输入( HID)
ksc010
103 天前
@loading 我想链接到树莓派这类开发板上 ,只有 usb 输入,
搜了下 串口好多是 那那种多针的 ,要是有 usb 串口的也行
loading
103 天前
串口只需要 4 根线 gnd vcc tx rx
yolee599
103 天前
可以用串口扫码枪,串口跟 USB 一样都是 4 根线的啊
msmmbl
103 天前
查到 linux 有一个 EVIOCGRAB ioctl 调用,可以让一个进程独占某个输入设备
PhaSelEza
103 天前
可以考虑用基于 evdev 的方案,比如 Interception Tools ( https://gitlab.com/interception/linux/tools ),我用它来改键。

具体地,写一个 C 程序,拦截来自一个设备的所有的 event ,通过某种 IPC 方式传递给需要的程序。

缺点是,程序需要处理的不是字符输入,而是 event 序列,处理起来挺难的。
billccn
103 天前
一般扫码枪都有 SDK ,里面调用一下就可以让它停止模拟键盘,只跟 SDK 通讯。特别是需要扫码枪上面有指示灯或者扬声器需要反馈扫码成功与否的情况下必须要用 SDK.
southwolf
102 天前
@ksc010 树莓派不是有 GPIO 吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1093941

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX