发新帖我要提问
12
返回列表
打印

USB HID设备

[复制链接]
楼主: chuxh
手机看帖
扫描二维码
随时随地手机跟帖
21
computer00| | 2011-3-1 22:53 | 只看该作者 回帖奖励 |倒序浏览
直接在设备管理器里面将对应的鼠标、键盘设备停用不就得了,软件都不用自己做。

如果觉得设备管理器用得不爽,那么既然设备管理器能够将对应的鼠标、键盘设备停用,那么应该也会有相应的api提供,自己再写个小软件,调用对应的api即可。

使用特权

评论回复
22
llljh| | 2011-3-1 23:00 | 只看该作者
1. 同时具有键盘和鼠标功能,能被xp系统自动识别为hid设备。(键盘鼠标都是标准的)
-->可以实现,你可以参考HID规格中关于“复合设备”的描述。
使用系统自带的HID驱动程序即可,就不用自己开发驱动了。

2. 同时,我可以通过PC上的相应软件向它发送一些控制命令,比如禁止键盘输入,禁止鼠标输入。设备接收到命令后就不再发送键盘或者鼠标消息到PC了。  
如果可以实现,请问第2部分是否要单独写驱动,还是实现一个软件,直接向USB设备发送控制命令就可以了?  
目标是:USB固件部分和上位软件都可以自己开发,中间的驱动最好只用windows自带的标准的,可以不用额外安装驱动最好  
-->需要完成发命令的功能,跟据你的意思是可以实现的。即 只需要开发 a.PC端应用程序 b.USB chip firmware。  
驱动都是自带的。应用程序发送控制命令,USB firmware收到后,作出响应(如disable某个功能)。

使用特权

评论回复
23
computer00| | 2011-3-2 09:07 | 只看该作者
不一定要复合设备,复合设备需要多个端点。也可以直接用单设备,通过报告描述符的方式,描述3个设备,一个键盘,一个鼠标,一个用户自定义HID设备。
可以参考我书中的代码,有类似的例子。

使用特权

评论回复
24
sz_kd| | 2011-3-2 09:43 | 只看该作者
第2点你PC软件通过setreport请求命令发送自己定义的数据格式通知下位机,试试看,应该可以。

使用特权

评论回复
25
smallwind1| | 2011-3-2 10:09 | 只看该作者
给你推荐一款,silabs的cp2110

使用特权

评论回复
26
llljh| | 2011-3-2 13:50 | 只看该作者
其实可以用一个小小的技巧,避免出现第三个设备
USB键盘有五个用来标志状态的灯
平时只用了3个,大小写,数字和滚动,
你想想办法看看能不能把后面两个灯用来做功能控制

使用特权

评论回复
27
chuxh|  楼主 | 2011-3-2 13:59 | 只看该作者
哦,明白了,学到不少知识

使用特权

评论回复
28
wisdom_1986| | 2011-3-2 15:39 | 只看该作者
要禁止键盘或者鼠标,只能自己写驱动了吧

使用特权

评论回复
29
chuxh|  楼主 | 2011-3-2 18:09 | 只看该作者
是啊。
结贴了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则