当我插入鼠标或键盘等设备时,它会显示为一个条目/dev/input/by-id
,我可以从该条目中读取字节以查看发生了哪些输入事件,例如击键和按钮单击。
我有一台 ES-50 USB 扫描仪,上面有一个大按钮。通常按下这个按钮可以开始扫描页面,但在 Linux 上它什么也不做。我假设输入事件某处在操作系统中。我该如何监视该事件并像处理一样处理它/dev/input
?
如果这有任何相关性,我确实安装了此扫描仪的驱动程序并且可以使用。但是我必须从命令行启动扫描,这并不理想。
谢谢!
答案1
很可能什么地方都没有。如果内核实际上知道如何从“扫描仪”位中解复用内核“输入”事件,那么您将只拥有内核“输入”事件 - 如果整个扫描仪驱动程序都在通过原始 USB 直接与设备通信的用户空间程序中,则不会发生这种情况,我相信大多数都是这样做的。
(据我所知,内核中没有“扫描仪”设备子系统......)
在这种情况下,内核不知道发生了什么,扫描软件(SANE)将需要发起这些事件。它可以通过 uinput 发出虚拟输入事件,但据我所知,SANE 不会这样做。
(注意:我从未使用过 SANE,因为它还不支持我的扫描仪。)