首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于USB键盘的Windows HID设备驱动程序

用于USB键盘的Windows HID设备驱动程序
EN

Stack Overflow用户
提问于 2016-02-15 11:37:11
回答 1查看 1.3K关注 0票数 0

我要用USB设备解决这个问题:

  • 连接到POS PC (Windows POSReady 2009),有一个USB键盘和USB达拉斯I-Button阅读器。
  • USB读取器连接到MoBo USB总线,并显示为USB复合设备: USB复合设备 USB\VID_134B&PID_0206&REV_0100 兼容HID器件 HID\VID_134B&PID_0206&REV_0100&MI_01 USB输入设备(第一实例) USB\VID_134B&PID_0206&REV_0100&MI_00 USB输入设备(第二个实例) USB\VID_134B&PID_0206&REV_0100&MI_01 HID键盘 HID\VID_134B&PID_0206&REV_0100&MI_00
  • 当我用读取器读取I-Button时,按钮内的代码将被添加到键盘缓冲区(因为它是用物理键盘键入的),而活动应用程序(具有键盘焦点)接收代码。
  • 我的应用程序必须与USB设备读取的代码进行交互,但是,为了接收代码,我必须将焦点放在TextBox上。
  • 这并不总是可能的,特别是在无人值守的MessageBoxes中,wich负责焦点(和键盘输入),并可能产生故障。
  • 最好是在串口或TCP/IP上有一个阅读器,但这是我们唯一的选择(我们不能更改读取器)。

因此,我的想法是从读取器键盘捕获传入的"keypress“,避免附加在系统键盘缓冲区中,并通过WM_USER、WM_COPYDATA、Socket或其他方法将它们传递给我的应用程序。

因此,我们的目标是编写一个驱动程序,只适用于特定的USB HID设备( I-Button阅读器,而不是真正的PC键盘),后者阻止按键并以某种方式发送到应用程序。

我检查了“键盘过滤器”微软的方式,但我只能阻止一些组合键,但这不是我的目标。

我认为我应该创建一个定制的个人"kbdhid.sys“和/或"kbdcalss.sys”驱动程序,并且只适用于我的USB阅读器。

有人能给我指出正确的方向吗?

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2016-10-06 16:09:55

设置读取器在发送代码之前发送前缀,监视前缀的键盘que,并使应用程序弹出,以便它接收键盘输入。

然而,许多阅读器只能设置为发送像STX这样的控制代码--女巫是control_B --并且正在被windows使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35408365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档