device descrip size = 18
12 01 10 01 00 00 00 08 8A 25 06 10 04 01 01 02 00 01
GetConfigDescr:
09 02 3B 00 02 01 00 A0 96
09 04 00 00 01 03 01 01 00 //keyboard
09 21 11 01 00 01 22 41 00 //65 byte
07 05 81 03 08 00 0A //10ms
HID_Desc:
05 01 09 06 a1 01 05 07
19 e0 29 e7 15 00 25 01
75 01 95 08 81 02 95 01
75 08 81 01 95 03 75 01
05 08 19 01 29 03 91 02
95 05 75 01 91 01 95 06
75 08 15 00 26 ff 00 05
07 19 00 2a ff 00 81 00 c0
09 04 01 00 01 03 01 01 00 //keyboard
09 21 11 01 00 01 22 A8 00 //168 byte
07 05 82 03 08 00 0A //10ms
HID_Desc: //基本键盘设备分配在 06 07 HID报告
05 01 // Usage Page (Generic Desktop),???用途页
09 80
a1 01
85 01 //报告 ID 01
19 81
29 83
15 00
25 01
75 01
95 03
81 02
95 05
81 01
c0
05 0c // USAGE_PAGE (Consumer Devices)?????用途页:0CH
09 01
a1 01
85 02 //报告 ID 02
19 00
2a 3c 02
15 00
26 3c 02
95 01
75 10
81 00
c0
06 00 ff // USAGE_PAGE ???
09 01
a1 01
85 05 //报告 ID 05
15 00
26 ff 00
19 01
29 02
75 08
95 05
b1 02
c0
05 01 // Usage Page (Generic Desktop),???用途页
09 06 // Usage (Keyboard),?
a1 01 // Collection (Application),?
85 06 //报告 ID 06
05 07 // Usage Page (Key Codes);????普通按键为07H
19 e0 // Usage Minimum (224),
29 e7 // Usage Maximum (231),?
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
75 01 // Report Size (1),
95 08 // Report Count (8),
81 00 // Input (Data, Array),
95 30 // Report Count (6*8),
75 01 // Report Size (1),
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
05 07 // Usage Page (Key Codes)
19 00 // Usage Minimum (00),
29 2f // Usage Maximum (47),?
81 02 // Input (Data, Variable, Absolute),
//== ID(06) + 1byte(e0~e7) + 6byte(00~2f) = 8byte
c0 // End Collection--------------------------------------
05 01 // Usage Page (Generic Desktop),???用途页
09 06 // Usage (Keyboard),?
a1 01 // Collection (Application),?
85 07 //报告 ID 07
95 38 // Report Count (7*8)
75 01 // Report Size (1),
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
05 07 // Usage Page (Key Codes)
19 30 // Usage Minimum (48),
29 67 // Usage Maximum (103),?
81 02 // Input (Data, Variable, Absolute),
//==ID(07) + 7byte(30~67) = 8byte
c0 // End Collection--------------------------------------
05 01 // Usage Page (Generic Desktop),???用途页
09 06 // Usage (Keyboard),?
a1 01 // Collection (Application),?
85 08 //报告 ID 08
95 38 // Report Count (7*8)
75 01 // Report Size (1),
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
05 07 // Usage Page (Key Codes)
19 68 // Usage Minimum (104),
29 9f // Usage Maximum (159),
81 02 // Input (Data, Variable, Absolute),
//==ID(08) + 7byte(68~9f) = 8byte
c0 // End Collection--------------------------------------
12 01 10 01 00 00 00 08 8A 25 06 10 04 01 01 02 00 01
GetConfigDescr:
09 02 3B 00 02 01 00 A0 96
09 04 00 00 01 03 01 01 00 //keyboard
09 21 11 01 00 01 22 41 00 //65 byte
07 05 81 03 08 00 0A //10ms
HID_Desc:
05 01 09 06 a1 01 05 07
19 e0 29 e7 15 00 25 01
75 01 95 08 81 02 95 01
75 08 81 01 95 03 75 01
05 08 19 01 29 03 91 02
95 05 75 01 91 01 95 06
75 08 15 00 26 ff 00 05
07 19 00 2a ff 00 81 00 c0
09 04 01 00 01 03 01 01 00 //keyboard
09 21 11 01 00 01 22 A8 00 //168 byte
07 05 82 03 08 00 0A //10ms
HID_Desc: //基本键盘设备分配在 06 07 HID报告
05 01 // Usage Page (Generic Desktop),???用途页
09 80
a1 01
85 01 //报告 ID 01
19 81
29 83
15 00
25 01
75 01
95 03
81 02
95 05
81 01
c0
05 0c // USAGE_PAGE (Consumer Devices)?????用途页:0CH
09 01
a1 01
85 02 //报告 ID 02
19 00
2a 3c 02
15 00
26 3c 02
95 01
75 10
81 00
c0
06 00 ff // USAGE_PAGE ???
09 01
a1 01
85 05 //报告 ID 05
15 00
26 ff 00
19 01
29 02
75 08
95 05
b1 02
c0
05 01 // Usage Page (Generic Desktop),???用途页
09 06 // Usage (Keyboard),?
a1 01 // Collection (Application),?
85 06 //报告 ID 06
05 07 // Usage Page (Key Codes);????普通按键为07H
19 e0 // Usage Minimum (224),
29 e7 // Usage Maximum (231),?
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
75 01 // Report Size (1),
95 08 // Report Count (8),
81 00 // Input (Data, Array),
95 30 // Report Count (6*8),
75 01 // Report Size (1),
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
05 07 // Usage Page (Key Codes)
19 00 // Usage Minimum (00),
29 2f // Usage Maximum (47),?
81 02 // Input (Data, Variable, Absolute),
//== ID(06) + 1byte(e0~e7) + 6byte(00~2f) = 8byte
c0 // End Collection--------------------------------------
05 01 // Usage Page (Generic Desktop),???用途页
09 06 // Usage (Keyboard),?
a1 01 // Collection (Application),?
85 07 //报告 ID 07
95 38 // Report Count (7*8)
75 01 // Report Size (1),
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
05 07 // Usage Page (Key Codes)
19 30 // Usage Minimum (48),
29 67 // Usage Maximum (103),?
81 02 // Input (Data, Variable, Absolute),
//==ID(07) + 7byte(30~67) = 8byte
c0 // End Collection--------------------------------------
05 01 // Usage Page (Generic Desktop),???用途页
09 06 // Usage (Keyboard),?
a1 01 // Collection (Application),?
85 08 //报告 ID 08
95 38 // Report Count (7*8)
75 01 // Report Size (1),
15 00 // Logical Minimum (0),?
25 01 // Logical Maximum (1),
05 07 // Usage Page (Key Codes)
19 68 // Usage Minimum (104),
29 9f // Usage Maximum (159),
81 02 // Input (Data, Variable, Absolute),
//==ID(08) + 7byte(68~9f) = 8byte
c0 // End Collection--------------------------------------