当前位置:首页 >> 电脑基础知识 >>

自己整理的USB-HID鼠标、键盘通讯格式


自己整理的USB-HID鼠标、键盘通讯格式,欢迎指教
【详细说明】自己整理的USB-HID鼠标、键盘通讯格式,欢迎指教

想用STM32做个无线键鼠遥控、找了好几天没有找到完整的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 对照表.pdf
USB HID to PS2 Scan Code Translation Table.pdf (133.25 KB)

2011.6.23补充说明
补充对于键盘BYTE2的说明:
参照百合网(http://www.baiheee.com/OpenSourc ... 1%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),
/*******************************************************************************************/
在注释中说明,这个字节是保留字节。
这里我也把HID1.11传上来给大家研究。

相关文章:
自己整理的USB-HID鼠标、键盘通讯格式.txt
自己整理的USB-HID鼠标键盘通讯格式,欢迎指教【详细说明】自己整理的USB-HID鼠标键盘通讯格式,欢迎指教 想用STM32做个无线键鼠遥控、找了好几天没有找到完整...
HID类键盘的报告描述符的理解.doc
此软件可以观察到 USB 设备与主机(PC)之间的通讯 数据,特别那 11 个标准请求...对于 HID 类设备,特别 是鼠标键盘这类的,只需你能按照报告描述符所描述的格式...
USB-HID协议中文版_图文.doc
是 直接与人交互的 USB 设备,例如键盘鼠标与游戏...固件的要求主机的驱动程序要与 HID 设备通信,设备的...所有的 HID 数据都必须使用定义过的报表格式来定义...
USBHID设备报告描述符详解.doc
USB/HID 设备报告描述符详解概述: 报告在这里意思是数据传输(data transfer),而...鼠标(输入报告) 6 5 4 3 2 1 0 Buttons 表 9:范例的输出报告格式 键盘...
USB键盘鼠标协议_图文.pdf
USB键盘鼠标协议_计算机硬件及网络_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档USB键盘鼠标协议_计算机硬件及网络_IT/计算机_专业资料。USB HID to PS...
USB HID键盘报告描述符.doc
USB HID键盘报告描述符_IT/计算机_专业资料。HID Script脚本语言的理解:Global ...一个附属的鼠标功能, 那么键盘数据信息将由 HID script 脚本描述的 keyboard ...
USB接口HID设备说明书_图文.doc
是 直接与人交互的 USB 设备,例如键盘鼠标与游戏...固件的要求主机的驱动程序要与 HID 设备通信,设备的...所有的 HID 数据都必须使用定义过的报表格式来定义...
USBHID设备报告描述符详解.doc
USB 通讯协议的规范是以 1ms USB/HID 设备...主项目用来定义报告中数据的种类和格式,而说明...在该文中所使用的范例即为整合鼠标的 键盘装置...
PS2通信协议说明与接口定义(键盘和鼠标).doc
PS2通信协议说明与接口定义(键盘鼠标)_计算机硬件及...建造的键盘不是 PS/2,AT 就是 USB 的这篇文章...数据格式 1 个起始位 8 个数据位 1 个奇偶校验...
USB HID 学习实例之如何枚举为键盘.pdf
USB HID 学习实例之如何枚举为键盘_信息与通信_工程科技_专业资料。百合电子工作...自己整理的USB-HID鼠标、... 2页 免费 喜欢此文档的还喜欢 USB 命令及鼠标...
USB_HID协议中文版USB接口HID设备_图文.pdf
是 直接与人交互的 USB 设备,例如键盘鼠标与游戏...固件的要求主机的驱动程序要与 HID 设备通信,设备的...所有的 HID 数据都必须使用定义过的报表格式来定义...
USB HID协议中文版USB接口HID设备_图文.doc
是 直接与人交互的 USB 设备,例如键盘鼠标与游戏...固件的要求主机的驱动程序要与 HID 设备通信,设备的...所有的 HID 数据都必须使用定义过的报表格式来定义...
Windows主机端与自定义USB HID设备通信详解.doc
Windows主机端与自定义USB HID设备通信详解_计算机软件及应用_IT/计算机_专业资料...在此讨论的是 HID 自定义设备,对于标准设备,譬如 USB 鼠标键盘,由 于操作...
USB模拟鼠标与键盘使用说明.doc
我们人和人之间唠嗑扯 淡那样直截了当,它们之间的这种通信,是有固定的数据格式...自己整理的USB-HID鼠标、... 2页 1下载券 c# 模拟键盘鼠标 3页 免费 硬件...
USB鼠标键盘报告描述符介绍.doc
USB鼠标键盘报告描述符介绍_信息与通信_工程科技_专业资料。USB鼠标键盘开发非常实用...USB HID设备类协议学习入... 7页 免费 USB设备请求和描述符整理... 8页 ...
USB HID介绍 - Leo_Wonty的专栏 - 博客频道 - CSDN.pdf
(2) 收藏 举报 HID是一种USB通信协议,无需安装...并使用您的HID设备,且只有标准鼠标键盘类设备才能...//Close Mouse collection item的数据格式有两种,分别...
USB HID学习手册_图文.doc
USB HID通讯 USB HID 学习笔记程序部分: 一、 PC..., GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxx...保留 用户定义 工具组 鼠标键盘 相关联的数据 1100...
Windows主机端与自定义USB HID设备通信详解.doc
Windows主机端与自定义USB HID设备通信详解_电脑基础...譬如 USB 鼠标键盘,由于操作系统对 其独占,许多...USB设备请求和描述符整理... 8页 免费 USB HID ...
Windows主机端与自定义USB HID设备通信详解.doc
Windows 主机端与自定义 USB HID 设备通信详解 说明: 以下结论都是基于 Windows...在此讨论的是 HID 自定义设备,对于标准设备,譬如 USB 鼠标键盘,由于操作系 ...
STM32的USB键盘及鼠标例程.doc
STM32 的 USB 键盘鼠标例程时间:2011-07-19 21...//具体的用途值可在 HID 用途表中查看。 0x19, ...我们在中断端点 1 中应该要按照上面的格式返回实际...
更多相关标签: