HID设备数据格式
USB设备中,HID设备算是最简单的了.
鼠标发送给HOST端的数据每次4个字节,定义如下:
字节序 | 说明 |
字节0 | [7]1表示Y坐标变化量超出255, [6]1表示X坐标变化量超出255, [5]1表示Y坐标变化为负值, [4]1表示X坐标变化为负值, [3]为1, [2]1表示中键按下, [1]1表示右键按下, [0]1表示左键按下. |
字节1 | X坐标变化量尾数,参考字节0[6][4] |
字节2 | Y坐标变化量尾数,参考字节0[7][5] |
字节3 | 滚轮变化 |
键盘发送给PC的数据每次8个字节,定义如下:
字节序 | 说明 |
字节0 | [7]1表示 Right GUI按下, [6]1表示Right Alt按下, [5]1表示Right Shift按下, [4]1表示Right Control按下, [3]1表示Left GUI按下, [2]1表示Left Alt按下, [1]1表示Left Shift按下, [0]1表示Left Control按下 |
字节1 | 为OEM保留,BIOS忽略这个字节,默认为0 |
字节2-7 | 普通按键键值 |
键值列表如下
第一列10进制键值,第二列16进制键值,第四列是按键 0 00 Reserved (no event indicated)9 N/A √ √ √ 4/101/104 1 01 Keyboard ErrorRollOver9 N/A √ √ √ 4/101/104 2 02 Keyboard POSTFail9 N/A √ √ √ 4/101/104 3 03 Keyboard ErrorUndefined9 N/A √ √ √ 4/101/104 4 04 Keyboard a and A4 31 √ √ √ 4/101/104 5 05 Keyboard b and B 50 √ √ √ 4/101/104 6 06 Keyboard c and C4 48 √ √ √ 4/101/104 7 07 Keyboard d and D 33 √ √ √ 4/101/104 8 08 Keyboard e and E 19 √ √ √ 4/101/104 9 09 Keyboard f and F 34 √ √ √ 4/101/104 10 0A Keyboard g and G 35 √ √ √ 4/101/104 11 0B Keyboard h and H 36 √ √ √ 4/101/104 12 0C Keyboard i and I 24 √ √ √ 4/101/104 13 0D Keyboard j and J 37 √ √ √ 4/101/104 14 0E Keyboard k and K 38 √ √ √ 4/101/104 15 0F Keyboard l and L 39 √ √ √ 4/101/104 16 10 Keybo