USB鼠标、键盘数据格式
鼠标发送给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鼠标、键盘数据格式相关推荐
- 8修改host_正点原子【STM32-F407探索者】第五十九章 USB 鼠标键盘(Host)实验
1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 上一章我们向大家介绍了如何利用 STM32F4 的 US ...
- 解决 Windows USB 鼠标键盘断连掉线的问题 和 安全删除硬件并弹出媒体图标 没有弹出移动硬盘的选项
解决 Windows USB 鼠标键盘断连掉线的问题 鼠标键盘在连接到USB集线器后,经常性出现掉线的情况,键盘和数遍经常性的失灵. 在跟换USB集线器和重装官方驱动后无果.更换过新的USB集线器,发 ...
- 【正点原子STM32连载】 第六十章 USB鼠标键盘(Host)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
- 计算机开机键鼠无法识别,终于发现电脑重启不能识别usb鼠标键盘
想知道电脑重启不能识别usb鼠标键盘的原因和解决方法吗? 电脑运行正常,但一重启就不能识别了 为什么呢?今天汇学小编就这话题给大家说说相关方法. 解决方法一: 1.先检查下电脑USB接口是否可用,如果 ...
- 大势至USB管理软件教你如何禁用U盘、屏蔽USB端口而不影响USB鼠标键盘使用!
现在用户对USB的接口的利用已经非常普及,从当时的只针对U盘使用而慢慢演变成移动硬盘.USB充电.各种SD.TF卡的种种使用,当然随之而来的 USB安全问题相信也困扰着用户.企业等,例如进入企业中各种 ...
- win7系统安装过程,usb鼠标键盘不能使用,无法点击下一步
由于实验需要的原因,需要装windows7系统. 在msdn下载的win7专业版,在安装过程中出现usb接口的鼠标和键盘无法使用,不能单击下一步. 由于原生的windows7系统不包含USB3.0的驱 ...
- linux禁用usb存储不禁用鼠标,禁用USB 不影响USB鼠标键盘 | 吴文辉博客
随着技术的进步,ps2接口由于不支持热插拔等缺点逐渐被淘汰,目前大部分的电脑提供usb接口的键盘和鼠标,如何保证usb接口的键盘和鼠标能用,而禁用usb接口的存储设备呢?下面用四种方法来解决这个问题. ...
- 笔记本电脑插入USB鼠标键盘失效问题解决
注册表中可以设置:在USB接口插上鼠标,PS2接口就禁用,其目的是禁用触摸板.但是如果键盘也是PS2接口的,也很可能被一并禁用了. 具体设置方法可以网络上查看注册表中下面两项的设置细节 [HKEY_C ...
- 解决ubuntu16.04 USB鼠标键盘使用卡顿
键盘鼠标卡顿由于挂起导致失灵,每次需要激活所以卡顿 解决方法: sudo gedit /etc/laptop-mode/conf.d/runtime-pm.conf 将 AUTOSUSPEND_RUN ...
- dell服务器安装系统不识别键鼠,戴尔电脑八代CPU装win7鼠标键盘不能用|win10改win7鼠标键盘用不了...
那既然知道失效是由于缺少驱动的原因,那装上不就好了?然而这个方法并没有什么用,因为安装XHCI驱动需要鼠标和键盘来操作,然后win7下是无法识别USB接口的,不过通过PS/2连接的鼠标键盘是能正常工作 ...
最新文章
- python小游戏系列记忆宫殿,儿时的回忆
- nginx_lua_waf安装测试
- 基于 MongoDB 及 Spring Boot 的文件服务器的实现
- oracle Data Modeler 使用教程
- 小心pthread_cond_signal和SetEvent之间的差异
- 二本考北航计算机经历,我(来自二本学校)考上北航的一些经历
- 网络安装centos5.4
- testNG-失败用例重跑机制
- 移动端照片上传、头像裁剪完整功能,兼容iphone,android (一)
- 2019年新年第一天,我也制定一下2019年计划,
- 点译PDF的翻译器或者PDF阅读器插件
- 少儿编程scratch系统介绍(附网站源码)
- Spring之Bean作用域
- android版手机qq 5.0,界面精简功能更强 手机QQ5.0安卓版发布
- WinRM 如何设置 TrustedHosts
- MBTI职业性格测试小程序
- MyBatis12 结果集映射
- Primer Premierv6.24详细图文安装和破解教程
- 网页自动关机代码HTML,电脑如何自动关机
- win10命令行模式无法切换输入法
热门文章
- java爬取斗鱼:与虎牙对比
- 天盾linux数据恢复,天盾Mac数据恢复软件
- Testin云测如何成为传统企业转型升级的“X”因子?
- Assigning Workstations
- codeforces1627C Not Assigning(思维)
- DSP学习笔记之系统时钟、定时器、GPIO篇
- ES5-ES6-ES7_字符串与JOSN格式的数据相互转换以及深度克隆新对象
- 论文笔记--Exploring Translation Similarities for Building a Better Sentence Aligner
- android 强制退出程序,Android 强制且彻底的退出app
- 2021 ICPC Gran Premio de Mexico 1ra Fecha