2022年2022年键盘鼠标报告描述符解释 .pdf

上传人:C****o 文档编号:32492133 上传时间:2022-08-09 格式:PDF 页数:6 大小:48.96KB
返回 下载 相关 举报
2022年2022年键盘鼠标报告描述符解释 .pdf_第1页
第1页 / 共6页
2022年2022年键盘鼠标报告描述符解释 .pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年2022年键盘鼠标报告描述符解释 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年键盘鼠标报告描述符解释 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、code char KeyBoardReportDescriptor63 = / 表示用途页为通用桌面设备0 x05, 0 x01, / USAGE_PAGE (Generic Desktop) / 表示用途为键盘0 x09, 0 x06, / USAGE (Keyboard) / 表示应用集合,必须要以END_COLLECTION来结束它,见最后的END_COLLECTION 0 xa1, 0 x01, / COLLECTION (Application) / 表示用途页为按键0 x05, 0 x07, / USAGE_PAGE (Keyboard) / 用途最小值,这里为左ctrl 键0

2、x19, 0 xe0, / USAGE_MINIMUM (Keyboard LeftControl) / 用途最大值,这里为右GUI 键,即 window键0 x29, 0 xe7, / USAGE_MAXIMUM (Keyboard Right GUI) / 逻辑最小值为 0 0 x15, 0 x00, / LOGICAL_MINIMUM (0) / 逻辑最大值为 1 0 x25, 0 x01, / LOGICAL_MAXIMUM (1) / 报告大小(即这个字段的宽度)为1bit ,所以前面的逻辑最小值为0,逻辑最大值为 1 0 x75, 0 x01, / REPORT_SIZE (1)

3、/ 报告的个数为 8,即总共有 8 个 bits 0 x95, 0 x08, / REPORT_COUNT (8) / 输入用,变量,值,绝对值。像键盘这类一般报告绝对值,/ 而鼠标移动这样的则报告相对值,表示鼠标移动多少0 x81, 0 x02, / INPUT (Data,Var,Abs) / 上面这这几项描述了一个输入用的字段,总共为8 个 bits ,每个 bit 表示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 一个

4、按键/ 分别从左 ctrl 键到右 GUI 键。这 8 个 bits 刚好构成一个字节,它位于报告的第一个字节。/ 它的最低位,即 bit-0对应着左 ctrl 键,如果返回的数据该位为1,则表示左 ctrl 键被按下,/ 否则,左 ctrl 键没有按下。最高位,即bit-7表示右 GUI 键的按下情况。中间的几个位,/ 需要根据 HID 协议中规定的用途页表( HID Usage Tables)来确定。这里通常用来表示/ 特殊键,例如 ctrl ,shift ,del 键等/ 这样的数据段个数为1 0 x95, 0 x01, / REPORT_COUNT (1) / 每个段长度为 8bits

5、 0 x75, 0 x08, / REPORT_SIZE (8) / 输入用,常量,值,绝对值0 x81, 0 x03, / INPUT (Cnst,Var,Abs) / 上面这 8 个 bit 是常量,设备必须返回0/ 这样的数据段个数为5 0 x95, 0 x05, / REPORT_COUNT (5) / 每个段大小为 1bit 0 x75, 0 x01, / REPORT_SIZE (1) / 用途是 LED,即用来控制键盘上的LED 用的,因此下面会说明它是输出用0 x05, 0 x08, / USAGE_PAGE (LEDs) / 用途最小值是 Num Lock,即数字键锁定灯0

6、x19, 0 x01, / USAGE_MINIMUM (Num Lock) / 用途最大值是 Kana ,这个是什么灯我也不清楚_ 0 x29, 0 x05, / USAGE_MAXIMUM (Kana) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - / 如前面所说,这个字段是输出用的,用来控制LED 。变量,值,绝对值。/1表示灯亮, 0 表示灯灭0 x91, 0 x02, / OUTPUT (Data,Var,Abs)

7、/ 这样的数据段个数为1 0 x95, 0 x01, / REPORT_COUNT (1) / 每个段大小为 3bits 0 x75, 0 x03, / REPORT_SIZE (3) / 输出用,常量,值,绝对0 x91, 0 x03, / OUTPUT (Cnst,Var,Abs) / 由于要按字节对齐,而前面控制LED 的只用了 5 个 bit ,/ 所以后面需要附加 3 个不用 bit ,设置为常量。/ 报告个数为 6 0 x95, 0 x06, / REPORT_COUNT (6) / 每个段大小为 8bits 0 x75, 0 x08, / REPORT_SIZE (8) / 逻辑

8、最小值 0 0 x15, 0 x00, / LOGICAL_MINIMUM (0) / 逻辑最大值 255 0 x25, 0 xFF, / LOGICAL_MAXIMUM (255) / 用途页为按键0 x05, 0 x07, / USAGE_PAGE (Keyboard) / 使用最小值为 0 0 x19, 0 x00, / USAGE_MINIMUM (Reserved (no event indicated) / 使用最大值为 0 x65 0 x29, 0 x65, / USAGE_MAXIMUM (Keyboard Application) / 输入用,变量,数组,绝对值0 x81,

9、0 x00, / INPUT (Data,Ary,Abs) / 以上定义了 6 个 8bit 宽的数组,每个8bit (即一个字节)用来表示一个名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 按键,所以可以同时/ 有 6 个按键按下。没有按键按下时,全部返回0。如果按下的键太多,导致键盘扫描系统/ 无法区分按键时,则全部返回0 x01 ,即 6 个 0 x01 。如果有一个键按下,则这 6 个字节中的第一/ 个字节为相应的键值(

10、具体的值参看HID Usage Tables),如果两个键按下,则第 1、2 两个/ 字节分别为相应的键值,以次类推。/ 关集合,跟上面的对应0 xc0 / END_COLLECTION ;通过上面的分析,我们知道这个报告中只有一个报告,所以没有报告ID ,因此返回的都是实际使用的数据。总共有 8 字节输入, 1 字节输出。 其中输入的第一字节用来表示特殊按键,第二字节保留,后面的六字节为普通按键。下面这个报告描述符是USB 鼠标报告描述符,比起键盘的来说要简单些。它描述了 4 个字节,第一个字节表示按键,第二个字节表示x 轴(即鼠标左右移动,0 表示不动,正值表示往右移,负值表示往左移),第

11、三个字节表示y 轴(即鼠标上下移动, 0 表示不动,正值表示往下移动,负值表示往上移动),第四个字节表示鼠标滚轮(正值为往上滚动,负值为往下滚动)。code char MouseReportDescriptor52 = / 通用桌面设备0 x05, 0 x01, / USAGE_PAGE (Generic Desktop) / 鼠标0 x09, 0 x02, / USAGE (Mouse) / 集合0 xa1, 0 x01, / COLLECTION (Application) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名

12、师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - / 指针设备0 x09, 0 x01, / USAGE (Pointer) / 集合0 xa1, 0 x00, / COLLECTION (Physical) / 按键0 x05, 0 x09, / USAGE_PAGE (Button) / 使用最小值 1 0 x19, 0 x01, / USAGE_MINIMUM (Button 1) / 使用最大值 3。1 表示左键, 2 表示右键, 3 表示中键0 x29, 0 x03, / USAGE_MAXIMUM (Button 3) / 逻辑最小

13、值 0 0 x15, 0 x00, / LOGICAL_MINIMUM (0) / 逻辑最大值 1 0 x25, 0 x01, / LOGICAL_MAXIMUM (1) / 数量为 3 0 x95, 0 x03, / REPORT_COUNT (3) / 大小为 1bit 0 x75, 0 x01, / REPORT_SIZE (1) / 输入,变量,数值,绝对值/ 以上 3 个 bit 分别表示鼠标的三个按键情况,最低位(bit-0 )为左键/bit-1为右键, bit-2为中键,按下时对应的位值为1,释放时对应的值为0 0 x81, 0 x02, / INPUT (Data,Var,Ab

14、s) / 填充 5 个 bit ,补足一个字节0 x95, 0 x01, / REPORT_COUNT (1) 0 x75, 0 x05, / REPORT_SIZE (5) 0 x81, 0 x03, / INPUT (Cnst,Var,Abs) / 用途页为通用桌面0 x05, 0 x01, / USAGE_PAGE (Generic Desktop) / 用途为 X 0 x09, 0 x30, / USAGE (X) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共

15、6 页 - - - - - - - - - / 用途为 Y 0 x09, 0 x31, / USAGE (Y) / 用途为滚轮0 x09, 0 x38, / USAGE (Wheel) / 逻辑最小值为 -127 0 x15, 0 x81, / LOGICAL_MINIMUM (-127) / 逻辑最大值为 +127 0 x25, 0 x7f, / LOGICAL_MAXIMUM (127) / 大小为 8 个 bits 0 x75, 0 x08, / REPORT_SIZE (8) / 数量为 3 个,即分别代表 x,y, 滚轮0 x95, 0 x03, / REPORT_COUNT (3) / 输入,变量,值,相对值0 x81, 0 x06, / INPUT (Data,Var,Rel) / 关集合0 xc0, / END_COLLECTION 0 xc0 / END_COLLECTION ;这里只对报告描述符做一个简单的介绍,更详细的资料请参看USB HID协议以及 HID Usage Tables名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁