如何从 USB HID 设备读取输入?
Posted
技术标签:
【中文标题】如何从 USB HID 设备读取输入?【英文标题】:How do I read input from a USB HID device? 【发布时间】:2011-04-08 23:23:45 【问题描述】:我正在制作一个在销售点的后台运行的应用程序,以读取来自 USB 扫描仪的输入。 如何从 C# 获取扫描仪的输入? 我可以区分扫描仪和 USB 键盘吗? (扫描仪是 HID 设备)
【问题讨论】:
【参考方案1】:在 CodeProject 上使用“原始输入”实现之前,我成功地做到了这一点:
Raw Input它允许您接收输入(如果它模仿“键盘”,则按下了哪些“键”)以及区分它来自哪个设备。
【讨论】:
看起来不错。但是,即使它拾取了我的 2 个 HID 设备,它似乎也没有触发 _KeyPressed 事件。 得到它的工作,在 64 位 Windows 上在 32 位下编译它。再次感谢。 我正在使用 RawInput 从特定键盘获取按键,并且工作正常,除了它仍然发送原始按键。因此,如果我将 Backspace 映射为 Control-C,然后按 Backspace,它首先执行退格,然后执行 Control-C。我试图让它(显然)只做Control-C(宏)而不是Backspace(原始按键)。关于如何做到这一点的任何想法?我听说它需要键盘挂钩来取消消息,原始输入来确定它是否来自正确的键盘,以及两者之间的通信系统。 类似linux的解决方案是可能的? 此项目在 LGPL v3 许可下;(以上是关于如何从 USB HID 设备读取输入?的主要内容,如果未能解决你的问题,请参考以下文章