免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3001 | 回复: 3

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

论坛徽章:
0
发表于 2011-04-28 19:03 |显示全部楼层
RT

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

希望能得到高手的解答!

论坛徽章:
0
发表于 2011-04-29 15:47 |显示全部楼层
本帖最后由 la_lakers 于 2011-04-29 15:58 编辑

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

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

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

论坛徽章:
0
发表于 2011-05-03 14:37 |显示全部楼层
非常感谢LS二位的解答。

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

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

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

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会以“架构革新 高效可控”为主题,设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。
http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP