我有一个 USB 条形码扫描仪,正在运行一个 python 脚本,该脚本从数据库收集数据/dev/hidraw0
并将数据输入到数据库中。问题是,每次扫描器收集代码时,它还会将其发送到终端,并实际上尝试通过 tty 登录系统。
有没有办法禁止 HID 访问终端并尝试登录,但仍允许 python 脚本收集数据?
预先感谢您提供的任何帮助。
答案1
/dev/input/path-to-your-scanner
用选项打开grab
。使用带有在启动过程中保持不变的符号链接的路径,而不是/dev/input/eventX
.
参见例如这里一个 Python evdev 库,可以轻松地通过 Python 进行操作。
您无法获取 hidraw 级别,除非您出于某种原因需要 HID 报告本身,否则这是没有必要的。
如果您确实需要 hidraw 级别,那么它将变得棘手 - 您必须将 hidraw 级别从输入输入级别中分离出来。或者也许同时打开输入设备和 hidraw 设备,我从未尝试过。
答案2
这是我为 USB 条形码扫描仪编写的 python 脚本,使用 evdev 库,并按照 @dirkt 的建议提供抓取功能:
https://gist.github.com/michalfapso/1755e8a35bb83720c2559ce8ffde5f85