鼠标发送给PC的数据每次4个字节 
BYTE1 BYTE2 BYTE3 BYTE4 
定义分别是: 
BYTE1 -- 
       |--bit7:   1   表示   Y   坐标的变化量超出-256   ~   255的范围,0表示没有溢出  
       |--bit6:   1   表示   X   坐标的变化量超出-256   ~   255的范围,0表示没有溢出  
       |--bit5:   Y   坐标变化的符号位,1表示负数,即鼠标向下移动  
       |--bit4:   X   坐标变化的符号位,1表示负数,即鼠标向左移动  
       |--bit3:     恒为1  
       |--bit2:     1表示中键按下  
       |--bit1:     1表示右键按下  
       |--bit0:     1表示左键按下  
BYTE2 -- X坐标变化量,与byte的bit4组成9位符号数,负数表示向左移,正数表右移。用补码表示变化量  
BYTE3 -- Y坐标变化量,与byte的bit5组成9位符号数,负数表示向下移,正数表上移。用补码表示变化量 
BYTE4 -- 滚轮变化。 
由于手上没有USB鼠标,对BYTE1的4-7位没有测试,对于BYTE2 BYTE3做个测试,BYTE1的4-7全为0的时候,BYTE2 BYTE3的正负表示鼠标移动方向

键盘发送给PC的数据每次8个字节 
BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8 
定义分别是: 
BYTE1 -- 
       |--bit0:   Left Control是否按下,按下为1  
       |--bit1:   Left Shift  是否按下,按下为1  
       |--bit2:   Left Alt    是否按下,按下为1  
       |--bit3:   Left GUI    是否按下,按下为1  
       |--bit4:   Right Control是否按下,按下为1   
       |--bit5:   Right Shift 是否按下,按下为1  
       |--bit6:   Right Alt   是否按下,按下为1  
       |--bit7:   Right GUI   是否按下,按下为1  
BYTE2 -- 暂不清楚,有的地方说是保留位 
BYTE3--BYTE8 -- 这六个为普通按键 
键盘经过测试。 
例如:键盘发送一帧数据   02 00 0x04 0x05 00 00 00 00 
表示同时按下了Left Shift + ‘a’+‘b’三个键 
对于键码和PS2的键盘有所不同,具体请看附件。 
USB HID to PS2 Scan Code 对照表.pdfourdev_651088NZ5EKW.pdf(文件大小:133K) (原文件名:USB HID to PS2 Scan Code Translation Table .pdf)

2011.6.23补充说明 
补充对于键盘BYTE2的说明: 
参照百合网(http://www.baiheee.com/OpenSource/Easy%20USB%2051%20Programer/Easy%20USB%2051%20Programer12.htm)键盘的报告描述符,如下 
/*******************************************************************************************/ 
//这里只列出了第二个字节的说明 
    //这样的数据段个数为1     
    0x95, 0x01,                    //   REPORT_COUNT (1)     
    //每个段长度为8bits     
    0x75, 0x08,                    //   REPORT_SIZE (8)     
    //输入用,常量,值,绝对值     
    0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)     
         
    //上面这8个bit是常量,设备必须返回0   
/*******************************************************************************************/ 
这里只是指明了这是一个以字节为单位的输入数据,并没有指明它的取值范围。

在HID1.11协议的Appendix B-->B.1 Protocol 1 (Keyboard) 的报告描述符中也有这样的说明(HID1.11协议的59页) 
/*******************************************************************************************/ 
   Report Count (1),   
   Report Size (8),  
   Input (Constant),              ;Reserved byte  
   Report Count (5),   
   Report Size (1),  
/*******************************************************************************************/ 
在注释中说明,这个字节是保留字节。

USB鼠标、键盘数据格式相关推荐

  1. 8修改host_正点原子【STM32-F407探索者】第五十九章 USB 鼠标键盘(Host)实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 上一章我们向大家介绍了如何利用 STM32F4 的 US ...

  2. 解决 Windows USB 鼠标键盘断连掉线的问题 和 安全删除硬件并弹出媒体图标 没有弹出移动硬盘的选项

    解决 Windows USB 鼠标键盘断连掉线的问题 鼠标键盘在连接到USB集线器后,经常性出现掉线的情况,键盘和数遍经常性的失灵. 在跟换USB集线器和重装官方驱动后无果.更换过新的USB集线器,发 ...

  3. 【正点原子STM32连载】 第六十章 USB鼠标键盘(Host)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  4. 计算机开机键鼠无法识别,终于发现电脑重启不能识别usb鼠标键盘

    想知道电脑重启不能识别usb鼠标键盘的原因和解决方法吗? 电脑运行正常,但一重启就不能识别了 为什么呢?今天汇学小编就这话题给大家说说相关方法. 解决方法一: 1.先检查下电脑USB接口是否可用,如果 ...

  5. 大势至USB管理软件教你如何禁用U盘、屏蔽USB端口而不影响USB鼠标键盘使用!

    现在用户对USB的接口的利用已经非常普及,从当时的只针对U盘使用而慢慢演变成移动硬盘.USB充电.各种SD.TF卡的种种使用,当然随之而来的 USB安全问题相信也困扰着用户.企业等,例如进入企业中各种 ...

  6. win7系统安装过程,usb鼠标键盘不能使用,无法点击下一步

    由于实验需要的原因,需要装windows7系统. 在msdn下载的win7专业版,在安装过程中出现usb接口的鼠标和键盘无法使用,不能单击下一步. 由于原生的windows7系统不包含USB3.0的驱 ...

  7. linux禁用usb存储不禁用鼠标,禁用USB 不影响USB鼠标键盘 | 吴文辉博客

    随着技术的进步,ps2接口由于不支持热插拔等缺点逐渐被淘汰,目前大部分的电脑提供usb接口的键盘和鼠标,如何保证usb接口的键盘和鼠标能用,而禁用usb接口的存储设备呢?下面用四种方法来解决这个问题. ...

  8. 笔记本电脑插入USB鼠标键盘失效问题解决

    注册表中可以设置:在USB接口插上鼠标,PS2接口就禁用,其目的是禁用触摸板.但是如果键盘也是PS2接口的,也很可能被一并禁用了. 具体设置方法可以网络上查看注册表中下面两项的设置细节 [HKEY_C ...

  9. 解决ubuntu16.04 USB鼠标键盘使用卡顿

    键盘鼠标卡顿由于挂起导致失灵,每次需要激活所以卡顿 解决方法: sudo gedit /etc/laptop-mode/conf.d/runtime-pm.conf 将 AUTOSUSPEND_RUN ...

  10. dell服务器安装系统不识别键鼠,戴尔电脑八代CPU装win7鼠标键盘不能用|win10改win7鼠标键盘用不了...

    那既然知道失效是由于缺少驱动的原因,那装上不就好了?然而这个方法并没有什么用,因为安装XHCI驱动需要鼠标和键盘来操作,然后win7下是无法识别USB接口的,不过通过PS/2连接的鼠标键盘是能正常工作 ...

最新文章

  1. python小游戏系列记忆宫殿,儿时的回忆
  2. nginx_lua_waf安装测试
  3. 基于 MongoDB 及 Spring Boot 的文件服务器的实现
  4. oracle Data Modeler 使用教程
  5. 小心pthread_cond_signal和SetEvent之间的差异
  6. 二本考北航计算机经历,我(来自二本学校)考上北航的一些经历
  7. 网络安装centos5.4
  8. testNG-失败用例重跑机制
  9. 移动端照片上传、头像裁剪完整功能,兼容iphone,android (一)
  10. 2019年新年第一天,我也制定一下2019年计划,
  11. 点译PDF的翻译器或者PDF阅读器插件
  12. 少儿编程scratch系统介绍(附网站源码)
  13. Spring之Bean作用域
  14. android版手机qq 5.0,界面精简功能更强 手机QQ5.0安卓版发布
  15. WinRM 如何设置 TrustedHosts
  16. MBTI职业性格测试小程序
  17. MyBatis12 结果集映射
  18. Primer Premierv6.24详细图文安装和破解教程
  19. 网页自动关机代码HTML,电脑如何自动关机
  20. win10命令行模式无法切换输入法

热门文章

  1. java爬取斗鱼:与虎牙对比
  2. 天盾linux数据恢复,天盾Mac数据恢复软件
  3. Testin云测如何成为传统企业转型升级的“X”因子?
  4. Assigning Workstations
  5. codeforces1627C Not Assigning(思维)
  6. DSP学习笔记之系统时钟、定时器、GPIO篇
  7. ES5-ES6-ES7_字符串与JOSN格式的数据相互转换以及深度克隆新对象
  8. 论文笔记--Exploring Translation Similarities for Building a Better Sentence Aligner
  9. android 强制退出程序,Android 强制且彻底的退出app
  10. 2021 ICPC Gran Premio de Mexico 1ra Fecha