USB键鼠的按键信息是如何传送给USB主机控制器的?
RT
向高手请教,USB键鼠的按键的机械动作,比如敲一个按键,或者鼠标的一次点击,这样的机械动作
最终是如何上报给USB主机控制器的?中间的详细流程是怎样的?
希望能得到高手的解答!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
RT
向高手请教,USB键鼠的按键的机械动作,比如敲一个按键,或者鼠标的一次点击,这样的机械动作
最终是如何上报给USB主机控制器的?中间的详细流程是怎样的?
希望能得到高手的解答!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
本帖最后由 la_lakers 于 2011-04-29 15:58 编辑
http://wenku.baidu.com/view/e5bb86956bec0975f465e2ff.html
啊!!!!!此外,还有输入子系统
USB是主机主动扫描的,从机也就是鼠标不能自己主动发数据给主机。USB鼠标在系统中注册为HID设备,系统应当定期到鼠标的USB端口读取数据,数据格式是HID规定好的,如果鼠标没有动作,读取会失败,系统也就没有动作,否则系统按读取到的数据进行动作。这样,鼠标有一次点击后,鼠标控制器把这个动作的描述放到自己的USB端口里,等待主机读取。要再详细就那本USB书看看。
非常感谢LS二位的解答。
按说USB键鼠都属于低速设备,理应采取“中断传输”的方式,不知理解是否正确?
“鼠标有一次点击后,鼠标控制器把这个动作的描述放到自己的USB端口里,等待主机读取。”
-- 我对你这句话的理解如下:
鼠标在初始化的时候提交一个urb,里面的端点描述符里bInterval一项注明主机扫描自己的
时间间隔,主机会按照此时间间隔来查看USB鼠标有没有中断产生,如果有,就将中断的相关
数据发送给主机。而这个中断数据包含有鼠标的移动 & 按键等信息,存放在鼠标的某个端点里。
不知我的理解是否正确?如有错误,请指出。