免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3160 | 回复: 3
打印 上一主题 下一主题

[驱动] USB键鼠的按键信息是如何传送给USB主机控制器的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-28 19:03 |只看该作者 |倒序浏览
RT

向高手请教,USB键鼠的按键的机械动作,比如敲一个按键,或者鼠标的一次点击,这样的机械动作
最终是如何上报给USB主机控制器的?中间的详细流程是怎样的?

希望能得到高手的解答!

论坛徽章:
0
2 [报告]
发表于 2011-04-29 15:47 |只看该作者
本帖最后由 la_lakers 于 2011-04-29 15:58 编辑

http://wenku.baidu.com/view/e5bb86956bec0975f465e2ff.html

啊!!!!!此外,还有输入子系统

论坛徽章:
0
3 [报告]
发表于 2011-04-30 10:10 |只看该作者
USB是主机主动扫描的,从机也就是鼠标不能自己主动发数据给主机。USB鼠标在系统中注册为HID设备,系统应当定期到鼠标的USB端口读取数据,数据格式是HID规定好的,如果鼠标没有动作,读取会失败,系统也就没有动作,否则系统按读取到的数据进行动作。这样,鼠标有一次点击后,鼠标控制器把这个动作的描述放到自己的USB端口里,等待主机读取。要再详细就那本USB书看看。

论坛徽章:
0
4 [报告]
发表于 2011-05-03 14:37 |只看该作者
非常感谢LS二位的解答。

按说USB键鼠都属于低速设备,理应采取“中断传输”的方式,不知理解是否正确?

“鼠标有一次点击后,鼠标控制器把这个动作的描述放到自己的USB端口里,等待主机读取。”
-- 我对你这句话的理解如下:
    鼠标在初始化的时候提交一个urb,里面的端点描述符里bInterval一项注明主机扫描自己的
时间间隔,主机会按照此时间间隔来查看USB鼠标有没有中断产生,如果有,就将中断的相关
数据发送给主机。而这个中断数据包含有鼠标的移动 & 按键等信息,存放在鼠标的某个端点里。

不知我的理解是否正确?如有错误,请指出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP