summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/hidapi/windows/test/data
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
committer3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
commit5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch)
tree8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/hidapi/windows/test/data
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/hidapi/windows/test/data')
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001.pp_data420
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_expected.rpt_desc12
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_real.rpt_desc64
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001.pp_data183
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_expected.rpt_desc7
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_real.rpt_desc7
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C.pp_data532
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_expected.rpt_desc16
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_real.rpt_desc61
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C.pp_data97
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_expected.rpt_desc3
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_real.rpt_desc38
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00.pp_data139
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_expected.rpt_desc4
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_real.rpt_desc39
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001.pp_data302
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_expected.rpt_desc8
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_real.rpt_desc61
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00.pp_data139
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_expected.rpt_desc4
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_real.rpt_desc39
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001.pp_data185
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_expected.rpt_desc7
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_real.rpt_desc58
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001.pp_data252
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_expected.rpt_desc5
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_real.rpt_desc24
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001.pp_data520
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_expected.rpt_desc18
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_real.rpt_desc18
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C.pp_data93
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_expected.rpt_desc3
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_real.rpt_desc12
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00.pp_data139
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_expected.rpt_desc4
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_real.rpt_desc13
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001.pp_data302
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_expected.rpt_desc8
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_real.rpt_desc33
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00.pp_data139
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_expected.rpt_desc4
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_real.rpt_desc13
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C.pp_data93
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_expected.rpt_desc3
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_real.rpt_desc18
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00.pp_data139
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_expected.rpt_desc4
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_real.rpt_desc20
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001.pp_data302
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_expected.rpt_desc8
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_real.rpt_desc44
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00.pp_data139
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_expected.rpt_desc4
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_real.rpt_desc22
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001.pp_data185
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_expected.rpt_desc7
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_real.rpt_desc42
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001.pp_data185
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_expected.rpt_desc4
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_real.rpt_desc22
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C.pp_data385
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_expected.rpt_desc10
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_real.rpt_desc47
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0.pp_data1255
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_expected.rpt_desc24
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_real.rpt_desc113
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B.pp_data461
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_expected.rpt_desc17
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_real.rpt_desc68
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01.pp_data11508
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_expected.rpt_desc75
-rw-r--r--contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_real.rpt_desc381
72 files changed, 19610 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001.pp_data
new file mode 100644
index 0000000..6226996
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001.pp_data
@@ -0,0 +1,420 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x045E
3dev->product_id = 0x02FF
4dev->manufacturer_string = ""
5dev->product_string = "Controller (Xbox One For Windows)"
6dev->release_number = 0x0000
7dev->interface_number = -1
8dev->usage = 0x0005
9dev->usage_page = 0x0001
10dev->path = "\\?\HID#VID_045E&PID_02FF&IG_00#7&5ea4a81&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0005
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 7
20pp_data->caps_info[0]->NumberOfCaps = 7
21pp_data->caps_info[0]->ReportByteLength = 16
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 7
24pp_data->caps_info[1]->LastCap = 7
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 7
29pp_data->caps_info[2]->LastCap = 7
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x02D8
34pp_data->NumberLinkCollectionNodes = 4
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0001
37pp_data->cap[0]->ReportID = 0x00
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 16
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0003
42pp_data->cap[0]->BitCount = 16
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0005
45pp_data->cap[0]->LinkCollection = 0x0001
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0000
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 0
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0031
70pp_data->cap[0]->NotRange.Reserved1 = 0x0031
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->NotButton.HasNull = 0
78pp_data->cap[0]->NotButton.Reserved4 = 0x000000
79pp_data->cap[0]->NotButton.LogicalMin = 0
80pp_data->cap[0]->NotButton.LogicalMax = -1
81pp_data->cap[0]->NotButton.PhysicalMin = 0
82pp_data->cap[0]->NotButton.PhysicalMax = -1
83pp_data->cap[0]->Units = 0
84pp_data->cap[0]->UnitsExp = 0
85
86pp_data->cap[1]->UsagePage = 0x0001
87pp_data->cap[1]->ReportID = 0x00
88pp_data->cap[1]->BitPosition = 0
89pp_data->cap[1]->BitSize = 16
90pp_data->cap[1]->ReportCount = 1
91pp_data->cap[1]->BytePosition = 0x0001
92pp_data->cap[1]->BitCount = 16
93pp_data->cap[1]->BitField = 0x02
94pp_data->cap[1]->NextBytePosition = 0x0003
95pp_data->cap[1]->LinkCollection = 0x0001
96pp_data->cap[1]->LinkUsagePage = 0x0001
97pp_data->cap[1]->LinkUsage = 0x0000
98pp_data->cap[1]->IsMultipleItemsForArray = 0
99pp_data->cap[1]->IsButtonCap = 0
100pp_data->cap[1]->IsPadding = 0
101pp_data->cap[1]->IsAbsolute = 1
102pp_data->cap[1]->IsRange = 0
103pp_data->cap[1]->IsAlias = 0
104pp_data->cap[1]->IsStringRange = 0
105pp_data->cap[1]->IsDesignatorRange = 0
106pp_data->cap[1]->Reserved1 = 0x000000
107pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
116pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
117pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
118pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
119pp_data->cap[1]->NotRange.Usage = 0x0030
120pp_data->cap[1]->NotRange.Reserved1 = 0x0030
121pp_data->cap[1]->NotRange.StringIndex = 0
122pp_data->cap[1]->NotRange.Reserved2 = 0
123pp_data->cap[1]->NotRange.DesignatorIndex = 0
124pp_data->cap[1]->NotRange.Reserved3 = 0
125pp_data->cap[1]->NotRange.DataIndex = 1
126pp_data->cap[1]->NotRange.Reserved4 = 1
127pp_data->cap[1]->NotButton.HasNull = 0
128pp_data->cap[1]->NotButton.Reserved4 = 0x000000
129pp_data->cap[1]->NotButton.LogicalMin = 0
130pp_data->cap[1]->NotButton.LogicalMax = -1
131pp_data->cap[1]->NotButton.PhysicalMin = 0
132pp_data->cap[1]->NotButton.PhysicalMax = -1
133pp_data->cap[1]->Units = 0
134pp_data->cap[1]->UnitsExp = 0
135
136pp_data->cap[2]->UsagePage = 0x0001
137pp_data->cap[2]->ReportID = 0x00
138pp_data->cap[2]->BitPosition = 0
139pp_data->cap[2]->BitSize = 16
140pp_data->cap[2]->ReportCount = 1
141pp_data->cap[2]->BytePosition = 0x0007
142pp_data->cap[2]->BitCount = 16
143pp_data->cap[2]->BitField = 0x02
144pp_data->cap[2]->NextBytePosition = 0x0009
145pp_data->cap[2]->LinkCollection = 0x0002
146pp_data->cap[2]->LinkUsagePage = 0x0001
147pp_data->cap[2]->LinkUsage = 0x0000
148pp_data->cap[2]->IsMultipleItemsForArray = 0
149pp_data->cap[2]->IsButtonCap = 0
150pp_data->cap[2]->IsPadding = 0
151pp_data->cap[2]->IsAbsolute = 1
152pp_data->cap[2]->IsRange = 0
153pp_data->cap[2]->IsAlias = 0
154pp_data->cap[2]->IsStringRange = 0
155pp_data->cap[2]->IsDesignatorRange = 0
156pp_data->cap[2]->Reserved1 = 0x000000
157pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
158pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
159pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
160pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
161pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
162pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
163pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
164pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
165pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
166pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
167pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
168pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
169pp_data->cap[2]->NotRange.Usage = 0x0034
170pp_data->cap[2]->NotRange.Reserved1 = 0x0034
171pp_data->cap[2]->NotRange.StringIndex = 0
172pp_data->cap[2]->NotRange.Reserved2 = 0
173pp_data->cap[2]->NotRange.DesignatorIndex = 0
174pp_data->cap[2]->NotRange.Reserved3 = 0
175pp_data->cap[2]->NotRange.DataIndex = 2
176pp_data->cap[2]->NotRange.Reserved4 = 2
177pp_data->cap[2]->NotButton.HasNull = 0
178pp_data->cap[2]->NotButton.Reserved4 = 0x000000
179pp_data->cap[2]->NotButton.LogicalMin = 0
180pp_data->cap[2]->NotButton.LogicalMax = -1
181pp_data->cap[2]->NotButton.PhysicalMin = 0
182pp_data->cap[2]->NotButton.PhysicalMax = -1
183pp_data->cap[2]->Units = 0
184pp_data->cap[2]->UnitsExp = 0
185
186pp_data->cap[3]->UsagePage = 0x0001
187pp_data->cap[3]->ReportID = 0x00
188pp_data->cap[3]->BitPosition = 0
189pp_data->cap[3]->BitSize = 16
190pp_data->cap[3]->ReportCount = 1
191pp_data->cap[3]->BytePosition = 0x0005
192pp_data->cap[3]->BitCount = 16
193pp_data->cap[3]->BitField = 0x02
194pp_data->cap[3]->NextBytePosition = 0x0007
195pp_data->cap[3]->LinkCollection = 0x0002
196pp_data->cap[3]->LinkUsagePage = 0x0001
197pp_data->cap[3]->LinkUsage = 0x0000
198pp_data->cap[3]->IsMultipleItemsForArray = 0
199pp_data->cap[3]->IsButtonCap = 0
200pp_data->cap[3]->IsPadding = 0
201pp_data->cap[3]->IsAbsolute = 1
202pp_data->cap[3]->IsRange = 0
203pp_data->cap[3]->IsAlias = 0
204pp_data->cap[3]->IsStringRange = 0
205pp_data->cap[3]->IsDesignatorRange = 0
206pp_data->cap[3]->Reserved1 = 0x000000
207pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
208pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
209pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
210pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
211pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
212pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
213pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
214pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
215pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
216pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
217pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
218pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
219pp_data->cap[3]->NotRange.Usage = 0x0033
220pp_data->cap[3]->NotRange.Reserved1 = 0x0033
221pp_data->cap[3]->NotRange.StringIndex = 0
222pp_data->cap[3]->NotRange.Reserved2 = 0
223pp_data->cap[3]->NotRange.DesignatorIndex = 0
224pp_data->cap[3]->NotRange.Reserved3 = 0
225pp_data->cap[3]->NotRange.DataIndex = 3
226pp_data->cap[3]->NotRange.Reserved4 = 3
227pp_data->cap[3]->NotButton.HasNull = 0
228pp_data->cap[3]->NotButton.Reserved4 = 0x000000
229pp_data->cap[3]->NotButton.LogicalMin = 0
230pp_data->cap[3]->NotButton.LogicalMax = -1
231pp_data->cap[3]->NotButton.PhysicalMin = 0
232pp_data->cap[3]->NotButton.PhysicalMax = -1
233pp_data->cap[3]->Units = 0
234pp_data->cap[3]->UnitsExp = 0
235
236pp_data->cap[4]->UsagePage = 0x0001
237pp_data->cap[4]->ReportID = 0x00
238pp_data->cap[4]->BitPosition = 0
239pp_data->cap[4]->BitSize = 16
240pp_data->cap[4]->ReportCount = 1
241pp_data->cap[4]->BytePosition = 0x0009
242pp_data->cap[4]->BitCount = 16
243pp_data->cap[4]->BitField = 0x02
244pp_data->cap[4]->NextBytePosition = 0x000B
245pp_data->cap[4]->LinkCollection = 0x0003
246pp_data->cap[4]->LinkUsagePage = 0x0001
247pp_data->cap[4]->LinkUsage = 0x0000
248pp_data->cap[4]->IsMultipleItemsForArray = 0
249pp_data->cap[4]->IsButtonCap = 0
250pp_data->cap[4]->IsPadding = 0
251pp_data->cap[4]->IsAbsolute = 1
252pp_data->cap[4]->IsRange = 0
253pp_data->cap[4]->IsAlias = 0
254pp_data->cap[4]->IsStringRange = 0
255pp_data->cap[4]->IsDesignatorRange = 0
256pp_data->cap[4]->Reserved1 = 0x000000
257pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
258pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
259pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
260pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
261pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
262pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
263pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
264pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
265pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
266pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
267pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
268pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
269pp_data->cap[4]->NotRange.Usage = 0x0032
270pp_data->cap[4]->NotRange.Reserved1 = 0x0032
271pp_data->cap[4]->NotRange.StringIndex = 0
272pp_data->cap[4]->NotRange.Reserved2 = 0
273pp_data->cap[4]->NotRange.DesignatorIndex = 0
274pp_data->cap[4]->NotRange.Reserved3 = 0
275pp_data->cap[4]->NotRange.DataIndex = 4
276pp_data->cap[4]->NotRange.Reserved4 = 4
277pp_data->cap[4]->NotButton.HasNull = 0
278pp_data->cap[4]->NotButton.Reserved4 = 0x000000
279pp_data->cap[4]->NotButton.LogicalMin = 0
280pp_data->cap[4]->NotButton.LogicalMax = -1
281pp_data->cap[4]->NotButton.PhysicalMin = 0
282pp_data->cap[4]->NotButton.PhysicalMax = -1
283pp_data->cap[4]->Units = 0
284pp_data->cap[4]->UnitsExp = 0
285
286pp_data->cap[5]->UsagePage = 0x0009
287pp_data->cap[5]->ReportID = 0x00
288pp_data->cap[5]->BitPosition = 0
289pp_data->cap[5]->BitSize = 1
290pp_data->cap[5]->ReportCount = 16
291pp_data->cap[5]->BytePosition = 0x000B
292pp_data->cap[5]->BitCount = 16
293pp_data->cap[5]->BitField = 0x02
294pp_data->cap[5]->NextBytePosition = 0x000D
295pp_data->cap[5]->LinkCollection = 0x0000
296pp_data->cap[5]->LinkUsagePage = 0x0001
297pp_data->cap[5]->LinkUsage = 0x0005
298pp_data->cap[5]->IsMultipleItemsForArray = 0
299pp_data->cap[5]->IsButtonCap = 1
300pp_data->cap[5]->IsPadding = 0
301pp_data->cap[5]->IsAbsolute = 1
302pp_data->cap[5]->IsRange = 1
303pp_data->cap[5]->IsAlias = 0
304pp_data->cap[5]->IsStringRange = 0
305pp_data->cap[5]->IsDesignatorRange = 0
306pp_data->cap[5]->Reserved1 = 0x000000
307pp_data->cap[5]->pp_cap->UnknownTokens[0].Token = 0x00
308pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
309pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
310pp_data->cap[5]->pp_cap->UnknownTokens[1].Token = 0x00
311pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
312pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
313pp_data->cap[5]->pp_cap->UnknownTokens[2].Token = 0x00
314pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
315pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
316pp_data->cap[5]->pp_cap->UnknownTokens[3].Token = 0x00
317pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
318pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
319pp_data->cap[5]->Range.UsageMin = 0x0001
320pp_data->cap[5]->Range.UsageMax = 0x0010
321pp_data->cap[5]->Range.StringMin = 0
322pp_data->cap[5]->Range.StringMax = 0
323pp_data->cap[5]->Range.DesignatorMin = 0
324pp_data->cap[5]->Range.DesignatorMax = 0
325pp_data->cap[5]->Range.DataIndexMin = 5
326pp_data->cap[5]->Range.DataIndexMax = 20
327pp_data->cap[5]->Button.LogicalMin = 0
328pp_data->cap[5]->Button.LogicalMax = 0
329pp_data->cap[5]->Units = 0
330pp_data->cap[5]->UnitsExp = 0
331
332pp_data->cap[6]->UsagePage = 0x0001
333pp_data->cap[6]->ReportID = 0x00
334pp_data->cap[6]->BitPosition = 0
335pp_data->cap[6]->BitSize = 4
336pp_data->cap[6]->ReportCount = 1
337pp_data->cap[6]->BytePosition = 0x000D
338pp_data->cap[6]->BitCount = 4
339pp_data->cap[6]->BitField = 0x42
340pp_data->cap[6]->NextBytePosition = 0x000E
341pp_data->cap[6]->LinkCollection = 0x0000
342pp_data->cap[6]->LinkUsagePage = 0x0001
343pp_data->cap[6]->LinkUsage = 0x0005
344pp_data->cap[6]->IsMultipleItemsForArray = 0
345pp_data->cap[6]->IsButtonCap = 0
346pp_data->cap[6]->IsPadding = 0
347pp_data->cap[6]->IsAbsolute = 1
348pp_data->cap[6]->IsRange = 0
349pp_data->cap[6]->IsAlias = 0
350pp_data->cap[6]->IsStringRange = 0
351pp_data->cap[6]->IsDesignatorRange = 0
352pp_data->cap[6]->Reserved1 = 0x000000
353pp_data->cap[6]->pp_cap->UnknownTokens[0].Token = 0x00
354pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
355pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
356pp_data->cap[6]->pp_cap->UnknownTokens[1].Token = 0x00
357pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
358pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
359pp_data->cap[6]->pp_cap->UnknownTokens[2].Token = 0x00
360pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
361pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
362pp_data->cap[6]->pp_cap->UnknownTokens[3].Token = 0x00
363pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
364pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
365pp_data->cap[6]->NotRange.Usage = 0x0039
366pp_data->cap[6]->NotRange.Reserved1 = 0x0039
367pp_data->cap[6]->NotRange.StringIndex = 0
368pp_data->cap[6]->NotRange.Reserved2 = 0
369pp_data->cap[6]->NotRange.DesignatorIndex = 0
370pp_data->cap[6]->NotRange.Reserved3 = 0
371pp_data->cap[6]->NotRange.DataIndex = 21
372pp_data->cap[6]->NotRange.Reserved4 = 21
373pp_data->cap[6]->NotButton.HasNull = 1
374pp_data->cap[6]->NotButton.Reserved4 = 0x000000
375pp_data->cap[6]->NotButton.LogicalMin = 1
376pp_data->cap[6]->NotButton.LogicalMax = 8
377pp_data->cap[6]->NotButton.PhysicalMin = 0
378pp_data->cap[6]->NotButton.PhysicalMax = 4155
379pp_data->cap[6]->Units = 14
380pp_data->cap[6]->UnitsExp = 0
381
382# Output hid_pp_cap struct:
383# Feature hid_pp_cap struct:
384# Link Collections:
385pp_data->LinkCollectionArray[0]->LinkUsage = 0x0005
386pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
387pp_data->LinkCollectionArray[0]->Parent = 0
388pp_data->LinkCollectionArray[0]->NumberOfChildren = 3
389pp_data->LinkCollectionArray[0]->NextSibling = 0
390pp_data->LinkCollectionArray[0]->FirstChild = 3
391pp_data->LinkCollectionArray[0]->CollectionType = 1
392pp_data->LinkCollectionArray[0]->IsAlias = 0
393pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
394pp_data->LinkCollectionArray[1]->LinkUsage = 0x0000
395pp_data->LinkCollectionArray[1]->LinkUsagePage = 0x0001
396pp_data->LinkCollectionArray[1]->Parent = 0
397pp_data->LinkCollectionArray[1]->NumberOfChildren = 0
398pp_data->LinkCollectionArray[1]->NextSibling = 0
399pp_data->LinkCollectionArray[1]->FirstChild = 0
400pp_data->LinkCollectionArray[1]->CollectionType = 0
401pp_data->LinkCollectionArray[1]->IsAlias = 0
402pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
403pp_data->LinkCollectionArray[2]->LinkUsage = 0x0000
404pp_data->LinkCollectionArray[2]->LinkUsagePage = 0x0001
405pp_data->LinkCollectionArray[2]->Parent = 0
406pp_data->LinkCollectionArray[2]->NumberOfChildren = 0
407pp_data->LinkCollectionArray[2]->NextSibling = 1
408pp_data->LinkCollectionArray[2]->FirstChild = 0
409pp_data->LinkCollectionArray[2]->CollectionType = 0
410pp_data->LinkCollectionArray[2]->IsAlias = 0
411pp_data->LinkCollectionArray[2]->Reserved = 0x00000000
412pp_data->LinkCollectionArray[3]->LinkUsage = 0x0000
413pp_data->LinkCollectionArray[3]->LinkUsagePage = 0x0001
414pp_data->LinkCollectionArray[3]->Parent = 0
415pp_data->LinkCollectionArray[3]->NumberOfChildren = 0
416pp_data->LinkCollectionArray[3]->NextSibling = 2
417pp_data->LinkCollectionArray[3]->FirstChild = 0
418pp_data->LinkCollectionArray[3]->CollectionType = 0
419pp_data->LinkCollectionArray[3]->IsAlias = 0
420pp_data->LinkCollectionArray[3]->Reserved = 0x00000000 \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_expected.rpt_desc
new file mode 100644
index 0000000..58f80e4
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_expected.rpt_desc
@@ -0,0 +1,12 @@
10x05, 0x01, 0x09, 0x05, 0xA1, 0x01, 0x09, 0x00, 0xA1, 0x00,
20x09, 0x30, 0x09, 0x31, 0x15, 0x00, 0x25, 0xFF, 0x35, 0x00,
30x45, 0xFF, 0x75, 0x10, 0x95, 0x02, 0x81, 0x02, 0xC0, 0x09,
40x00, 0xA1, 0x00, 0x09, 0x33, 0x09, 0x34, 0x15, 0x00, 0x25,
50xFF, 0x75, 0x10, 0x95, 0x02, 0x81, 0x02, 0xC0, 0x09, 0x00,
60xA1, 0x00, 0x09, 0x32, 0x15, 0x00, 0x25, 0xFF, 0x75, 0x10,
70x95, 0x01, 0x81, 0x02, 0xC0, 0x05, 0x09, 0x19, 0x01, 0x29,
80x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x45,
90x00, 0x81, 0x02, 0x05, 0x01, 0x09, 0x39, 0x15, 0x01, 0x25,
100x08, 0x35, 0x00, 0x46, 0x3B, 0x10, 0x65, 0x0E, 0x75, 0x04,
110x95, 0x01, 0x81, 0x42, 0x75, 0x04, 0x95, 0x01, 0x81, 0x03,
120xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_real.rpt_desc
new file mode 100644
index 0000000..11cc78b
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/045E_02FF_0005_0001_real.rpt_desc
@@ -0,0 +1,64 @@
1// Special cases of this device:
2// 2 full padding bytes at the end
3// Multiple child collections inside of the same report (byte position of Input items defines collection order)
4
50x05, 0x01, // Usage Page (Generic Desktop Ctrls)
60x09, 0x05, // Usage (Game Pad)
70xA1, 0x01, // Collection (Application)
80xA1, 0x00, // Collection (Physical)
90x09, 0x30, // Usage (X)
100x09, 0x31, // Usage (Y)
110x15, 0x00, // Logical Minimum (0)
120x26, 0xFF, 0xFF, // Logical Maximum (-1)
130x35, 0x00, // Physical Minimum (0)
140x46, 0xFF, 0xFF, // Physical Maximum (-1)
150x95, 0x02, // Report Count (2)
160x75, 0x10, // Report Size (16)
170x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
180xC0, // End Collection
190xA1, 0x00, // Collection (Physical)
200x09, 0x33, // Usage (Rx)
210x09, 0x34, // Usage (Ry)
220x15, 0x00, // Logical Minimum (0)
230x26, 0xFF, 0xFF, // Logical Maximum (-1)
240x35, 0x00, // Physical Minimum (0)
250x46, 0xFF, 0xFF, // Physical Maximum (-1)
260x95, 0x02, // Report Count (2)
270x75, 0x10, // Report Size (16)
280x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
290xC0, // End Collection
300xA1, 0x00, // Collection (Physical)
310x09, 0x32, // Usage (Z)
320x15, 0x00, // Logical Minimum (0)
330x26, 0xFF, 0xFF, // Logical Maximum (-1)
340x35, 0x00, // Physical Minimum (0)
350x46, 0xFF, 0xFF, // Physical Maximum (-1)
360x95, 0x01, // Report Count (1)
370x75, 0x10, // Report Size (16)
380x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
390xC0, // End Collection
400x05, 0x09, // Usage Page (Button)
410x19, 0x01, // Usage Minimum (0x01)
420x29, 0x10, // Usage Maximum (0x10)
430x95, 0x10, // Report Count (16)
440x75, 0x01, // Report Size (1)
450x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
460x05, 0x01, // Usage Page (Generic Desktop Ctrls)
470x09, 0x39, // Usage (Hat switch)
480x15, 0x01, // Logical Minimum (1)
490x25, 0x08, // Logical Maximum (8)
500x35, 0x00, // Physical Minimum (0)
510x46, 0x3B, 0x10, // Physical Maximum (4155)
520x66, 0x0E, 0x00, // Unit (None)
530x75, 0x04, // Report Size (4)
540x95, 0x01, // Report Count (1)
550x81, 0x42, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
560x75, 0x04, // Report Size (4)
570x95, 0x01, // Report Count (1)
580x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
590x75, 0x08, // Report Size (8)
600x95, 0x02, // Report Count (2)
610x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
620xC0, // End Collection
63
64// 120 bytes \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001.pp_data
new file mode 100644
index 0000000..59eb600
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001.pp_data
@@ -0,0 +1,183 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046A
3dev->product_id = 0x0011
4dev->manufacturer_string = "dev->product_string = "dev->release_number = 0x0100
5dev->interface_number = -1
6dev->usage = 0x0006
7dev->usage_page = 0x0001
8dev->path = "\\?\hid#vid_046a&pid_0011#7&2c7fd0a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
9
10# Preparsed Data struct:
11pp_data->MagicKey = 0x48696450204B4452
12pp_data->Usage = 0x0006
13pp_data->UsagePage = 0x0001
14pp_data->Reserved = 0x00000000
15# Input caps_info struct:
16pp_data->caps_info[0]->FirstCap = 0
17pp_data->caps_info[0]->LastCap = 2
18pp_data->caps_info[0]->NumberOfCaps = 2
19pp_data->caps_info[0]->ReportByteLength = 9
20# Output caps_info struct:
21pp_data->caps_info[1]->FirstCap = 2
22pp_data->caps_info[1]->LastCap = 3
23pp_data->caps_info[1]->NumberOfCaps = 1
24pp_data->caps_info[1]->ReportByteLength = 2
25# Feature caps_info struct:
26pp_data->caps_info[2]->FirstCap = 3
27pp_data->caps_info[2]->LastCap = 3
28pp_data->caps_info[2]->NumberOfCaps = 0
29pp_data->caps_info[2]->ReportByteLength = 0
30# LinkCollectionArray Offset & Size:
31pp_data->FirstByteOfLinkCollectionArray = 0x0138
32pp_data->NumberLinkCollectionNodes = 1
33# Input hid_pp_cap struct:
34pp_data->cap[0]->UsagePage = 0x0007
35pp_data->cap[0]->ReportID = 0x00
36pp_data->cap[0]->BitPosition = 0
37pp_data->cap[0]->BitSize = 1
38pp_data->cap[0]->ReportCount = 8
39pp_data->cap[0]->BytePosition = 0x0001
40pp_data->cap[0]->BitCount = 8
41pp_data->cap[0]->BitField = 0x02
42pp_data->cap[0]->NextBytePosition = 0x0002
43pp_data->cap[0]->LinkCollection = 0x0000
44pp_data->cap[0]->LinkUsagePage = 0x0001
45pp_data->cap[0]->LinkUsage = 0x0006
46pp_data->cap[0]->IsMultipleItemsForArray = 0
47pp_data->cap[0]->IsButtonCap = 1
48pp_data->cap[0]->IsPadding = 0
49pp_data->cap[0]->IsAbsolute = 1
50pp_data->cap[0]->IsRange = 1
51pp_data->cap[0]->IsAlias = 0
52pp_data->cap[0]->IsStringRange = 0
53pp_data->cap[0]->IsDesignatorRange = 0
54pp_data->cap[0]->Reserved1 = 0x000000
55pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
56pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
58pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
59pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
61pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
62pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
64pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
65pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
67pp_data->cap[0]->Range.UsageMin = 0x00E0
68pp_data->cap[0]->Range.UsageMax = 0x00E7
69pp_data->cap[0]->Range.StringMin = 0
70pp_data->cap[0]->Range.StringMax = 0
71pp_data->cap[0]->Range.DesignatorMin = 0
72pp_data->cap[0]->Range.DesignatorMax = 0
73pp_data->cap[0]->Range.DataIndexMin = 0
74pp_data->cap[0]->Range.DataIndexMax = 7
75pp_data->cap[0]->Button.LogicalMin = 0
76pp_data->cap[0]->Button.LogicalMax = 0
77pp_data->cap[0]->Units = 0
78pp_data->cap[0]->UnitsExp = 0
79
80pp_data->cap[1]->UsagePage = 0x0007
81pp_data->cap[1]->ReportID = 0x00
82pp_data->cap[1]->BitPosition = 0
83pp_data->cap[1]->BitSize = 8
84pp_data->cap[1]->ReportCount = 6
85pp_data->cap[1]->BytePosition = 0x0003
86pp_data->cap[1]->BitCount = 48
87pp_data->cap[1]->BitField = 0x00
88pp_data->cap[1]->NextBytePosition = 0x0009
89pp_data->cap[1]->LinkCollection = 0x0000
90pp_data->cap[1]->LinkUsagePage = 0x0001
91pp_data->cap[1]->LinkUsage = 0x0006
92pp_data->cap[1]->IsMultipleItemsForArray = 0
93pp_data->cap[1]->IsButtonCap = 1
94pp_data->cap[1]->IsPadding = 0
95pp_data->cap[1]->IsAbsolute = 1
96pp_data->cap[1]->IsRange = 1
97pp_data->cap[1]->IsAlias = 0
98pp_data->cap[1]->IsStringRange = 0
99pp_data->cap[1]->IsDesignatorRange = 0
100pp_data->cap[1]->Reserved1 = 0x000000
101pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
102pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
104pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
105pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
107pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
113pp_data->cap[1]->Range.UsageMin = 0x0000
114pp_data->cap[1]->Range.UsageMax = 0x00DD
115pp_data->cap[1]->Range.StringMin = 0
116pp_data->cap[1]->Range.StringMax = 0
117pp_data->cap[1]->Range.DesignatorMin = 0
118pp_data->cap[1]->Range.DesignatorMax = 0
119pp_data->cap[1]->Range.DataIndexMin = 8
120pp_data->cap[1]->Range.DataIndexMax = 229
121pp_data->cap[1]->Button.LogicalMin = 0
122pp_data->cap[1]->Button.LogicalMax = 221
123pp_data->cap[1]->Units = 0
124pp_data->cap[1]->UnitsExp = 0
125
126# Output hid_pp_cap struct:
127pp_data->cap[2]->UsagePage = 0x0008
128pp_data->cap[2]->ReportID = 0x00
129pp_data->cap[2]->BitPosition = 0
130pp_data->cap[2]->BitSize = 1
131pp_data->cap[2]->ReportCount = 3
132pp_data->cap[2]->BytePosition = 0x0001
133pp_data->cap[2]->BitCount = 3
134pp_data->cap[2]->BitField = 0x02
135pp_data->cap[2]->NextBytePosition = 0x0002
136pp_data->cap[2]->LinkCollection = 0x0000
137pp_data->cap[2]->LinkUsagePage = 0x0001
138pp_data->cap[2]->LinkUsage = 0x0006
139pp_data->cap[2]->IsMultipleItemsForArray = 0
140pp_data->cap[2]->IsButtonCap = 1
141pp_data->cap[2]->IsPadding = 0
142pp_data->cap[2]->IsAbsolute = 1
143pp_data->cap[2]->IsRange = 1
144pp_data->cap[2]->IsAlias = 0
145pp_data->cap[2]->IsStringRange = 0
146pp_data->cap[2]->IsDesignatorRange = 0
147pp_data->cap[2]->Reserved1 = 0x000000
148pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
149pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
150pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
151pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
152pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
153pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
154pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
155pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
156pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
157pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
158pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
159pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
160pp_data->cap[2]->Range.UsageMin = 0x0001
161pp_data->cap[2]->Range.UsageMax = 0x0003
162pp_data->cap[2]->Range.StringMin = 0
163pp_data->cap[2]->Range.StringMax = 0
164pp_data->cap[2]->Range.DesignatorMin = 0
165pp_data->cap[2]->Range.DesignatorMax = 0
166pp_data->cap[2]->Range.DataIndexMin = 0
167pp_data->cap[2]->Range.DataIndexMax = 2
168pp_data->cap[2]->Button.LogicalMin = 0
169pp_data->cap[2]->Button.LogicalMax = 0
170pp_data->cap[2]->Units = 0
171pp_data->cap[2]->UnitsExp = 0
172
173# Feature hid_pp_cap struct:
174# Link Collections:
175pp_data->LinkCollectionArray[0]->LinkUsage = 0x0006
176pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
177pp_data->LinkCollectionArray[0]->Parent = 0
178pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
179pp_data->LinkCollectionArray[0]->NextSibling = 0
180pp_data->LinkCollectionArray[0]->FirstChild = 0
181pp_data->LinkCollectionArray[0]->CollectionType = 1
182pp_data->LinkCollectionArray[0]->IsAlias = 0
183pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_expected.rpt_desc
new file mode 100644
index 0000000..e9bc501
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_expected.rpt_desc
@@ -0,0 +1,7 @@
10x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x05, 0x07, 0x19, 0xE0,
20x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
30x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
40x29, 0xDD, 0x15, 0x00, 0x26, 0xDD, 0x00, 0x75, 0x08, 0x95,
50x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15,
60x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75,
70x05, 0x95, 0x01, 0x91, 0x03, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_real.rpt_desc
new file mode 100644
index 0000000..e9bc501
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046A_0011_0006_0001_real.rpt_desc
@@ -0,0 +1,7 @@
10x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x05, 0x07, 0x19, 0xE0,
20x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
30x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
40x29, 0xDD, 0x15, 0x00, 0x26, 0xDD, 0x00, 0x75, 0x08, 0x95,
50x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15,
60x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75,
70x05, 0x95, 0x01, 0x91, 0x03, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C.pp_data
new file mode 100644
index 0000000..3bc7aad
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C.pp_data
@@ -0,0 +1,532 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0x0A37
4dev->manufacturer_string = "Logitech Inc "
5dev->product_string = "Logitech USB Headset H540"
6dev->release_number = 0x0122
7dev->interface_number = 3
8dev->usage = 0x0001
9dev->usage_page = 0x000C
10dev->path = "\\?\hid#vid_046d&pid_0a37&mi_03#8&1717f300&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0x000C
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 7
20pp_data->caps_info[0]->NumberOfCaps = 9
21pp_data->caps_info[0]->ReportByteLength = 33
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 9
24pp_data->caps_info[1]->LastCap = 12
25pp_data->caps_info[1]->NumberOfCaps = 3
26pp_data->caps_info[1]->ReportByteLength = 37
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 12
29pp_data->caps_info[2]->LastCap = 12
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x04E0
34pp_data->NumberLinkCollectionNodes = 2
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x000C
37pp_data->cap[0]->ReportID = 0x01
38pp_data->cap[0]->BitPosition = 1
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 1
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x000C
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x00EA
70pp_data->cap[0]->NotRange.Reserved1 = 0x00EA
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x000C
83pp_data->cap[1]->ReportID = 0x01
84pp_data->cap[1]->BitPosition = 0
85pp_data->cap[1]->BitSize = 1
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0001
88pp_data->cap[1]->BitCount = 1
89pp_data->cap[1]->BitField = 0x02
90pp_data->cap[1]->NextBytePosition = 0x0002
91pp_data->cap[1]->LinkCollection = 0x0000
92pp_data->cap[1]->LinkUsagePage = 0x000C
93pp_data->cap[1]->LinkUsage = 0x0001
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 1
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 1
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x00E9
116pp_data->cap[1]->NotRange.Reserved1 = 0x00E9
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 1
122pp_data->cap[1]->NotRange.Reserved4 = 1
123pp_data->cap[1]->Button.LogicalMin = 0
124pp_data->cap[1]->Button.LogicalMax = 0
125pp_data->cap[1]->Units = 0
126pp_data->cap[1]->UnitsExp = 0
127
128pp_data->cap[2]->UsagePage = 0x000C
129pp_data->cap[2]->ReportID = 0x01
130pp_data->cap[2]->BitPosition = 2
131pp_data->cap[2]->BitSize = 1
132pp_data->cap[2]->ReportCount = 1
133pp_data->cap[2]->BytePosition = 0x0001
134pp_data->cap[2]->BitCount = 1
135pp_data->cap[2]->BitField = 0x06
136pp_data->cap[2]->NextBytePosition = 0x0002
137pp_data->cap[2]->LinkCollection = 0x0000
138pp_data->cap[2]->LinkUsagePage = 0x000C
139pp_data->cap[2]->LinkUsage = 0x0001
140pp_data->cap[2]->IsMultipleItemsForArray = 0
141pp_data->cap[2]->IsButtonCap = 1
142pp_data->cap[2]->IsPadding = 0
143pp_data->cap[2]->IsAbsolute = 0
144pp_data->cap[2]->IsRange = 0
145pp_data->cap[2]->IsAlias = 0
146pp_data->cap[2]->IsStringRange = 0
147pp_data->cap[2]->IsDesignatorRange = 0
148pp_data->cap[2]->Reserved1 = 0x000000
149pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
150pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
151pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
152pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
153pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
154pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
155pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
156pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
157pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
158pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
159pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
160pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
161pp_data->cap[2]->NotRange.Usage = 0x00E2
162pp_data->cap[2]->NotRange.Reserved1 = 0x00E2
163pp_data->cap[2]->NotRange.StringIndex = 0
164pp_data->cap[2]->NotRange.Reserved2 = 0
165pp_data->cap[2]->NotRange.DesignatorIndex = 0
166pp_data->cap[2]->NotRange.Reserved3 = 0
167pp_data->cap[2]->NotRange.DataIndex = 2
168pp_data->cap[2]->NotRange.Reserved4 = 2
169pp_data->cap[2]->Button.LogicalMin = 0
170pp_data->cap[2]->Button.LogicalMax = 0
171pp_data->cap[2]->Units = 0
172pp_data->cap[2]->UnitsExp = 0
173
174pp_data->cap[3]->UsagePage = 0x0009
175pp_data->cap[3]->ReportID = 0x01
176pp_data->cap[3]->BitPosition = 5
177pp_data->cap[3]->BitSize = 2
178pp_data->cap[3]->ReportCount = 1
179pp_data->cap[3]->BytePosition = 0x0001
180pp_data->cap[3]->BitCount = 2
181pp_data->cap[3]->BitField = 0x40
182pp_data->cap[3]->NextBytePosition = 0x0002
183pp_data->cap[3]->LinkCollection = 0x0001
184pp_data->cap[3]->LinkUsagePage = 0x000C
185pp_data->cap[3]->LinkUsage = 0x0036
186pp_data->cap[3]->IsMultipleItemsForArray = 0
187pp_data->cap[3]->IsButtonCap = 1
188pp_data->cap[3]->IsPadding = 0
189pp_data->cap[3]->IsAbsolute = 1
190pp_data->cap[3]->IsRange = 1
191pp_data->cap[3]->IsAlias = 0
192pp_data->cap[3]->IsStringRange = 0
193pp_data->cap[3]->IsDesignatorRange = 0
194pp_data->cap[3]->Reserved1 = 0x000000
195pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
196pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
197pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
198pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
199pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
200pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
201pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
202pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
203pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
204pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
205pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
206pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
207pp_data->cap[3]->Range.UsageMin = 0x0001
208pp_data->cap[3]->Range.UsageMax = 0x0002
209pp_data->cap[3]->Range.StringMin = 0
210pp_data->cap[3]->Range.StringMax = 0
211pp_data->cap[3]->Range.DesignatorMin = 0
212pp_data->cap[3]->Range.DesignatorMax = 0
213pp_data->cap[3]->Range.DataIndexMin = 3
214pp_data->cap[3]->Range.DataIndexMax = 4
215pp_data->cap[3]->Button.LogicalMin = 1
216pp_data->cap[3]->Button.LogicalMax = 2
217pp_data->cap[3]->Units = 0
218pp_data->cap[3]->UnitsExp = 0
219
220pp_data->cap[4]->UsagePage = 0x000C
221pp_data->cap[4]->ReportID = 0x02
222pp_data->cap[4]->BitPosition = 0
223pp_data->cap[4]->BitSize = 1
224pp_data->cap[4]->ReportCount = 16
225pp_data->cap[4]->BytePosition = 0x0001
226pp_data->cap[4]->BitCount = 16
227pp_data->cap[4]->BitField = 0x02
228pp_data->cap[4]->NextBytePosition = 0x0003
229pp_data->cap[4]->LinkCollection = 0x0000
230pp_data->cap[4]->LinkUsagePage = 0x000C
231pp_data->cap[4]->LinkUsage = 0x0001
232pp_data->cap[4]->IsMultipleItemsForArray = 0
233pp_data->cap[4]->IsButtonCap = 1
234pp_data->cap[4]->IsPadding = 0
235pp_data->cap[4]->IsAbsolute = 1
236pp_data->cap[4]->IsRange = 0
237pp_data->cap[4]->IsAlias = 0
238pp_data->cap[4]->IsStringRange = 0
239pp_data->cap[4]->IsDesignatorRange = 0
240pp_data->cap[4]->Reserved1 = 0x000000
241pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
242pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
243pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
244pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
245pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
246pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
247pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
248pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
249pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
250pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
251pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
252pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
253pp_data->cap[4]->NotRange.Usage = 0x0000
254pp_data->cap[4]->NotRange.Reserved1 = 0x0000
255pp_data->cap[4]->NotRange.StringIndex = 0
256pp_data->cap[4]->NotRange.Reserved2 = 0
257pp_data->cap[4]->NotRange.DesignatorIndex = 0
258pp_data->cap[4]->NotRange.Reserved3 = 0
259pp_data->cap[4]->NotRange.DataIndex = 5
260pp_data->cap[4]->NotRange.Reserved4 = 5
261pp_data->cap[4]->Button.LogicalMin = 0
262pp_data->cap[4]->Button.LogicalMax = 0
263pp_data->cap[4]->Units = 0
264pp_data->cap[4]->UnitsExp = 0
265
266pp_data->cap[5]->UsagePage = 0x000C
267pp_data->cap[5]->ReportID = 0x05
268pp_data->cap[5]->BitPosition = 0
269pp_data->cap[5]->BitSize = 8
270pp_data->cap[5]->ReportCount = 32
271pp_data->cap[5]->BytePosition = 0x0001
272pp_data->cap[5]->BitCount = 256
273pp_data->cap[5]->BitField = 0x02
274pp_data->cap[5]->NextBytePosition = 0x0021
275pp_data->cap[5]->LinkCollection = 0x0000
276pp_data->cap[5]->LinkUsagePage = 0x000C
277pp_data->cap[5]->LinkUsage = 0x0001
278pp_data->cap[5]->IsMultipleItemsForArray = 0
279pp_data->cap[5]->IsButtonCap = 0
280pp_data->cap[5]->IsPadding = 0
281pp_data->cap[5]->IsAbsolute = 1
282pp_data->cap[5]->IsRange = 0
283pp_data->cap[5]->IsAlias = 0
284pp_data->cap[5]->IsStringRange = 0
285pp_data->cap[5]->IsDesignatorRange = 0
286pp_data->cap[5]->Reserved1 = 0x000000
287pp_data->cap[5]->pp_cap->UnknownTokens[0].Token = 0x00
288pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
289pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
290pp_data->cap[5]->pp_cap->UnknownTokens[1].Token = 0x00
291pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
292pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
293pp_data->cap[5]->pp_cap->UnknownTokens[2].Token = 0x00
294pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
295pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
296pp_data->cap[5]->pp_cap->UnknownTokens[3].Token = 0x00
297pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
298pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
299pp_data->cap[5]->NotRange.Usage = 0x0000
300pp_data->cap[5]->NotRange.Reserved1 = 0x0000
301pp_data->cap[5]->NotRange.StringIndex = 0
302pp_data->cap[5]->NotRange.Reserved2 = 0
303pp_data->cap[5]->NotRange.DesignatorIndex = 0
304pp_data->cap[5]->NotRange.Reserved3 = 0
305pp_data->cap[5]->NotRange.DataIndex = 6
306pp_data->cap[5]->NotRange.Reserved4 = 6
307pp_data->cap[5]->NotButton.HasNull = 0
308pp_data->cap[5]->NotButton.Reserved4 = 0x000000
309pp_data->cap[5]->NotButton.LogicalMin = 0
310pp_data->cap[5]->NotButton.LogicalMax = 1
311pp_data->cap[5]->NotButton.PhysicalMin = 0
312pp_data->cap[5]->NotButton.PhysicalMax = 0
313pp_data->cap[5]->Units = 0
314pp_data->cap[5]->UnitsExp = 0
315
316pp_data->cap[6]->UsagePage = 0x000C
317pp_data->cap[6]->ReportID = 0x07
318pp_data->cap[6]->BitPosition = 0
319pp_data->cap[6]->BitSize = 8
320pp_data->cap[6]->ReportCount = 32
321pp_data->cap[6]->BytePosition = 0x0001
322pp_data->cap[6]->BitCount = 256
323pp_data->cap[6]->BitField = 0x02
324pp_data->cap[6]->NextBytePosition = 0x0021
325pp_data->cap[6]->LinkCollection = 0x0000
326pp_data->cap[6]->LinkUsagePage = 0x000C
327pp_data->cap[6]->LinkUsage = 0x0001
328pp_data->cap[6]->IsMultipleItemsForArray = 0
329pp_data->cap[6]->IsButtonCap = 0
330pp_data->cap[6]->IsPadding = 0
331pp_data->cap[6]->IsAbsolute = 1
332pp_data->cap[6]->IsRange = 0
333pp_data->cap[6]->IsAlias = 0
334pp_data->cap[6]->IsStringRange = 0
335pp_data->cap[6]->IsDesignatorRange = 0
336pp_data->cap[6]->Reserved1 = 0x000000
337pp_data->cap[6]->pp_cap->UnknownTokens[0].Token = 0x00
338pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
339pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
340pp_data->cap[6]->pp_cap->UnknownTokens[1].Token = 0x00
341pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
342pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
343pp_data->cap[6]->pp_cap->UnknownTokens[2].Token = 0x00
344pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
345pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
346pp_data->cap[6]->pp_cap->UnknownTokens[3].Token = 0x00
347pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
348pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
349pp_data->cap[6]->NotRange.Usage = 0x0000
350pp_data->cap[6]->NotRange.Reserved1 = 0x0000
351pp_data->cap[6]->NotRange.StringIndex = 0
352pp_data->cap[6]->NotRange.Reserved2 = 0
353pp_data->cap[6]->NotRange.DesignatorIndex = 0
354pp_data->cap[6]->NotRange.Reserved3 = 0
355pp_data->cap[6]->NotRange.DataIndex = 7
356pp_data->cap[6]->NotRange.Reserved4 = 7
357pp_data->cap[6]->NotButton.HasNull = 0
358pp_data->cap[6]->NotButton.Reserved4 = 0x000000
359pp_data->cap[6]->NotButton.LogicalMin = 0
360pp_data->cap[6]->NotButton.LogicalMax = 1
361pp_data->cap[6]->NotButton.PhysicalMin = 0
362pp_data->cap[6]->NotButton.PhysicalMax = 0
363pp_data->cap[6]->Units = 0
364pp_data->cap[6]->UnitsExp = 0
365
366# Output hid_pp_cap struct:
367pp_data->cap[9]->UsagePage = 0x000C
368pp_data->cap[9]->ReportID = 0x03
369pp_data->cap[9]->BitPosition = 0
370pp_data->cap[9]->BitSize = 1
371pp_data->cap[9]->ReportCount = 16
372pp_data->cap[9]->BytePosition = 0x0001
373pp_data->cap[9]->BitCount = 16
374pp_data->cap[9]->BitField = 0x02
375pp_data->cap[9]->NextBytePosition = 0x0003
376pp_data->cap[9]->LinkCollection = 0x0000
377pp_data->cap[9]->LinkUsagePage = 0x000C
378pp_data->cap[9]->LinkUsage = 0x0001
379pp_data->cap[9]->IsMultipleItemsForArray = 0
380pp_data->cap[9]->IsButtonCap = 1
381pp_data->cap[9]->IsPadding = 0
382pp_data->cap[9]->IsAbsolute = 1
383pp_data->cap[9]->IsRange = 0
384pp_data->cap[9]->IsAlias = 0
385pp_data->cap[9]->IsStringRange = 0
386pp_data->cap[9]->IsDesignatorRange = 0
387pp_data->cap[9]->Reserved1 = 0x000000
388pp_data->cap[9]->pp_cap->UnknownTokens[0].Token = 0x00
389pp_data->cap[9]->pp_cap->UnknownTokens[0].Reserved = 0x000000
390pp_data->cap[9]->pp_cap->UnknownTokens[0].BitField = 0x00000000
391pp_data->cap[9]->pp_cap->UnknownTokens[1].Token = 0x00
392pp_data->cap[9]->pp_cap->UnknownTokens[1].Reserved = 0x000000
393pp_data->cap[9]->pp_cap->UnknownTokens[1].BitField = 0x00000000
394pp_data->cap[9]->pp_cap->UnknownTokens[2].Token = 0x00
395pp_data->cap[9]->pp_cap->UnknownTokens[2].Reserved = 0x000000
396pp_data->cap[9]->pp_cap->UnknownTokens[2].BitField = 0x00000000
397pp_data->cap[9]->pp_cap->UnknownTokens[3].Token = 0x00
398pp_data->cap[9]->pp_cap->UnknownTokens[3].Reserved = 0x000000
399pp_data->cap[9]->pp_cap->UnknownTokens[3].BitField = 0x00000000
400pp_data->cap[9]->NotRange.Usage = 0x0000
401pp_data->cap[9]->NotRange.Reserved1 = 0x0000
402pp_data->cap[9]->NotRange.StringIndex = 0
403pp_data->cap[9]->NotRange.Reserved2 = 0
404pp_data->cap[9]->NotRange.DesignatorIndex = 0
405pp_data->cap[9]->NotRange.Reserved3 = 0
406pp_data->cap[9]->NotRange.DataIndex = 0
407pp_data->cap[9]->NotRange.Reserved4 = 0
408pp_data->cap[9]->Button.LogicalMin = 0
409pp_data->cap[9]->Button.LogicalMax = 0
410pp_data->cap[9]->Units = 0
411pp_data->cap[9]->UnitsExp = 0
412
413pp_data->cap[10]->UsagePage = 0x000C
414pp_data->cap[10]->ReportID = 0x04
415pp_data->cap[10]->BitPosition = 0
416pp_data->cap[10]->BitSize = 8
417pp_data->cap[10]->ReportCount = 36
418pp_data->cap[10]->BytePosition = 0x0001
419pp_data->cap[10]->BitCount = 288
420pp_data->cap[10]->BitField = 0x02
421pp_data->cap[10]->NextBytePosition = 0x0025
422pp_data->cap[10]->LinkCollection = 0x0000
423pp_data->cap[10]->LinkUsagePage = 0x000C
424pp_data->cap[10]->LinkUsage = 0x0001
425pp_data->cap[10]->IsMultipleItemsForArray = 0
426pp_data->cap[10]->IsButtonCap = 0
427pp_data->cap[10]->IsPadding = 0
428pp_data->cap[10]->IsAbsolute = 1
429pp_data->cap[10]->IsRange = 0
430pp_data->cap[10]->IsAlias = 0
431pp_data->cap[10]->IsStringRange = 0
432pp_data->cap[10]->IsDesignatorRange = 0
433pp_data->cap[10]->Reserved1 = 0x000000
434pp_data->cap[10]->pp_cap->UnknownTokens[0].Token = 0x00
435pp_data->cap[10]->pp_cap->UnknownTokens[0].Reserved = 0x000000
436pp_data->cap[10]->pp_cap->UnknownTokens[0].BitField = 0x00000000
437pp_data->cap[10]->pp_cap->UnknownTokens[1].Token = 0x00
438pp_data->cap[10]->pp_cap->UnknownTokens[1].Reserved = 0x000000
439pp_data->cap[10]->pp_cap->UnknownTokens[1].BitField = 0x00000000
440pp_data->cap[10]->pp_cap->UnknownTokens[2].Token = 0x00
441pp_data->cap[10]->pp_cap->UnknownTokens[2].Reserved = 0x000000
442pp_data->cap[10]->pp_cap->UnknownTokens[2].BitField = 0x00000000
443pp_data->cap[10]->pp_cap->UnknownTokens[3].Token = 0x00
444pp_data->cap[10]->pp_cap->UnknownTokens[3].Reserved = 0x000000
445pp_data->cap[10]->pp_cap->UnknownTokens[3].BitField = 0x00000000
446pp_data->cap[10]->NotRange.Usage = 0x0000
447pp_data->cap[10]->NotRange.Reserved1 = 0x0000
448pp_data->cap[10]->NotRange.StringIndex = 0
449pp_data->cap[10]->NotRange.Reserved2 = 0
450pp_data->cap[10]->NotRange.DesignatorIndex = 0
451pp_data->cap[10]->NotRange.Reserved3 = 0
452pp_data->cap[10]->NotRange.DataIndex = 1
453pp_data->cap[10]->NotRange.Reserved4 = 1
454pp_data->cap[10]->NotButton.HasNull = 0
455pp_data->cap[10]->NotButton.Reserved4 = 0x000000
456pp_data->cap[10]->NotButton.LogicalMin = 0
457pp_data->cap[10]->NotButton.LogicalMax = 1
458pp_data->cap[10]->NotButton.PhysicalMin = 0
459pp_data->cap[10]->NotButton.PhysicalMax = 0
460pp_data->cap[10]->Units = 0
461pp_data->cap[10]->UnitsExp = 0
462
463pp_data->cap[11]->UsagePage = 0x000C
464pp_data->cap[11]->ReportID = 0x06
465pp_data->cap[11]->BitPosition = 0
466pp_data->cap[11]->BitSize = 8
467pp_data->cap[11]->ReportCount = 36
468pp_data->cap[11]->BytePosition = 0x0001
469pp_data->cap[11]->BitCount = 288
470pp_data->cap[11]->BitField = 0x02
471pp_data->cap[11]->NextBytePosition = 0x0025
472pp_data->cap[11]->LinkCollection = 0x0000
473pp_data->cap[11]->LinkUsagePage = 0x000C
474pp_data->cap[11]->LinkUsage = 0x0001
475pp_data->cap[11]->IsMultipleItemsForArray = 0
476pp_data->cap[11]->IsButtonCap = 0
477pp_data->cap[11]->IsPadding = 0
478pp_data->cap[11]->IsAbsolute = 1
479pp_data->cap[11]->IsRange = 0
480pp_data->cap[11]->IsAlias = 0
481pp_data->cap[11]->IsStringRange = 0
482pp_data->cap[11]->IsDesignatorRange = 0
483pp_data->cap[11]->Reserved1 = 0x000000
484pp_data->cap[11]->pp_cap->UnknownTokens[0].Token = 0x00
485pp_data->cap[11]->pp_cap->UnknownTokens[0].Reserved = 0x000000
486pp_data->cap[11]->pp_cap->UnknownTokens[0].BitField = 0x00000000
487pp_data->cap[11]->pp_cap->UnknownTokens[1].Token = 0x00
488pp_data->cap[11]->pp_cap->UnknownTokens[1].Reserved = 0x000000
489pp_data->cap[11]->pp_cap->UnknownTokens[1].BitField = 0x00000000
490pp_data->cap[11]->pp_cap->UnknownTokens[2].Token = 0x00
491pp_data->cap[11]->pp_cap->UnknownTokens[2].Reserved = 0x000000
492pp_data->cap[11]->pp_cap->UnknownTokens[2].BitField = 0x00000000
493pp_data->cap[11]->pp_cap->UnknownTokens[3].Token = 0x00
494pp_data->cap[11]->pp_cap->UnknownTokens[3].Reserved = 0x000000
495pp_data->cap[11]->pp_cap->UnknownTokens[3].BitField = 0x00000000
496pp_data->cap[11]->NotRange.Usage = 0x0000
497pp_data->cap[11]->NotRange.Reserved1 = 0x0000
498pp_data->cap[11]->NotRange.StringIndex = 0
499pp_data->cap[11]->NotRange.Reserved2 = 0
500pp_data->cap[11]->NotRange.DesignatorIndex = 0
501pp_data->cap[11]->NotRange.Reserved3 = 0
502pp_data->cap[11]->NotRange.DataIndex = 2
503pp_data->cap[11]->NotRange.Reserved4 = 2
504pp_data->cap[11]->NotButton.HasNull = 0
505pp_data->cap[11]->NotButton.Reserved4 = 0x000000
506pp_data->cap[11]->NotButton.LogicalMin = 0
507pp_data->cap[11]->NotButton.LogicalMax = 1
508pp_data->cap[11]->NotButton.PhysicalMin = 0
509pp_data->cap[11]->NotButton.PhysicalMax = 0
510pp_data->cap[11]->Units = 0
511pp_data->cap[11]->UnitsExp = 0
512
513# Feature hid_pp_cap struct:
514# Link Collections:
515pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
516pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x000C
517pp_data->LinkCollectionArray[0]->Parent = 0
518pp_data->LinkCollectionArray[0]->NumberOfChildren = 1
519pp_data->LinkCollectionArray[0]->NextSibling = 0
520pp_data->LinkCollectionArray[0]->FirstChild = 1
521pp_data->LinkCollectionArray[0]->CollectionType = 1
522pp_data->LinkCollectionArray[0]->IsAlias = 0
523pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
524pp_data->LinkCollectionArray[1]->LinkUsage = 0x0036
525pp_data->LinkCollectionArray[1]->LinkUsagePage = 0x000C
526pp_data->LinkCollectionArray[1]->Parent = 0
527pp_data->LinkCollectionArray[1]->NumberOfChildren = 0
528pp_data->LinkCollectionArray[1]->NextSibling = 0
529pp_data->LinkCollectionArray[1]->FirstChild = 0
530pp_data->LinkCollectionArray[1]->CollectionType = 2
531pp_data->LinkCollectionArray[1]->IsAlias = 0
532pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_expected.rpt_desc
new file mode 100644
index 0000000..363a8f5
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_expected.rpt_desc
@@ -0,0 +1,16 @@
10x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x01, 0x09, 0xE9,
20x09, 0xEA, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
30x81, 0x02, 0x09, 0xE2, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
40x95, 0x01, 0x81, 0x06, 0x75, 0x02, 0x95, 0x01, 0x81, 0x03,
50x09, 0x36, 0xA1, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02,
60x15, 0x01, 0x25, 0x02, 0x75, 0x02, 0x95, 0x01, 0x81, 0x40,
70x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0xC0, 0x85, 0x02, 0x05,
80x0C, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
90x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25,
100x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09,
110x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
120x02, 0x85, 0x03, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75,
130x01, 0x95, 0x10, 0x91, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15,
140x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85,
150x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95,
160x24, 0x91, 0x02, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_real.rpt_desc
new file mode 100644
index 0000000..c784743
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_0A37_0001_000C_real.rpt_desc
@@ -0,0 +1,61 @@
1Usage Page (Consumer Devices) 05 0C
2Usage (Consumer Control) 09 01
3Collection (Application) A1 01
4 Report ID (1) 85 01
5 Logical Minimum (0) 15 00
6 Logical Maximum (1) 25 01
7 Usage (Volume Increment) 09 E9
8 Usage (Volume Decrement) 09 EA
9 Report Size (1) 75 01
10 Report Count (2) 95 02
11 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
12 Usage (Mute) 09 E2
13 Report Count (1) 95 01
14 Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
15 Usage (Undefined) 09 00
16 Report Count (2) 95 02
17 Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
18 Usage (Function Buttons) 09 36
19 Collection (Logical) A1 02
20 Usage Page (Button) 05 09
21 Usage Minimum (Button 1) 19 01
22 Usage Maximum (Button 2) 29 02
23 Report Size (2) 75 02
24 Report Count (1) 95 01
25 Logical Minimum (1) 15 01
26 Logical Maximum (2) 25 02
27 Input (Data,Ary,Abs) 81 40
28 End Collection C0
29 Usage Page (Consumer Devices) 05 0C
30 Usage (Undefined) 09 00
31 Logical Minimum (0) 15 00
32 Logical Maximum (1) 25 01
33 Report Size (1) 75 01
34 Report Count (1) 95 01
35 Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
36 Report ID (2) 85 02
37 Usage Page (Consumer Devices) 05 0C
38 Usage (Undefined) 09 00
39 Report Count (16) 95 10
40 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
41 Report ID (3) 85 03
42 Usage (Undefined) 09 00
43 Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
44 Report ID (4) 85 04
45 Usage (Undefined) 09 00
46 Report Size (8) 75 08
47 Report Count (36) 95 24
48 Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
49 Report ID (5) 85 05
50 Usage (Undefined) 09 00
51 Report Count (32) 95 20
52 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
53 Report ID (6) 85 06
54 Usage (Undefined) 09 00
55 Report Count (36) 95 24
56 Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
57 Report ID (7) 85 07
58 Usage (Undefined) 09 00
59 Report Count (32) 95 20
60 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
61End Collection C0
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C.pp_data
new file mode 100644
index 0000000..047445b
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C.pp_data
@@ -0,0 +1,97 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xB010
4dev->manufacturer_string = "Logitech"
5dev->product_string = "Logitech Bluetooth Wireless Mouse"
6dev->release_number = 0x0000
7dev->interface_number = -1
8dev->usage = 0x0001
9dev->usage_page = 0x000C
10dev->path = "\\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col02#8&1cf1c1b9&3&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0x000C
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 2
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 1
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 1
29pp_data->caps_info[2]->LastCap = 1
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0068
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0006
37pp_data->cap[0]->ReportID = 0x03
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 8
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x000C
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 0
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0020
70pp_data->cap[0]->NotRange.Reserved1 = 0x0020
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->NotButton.HasNull = 0
78pp_data->cap[0]->NotButton.Reserved4 = 0x000000
79pp_data->cap[0]->NotButton.LogicalMin = 0
80pp_data->cap[0]->NotButton.LogicalMax = 100
81pp_data->cap[0]->NotButton.PhysicalMin = 0
82pp_data->cap[0]->NotButton.PhysicalMax = 0
83pp_data->cap[0]->Units = 0
84pp_data->cap[0]->UnitsExp = 0
85
86# Output hid_pp_cap struct:
87# Feature hid_pp_cap struct:
88# Link Collections:
89pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
90pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x000C
91pp_data->LinkCollectionArray[0]->Parent = 0
92pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
93pp_data->LinkCollectionArray[0]->NextSibling = 0
94pp_data->LinkCollectionArray[0]->FirstChild = 0
95pp_data->LinkCollectionArray[0]->CollectionType = 1
96pp_data->LinkCollectionArray[0]->IsAlias = 0
97pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_expected.rpt_desc
new file mode 100644
index 0000000..c80dd13
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_expected.rpt_desc
@@ -0,0 +1,3 @@
10x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x03, 0x05, 0x06,
20x09, 0x20, 0x15, 0x00, 0x25, 0x64, 0x75, 0x08, 0x95, 0x01,
30x81, 0x02, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_real.rpt_desc
new file mode 100644
index 0000000..ff019a9
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_000C_real.rpt_desc
@@ -0,0 +1,38 @@
1
2mac-hid-dump on  main ❯ ./mac-hid-dump
3mac-hid-dump:
4...
5046D B010: Unknown - Bluetooth Mouse M557
6DESCRIPTOR:
7 05 01 09 02 a1 01 85 02 09 01 a1 00 05 09 19 01
8 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30
9 09 31 16 01 f8 26 ff 07 75 0c 95 02 81 06 09 38
10 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75
11 08 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 03 05
12 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06
13 00 ff 09 01 a1 01 85 10 75 08 95 06 15 00 26 ff
14 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1
15 01 85 11 75 08 95 13 15 00 26 ff 00 09 02 81 00
16 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95
17 08 05 07 19 e0 29 e7 15 00 25 01 81 02 95 01 75
18 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95
19 01 75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07
20 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 15
21 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95
22 01 75 06 81 03 c0
23 (246 bytes)
24
25Parser output:
26
270x05, 0x0C, // Usage Page (Consumer)
280x09, 0x01, // Usage (Consumer Control)
290xA1, 0x01, // Collection (Application)
300x85, 0x03, // Report ID (3)
310x05, 0x06, // Usage Page (Generic Dev Ctrls)
320x09, 0x20, // Usage (Battery Strength)
330x15, 0x00, // Logical Minimum (0)
340x26, 0x64, 0x00, // Logical Maximum (100)
350x75, 0x08, // Report Size (8)
360x95, 0x01, // Report Count (1)
370x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
380xC0, // End Collection
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00.pp_data
new file mode 100644
index 0000000..13b27da
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00.pp_data
@@ -0,0 +1,139 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xB010
4dev->manufacturer_string = "Logitech"
5dev->product_string = "Logitech Bluetooth Wireless Mouse"
6dev->release_number = 0x0000
7dev->interface_number = -1
8dev->usage = 0x0001
9dev->usage_page = 0xFF00
10dev->path = "\\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col03#8&1cf1c1b9&3&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0xFF00
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 7
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 2
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 7
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 2
29pp_data->caps_info[2]->LastCap = 2
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x00D0
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFF00
37pp_data->cap[0]->ReportID = 0x10
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 6
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 48
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0007
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0xFF00
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0001
70pp_data->cap[0]->NotRange.Reserved1 = 0x0001
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 255
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83pp_data->cap[1]->UsagePage = 0xFF00
84pp_data->cap[1]->ReportID = 0x10
85pp_data->cap[1]->BitPosition = 0
86pp_data->cap[1]->BitSize = 8
87pp_data->cap[1]->ReportCount = 6
88pp_data->cap[1]->BytePosition = 0x0001
89pp_data->cap[1]->BitCount = 48
90pp_data->cap[1]->BitField = 0x00
91pp_data->cap[1]->NextBytePosition = 0x0007
92pp_data->cap[1]->LinkCollection = 0x0000
93pp_data->cap[1]->LinkUsagePage = 0xFF00
94pp_data->cap[1]->LinkUsage = 0x0001
95pp_data->cap[1]->IsMultipleItemsForArray = 0
96pp_data->cap[1]->IsButtonCap = 1
97pp_data->cap[1]->IsPadding = 0
98pp_data->cap[1]->IsAbsolute = 1
99pp_data->cap[1]->IsRange = 0
100pp_data->cap[1]->IsAlias = 0
101pp_data->cap[1]->IsStringRange = 0
102pp_data->cap[1]->IsDesignatorRange = 0
103pp_data->cap[1]->Reserved1 = 0x000000
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
105pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
106pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
116pp_data->cap[1]->NotRange.Usage = 0x0001
117pp_data->cap[1]->NotRange.Reserved1 = 0x0001
118pp_data->cap[1]->NotRange.StringIndex = 0
119pp_data->cap[1]->NotRange.Reserved2 = 0
120pp_data->cap[1]->NotRange.DesignatorIndex = 0
121pp_data->cap[1]->NotRange.Reserved3 = 0
122pp_data->cap[1]->NotRange.DataIndex = 0
123pp_data->cap[1]->NotRange.Reserved4 = 0
124pp_data->cap[1]->Button.LogicalMin = 0
125pp_data->cap[1]->Button.LogicalMax = 255
126pp_data->cap[1]->Units = 0
127pp_data->cap[1]->UnitsExp = 0
128
129# Feature hid_pp_cap struct:
130# Link Collections:
131pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
132pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFF00
133pp_data->LinkCollectionArray[0]->Parent = 0
134pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
135pp_data->LinkCollectionArray[0]->NextSibling = 0
136pp_data->LinkCollectionArray[0]->FirstChild = 0
137pp_data->LinkCollectionArray[0]->CollectionType = 1
138pp_data->LinkCollectionArray[0]->IsAlias = 0
139pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_expected.rpt_desc
new file mode 100644
index 0000000..812bd2a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_expected.rpt_desc
@@ -0,0 +1,4 @@
10x06, 0x00, 0xFF, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x10, 0x09,
20x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x06,
30x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
40x08, 0x95, 0x06, 0x91, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_real.rpt_desc
new file mode 100644
index 0000000..340d08d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0001_FF00_real.rpt_desc
@@ -0,0 +1,39 @@
1
2mac-hid-dump on  main ❯ ./mac-hid-dump
3mac-hid-dump:
4...
5046D B010: Unknown - Bluetooth Mouse M557
6DESCRIPTOR:
7 05 01 09 02 a1 01 85 02 09 01 a1 00 05 09 19 01
8 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30
9 09 31 16 01 f8 26 ff 07 75 0c 95 02 81 06 09 38
10 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75
11 08 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 03 05
12 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06
13 00 ff 09 01 a1 01 85 10 75 08 95 06 15 00 26 ff
14 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1
15 01 85 11 75 08 95 13 15 00 26 ff 00 09 02 81 00
16 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95
17 08 05 07 19 e0 29 e7 15 00 25 01 81 02 95 01 75
18 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95
19 01 75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07
20 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 15
21 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95
22 01 75 06 81 03 c0
23 (246 bytes)
24
25Parser output:
26
270x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00)
280x09, 0x01, // Usage (0x01)
290xA1, 0x01, // Collection (Application)
300x85, 0x10, // Report ID (16)
310x75, 0x08, // Report Size (8)
320x95, 0x06, // Report Count (6)
330x15, 0x00, // Logical Minimum (0)
340x26, 0xFF, 0x00, // Logical Maximum (255)
350x09, 0x01, // Usage (0x01)
360x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
370x09, 0x01, // Usage (0x01)
380x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
390xC0, // End Collection \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001.pp_data
new file mode 100644
index 0000000..1976766
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001.pp_data
@@ -0,0 +1,302 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xB010
4dev->manufacturer_string = "Logitech"
5dev->product_string = "Logitech Bluetooth Wireless Mouse"
6dev->release_number = 0x0000
7dev->interface_number = -1
8dev->usage = 0x0002
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col01#8&1cf1c1b9&3&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0002
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 5
20pp_data->caps_info[0]->NumberOfCaps = 5
21pp_data->caps_info[0]->ReportByteLength = 7
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 5
24pp_data->caps_info[1]->LastCap = 5
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 5
29pp_data->caps_info[2]->LastCap = 5
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0208
34pp_data->NumberLinkCollectionNodes = 2
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0009
37pp_data->cap[0]->ReportID = 0x02
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 8
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 8
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0001
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x0001
70pp_data->cap[0]->Range.UsageMax = 0x0008
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 7
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x0001
83pp_data->cap[1]->ReportID = 0x02
84pp_data->cap[1]->BitPosition = 4
85pp_data->cap[1]->BitSize = 12
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0003
88pp_data->cap[1]->BitCount = 12
89pp_data->cap[1]->BitField = 0x06
90pp_data->cap[1]->NextBytePosition = 0x0005
91pp_data->cap[1]->LinkCollection = 0x0001
92pp_data->cap[1]->LinkUsagePage = 0x0001
93pp_data->cap[1]->LinkUsage = 0x0001
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 0
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 0
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x0031
116pp_data->cap[1]->NotRange.Reserved1 = 0x0031
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 8
122pp_data->cap[1]->NotRange.Reserved4 = 8
123pp_data->cap[1]->NotButton.HasNull = 0
124pp_data->cap[1]->NotButton.Reserved4 = 0x000000
125pp_data->cap[1]->NotButton.LogicalMin = -2047
126pp_data->cap[1]->NotButton.LogicalMax = 2047
127pp_data->cap[1]->NotButton.PhysicalMin = 0
128pp_data->cap[1]->NotButton.PhysicalMax = 0
129pp_data->cap[1]->Units = 0
130pp_data->cap[1]->UnitsExp = 0
131
132pp_data->cap[2]->UsagePage = 0x0001
133pp_data->cap[2]->ReportID = 0x02
134pp_data->cap[2]->BitPosition = 0
135pp_data->cap[2]->BitSize = 12
136pp_data->cap[2]->ReportCount = 1
137pp_data->cap[2]->BytePosition = 0x0002
138pp_data->cap[2]->BitCount = 12
139pp_data->cap[2]->BitField = 0x06
140pp_data->cap[2]->NextBytePosition = 0x0004
141pp_data->cap[2]->LinkCollection = 0x0001
142pp_data->cap[2]->LinkUsagePage = 0x0001
143pp_data->cap[2]->LinkUsage = 0x0001
144pp_data->cap[2]->IsMultipleItemsForArray = 0
145pp_data->cap[2]->IsButtonCap = 0
146pp_data->cap[2]->IsPadding = 0
147pp_data->cap[2]->IsAbsolute = 0
148pp_data->cap[2]->IsRange = 0
149pp_data->cap[2]->IsAlias = 0
150pp_data->cap[2]->IsStringRange = 0
151pp_data->cap[2]->IsDesignatorRange = 0
152pp_data->cap[2]->Reserved1 = 0x000000
153pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
154pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
155pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
156pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
157pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
158pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
159pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
160pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
161pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
162pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
163pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
164pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
165pp_data->cap[2]->NotRange.Usage = 0x0030
166pp_data->cap[2]->NotRange.Reserved1 = 0x0030
167pp_data->cap[2]->NotRange.StringIndex = 0
168pp_data->cap[2]->NotRange.Reserved2 = 0
169pp_data->cap[2]->NotRange.DesignatorIndex = 0
170pp_data->cap[2]->NotRange.Reserved3 = 0
171pp_data->cap[2]->NotRange.DataIndex = 9
172pp_data->cap[2]->NotRange.Reserved4 = 9
173pp_data->cap[2]->NotButton.HasNull = 0
174pp_data->cap[2]->NotButton.Reserved4 = 0x000000
175pp_data->cap[2]->NotButton.LogicalMin = -2047
176pp_data->cap[2]->NotButton.LogicalMax = 2047
177pp_data->cap[2]->NotButton.PhysicalMin = 0
178pp_data->cap[2]->NotButton.PhysicalMax = 0
179pp_data->cap[2]->Units = 0
180pp_data->cap[2]->UnitsExp = 0
181
182pp_data->cap[3]->UsagePage = 0x0001
183pp_data->cap[3]->ReportID = 0x02
184pp_data->cap[3]->BitPosition = 0
185pp_data->cap[3]->BitSize = 8
186pp_data->cap[3]->ReportCount = 1
187pp_data->cap[3]->BytePosition = 0x0005
188pp_data->cap[3]->BitCount = 8
189pp_data->cap[3]->BitField = 0x06
190pp_data->cap[3]->NextBytePosition = 0x0006
191pp_data->cap[3]->LinkCollection = 0x0001
192pp_data->cap[3]->LinkUsagePage = 0x0001
193pp_data->cap[3]->LinkUsage = 0x0001
194pp_data->cap[3]->IsMultipleItemsForArray = 0
195pp_data->cap[3]->IsButtonCap = 0
196pp_data->cap[3]->IsPadding = 0
197pp_data->cap[3]->IsAbsolute = 0
198pp_data->cap[3]->IsRange = 0
199pp_data->cap[3]->IsAlias = 0
200pp_data->cap[3]->IsStringRange = 0
201pp_data->cap[3]->IsDesignatorRange = 0
202pp_data->cap[3]->Reserved1 = 0x000000
203pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
204pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
205pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
206pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
207pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
208pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
209pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
210pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
211pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
212pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
213pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
214pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
215pp_data->cap[3]->NotRange.Usage = 0x0038
216pp_data->cap[3]->NotRange.Reserved1 = 0x0038
217pp_data->cap[3]->NotRange.StringIndex = 0
218pp_data->cap[3]->NotRange.Reserved2 = 0
219pp_data->cap[3]->NotRange.DesignatorIndex = 0
220pp_data->cap[3]->NotRange.Reserved3 = 0
221pp_data->cap[3]->NotRange.DataIndex = 10
222pp_data->cap[3]->NotRange.Reserved4 = 10
223pp_data->cap[3]->NotButton.HasNull = 0
224pp_data->cap[3]->NotButton.Reserved4 = 0x000000
225pp_data->cap[3]->NotButton.LogicalMin = -127
226pp_data->cap[3]->NotButton.LogicalMax = 127
227pp_data->cap[3]->NotButton.PhysicalMin = 0
228pp_data->cap[3]->NotButton.PhysicalMax = 0
229pp_data->cap[3]->Units = 0
230pp_data->cap[3]->UnitsExp = 0
231
232pp_data->cap[4]->UsagePage = 0x000C
233pp_data->cap[4]->ReportID = 0x02
234pp_data->cap[4]->BitPosition = 0
235pp_data->cap[4]->BitSize = 8
236pp_data->cap[4]->ReportCount = 1
237pp_data->cap[4]->BytePosition = 0x0006
238pp_data->cap[4]->BitCount = 8
239pp_data->cap[4]->BitField = 0x06
240pp_data->cap[4]->NextBytePosition = 0x0007
241pp_data->cap[4]->LinkCollection = 0x0001
242pp_data->cap[4]->LinkUsagePage = 0x0001
243pp_data->cap[4]->LinkUsage = 0x0001
244pp_data->cap[4]->IsMultipleItemsForArray = 0
245pp_data->cap[4]->IsButtonCap = 0
246pp_data->cap[4]->IsPadding = 0
247pp_data->cap[4]->IsAbsolute = 0
248pp_data->cap[4]->IsRange = 0
249pp_data->cap[4]->IsAlias = 0
250pp_data->cap[4]->IsStringRange = 0
251pp_data->cap[4]->IsDesignatorRange = 0
252pp_data->cap[4]->Reserved1 = 0x000000
253pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
254pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
255pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
256pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
257pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
258pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
259pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
260pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
261pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
262pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
263pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
264pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
265pp_data->cap[4]->NotRange.Usage = 0x0238
266pp_data->cap[4]->NotRange.Reserved1 = 0x0238
267pp_data->cap[4]->NotRange.StringIndex = 0
268pp_data->cap[4]->NotRange.Reserved2 = 0
269pp_data->cap[4]->NotRange.DesignatorIndex = 0
270pp_data->cap[4]->NotRange.Reserved3 = 0
271pp_data->cap[4]->NotRange.DataIndex = 11
272pp_data->cap[4]->NotRange.Reserved4 = 11
273pp_data->cap[4]->NotButton.HasNull = 0
274pp_data->cap[4]->NotButton.Reserved4 = 0x000000
275pp_data->cap[4]->NotButton.LogicalMin = -127
276pp_data->cap[4]->NotButton.LogicalMax = 127
277pp_data->cap[4]->NotButton.PhysicalMin = 0
278pp_data->cap[4]->NotButton.PhysicalMax = 0
279pp_data->cap[4]->Units = 0
280pp_data->cap[4]->UnitsExp = 0
281
282# Output hid_pp_cap struct:
283# Feature hid_pp_cap struct:
284# Link Collections:
285pp_data->LinkCollectionArray[0]->LinkUsage = 0x0002
286pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
287pp_data->LinkCollectionArray[0]->Parent = 0
288pp_data->LinkCollectionArray[0]->NumberOfChildren = 1
289pp_data->LinkCollectionArray[0]->NextSibling = 0
290pp_data->LinkCollectionArray[0]->FirstChild = 1
291pp_data->LinkCollectionArray[0]->CollectionType = 1
292pp_data->LinkCollectionArray[0]->IsAlias = 0
293pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
294pp_data->LinkCollectionArray[1]->LinkUsage = 0x0001
295pp_data->LinkCollectionArray[1]->LinkUsagePage = 0x0001
296pp_data->LinkCollectionArray[1]->Parent = 0
297pp_data->LinkCollectionArray[1]->NumberOfChildren = 0
298pp_data->LinkCollectionArray[1]->NextSibling = 0
299pp_data->LinkCollectionArray[1]->FirstChild = 0
300pp_data->LinkCollectionArray[1]->CollectionType = 0
301pp_data->LinkCollectionArray[1]->IsAlias = 0
302pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_expected.rpt_desc
new file mode 100644
index 0000000..d782fa1
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_expected.rpt_desc
@@ -0,0 +1,8 @@
10x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00,
20x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00,
30x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01,
40x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xF8, 0x26, 0xFF, 0x07,
50x75, 0x0C, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
60x25, 0x7F, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0C,
70x0A, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08, 0x95,
80x01, 0x81, 0x06, 0xC0, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_real.rpt_desc
new file mode 100644
index 0000000..483f659
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_0001_real.rpt_desc
@@ -0,0 +1,61 @@
1
2mac-hid-dump on  main ❯ ./mac-hid-dump
3mac-hid-dump:
4...
5046D B010: Unknown - Bluetooth Mouse M557
6DESCRIPTOR:
7 05 01 09 02 a1 01 85 02 09 01 a1 00 05 09 19 01
8 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30
9 09 31 16 01 f8 26 ff 07 75 0c 95 02 81 06 09 38
10 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75
11 08 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 03 05
12 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06
13 00 ff 09 01 a1 01 85 10 75 08 95 06 15 00 26 ff
14 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1
15 01 85 11 75 08 95 13 15 00 26 ff 00 09 02 81 00
16 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95
17 08 05 07 19 e0 29 e7 15 00 25 01 81 02 95 01 75
18 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95
19 01 75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07
20 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 15
21 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95
22 01 75 06 81 03 c0
23 (246 bytes)
24
25Parser output:
26
270x05, 0x01, // Usage Page (Generic Desktop Ctrls)
280x09, 0x02, // Usage (Mouse)
290xA1, 0x01, // Collection (Application)
300x85, 0x02, // Report ID (2)
310x09, 0x01, // Usage (Pointer)
320xA1, 0x00, // Collection (Physical)
330x05, 0x09, // Usage Page (Button)
340x19, 0x01, // Usage Minimum (0x01)
350x29, 0x08, // Usage Maximum (0x08)
360x15, 0x00, // Logical Minimum (0)
370x25, 0x01, // Logical Maximum (1)
380x75, 0x01, // Report Size (1)
390x95, 0x08, // Report Count (8)
400x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
410x05, 0x01, // Usage Page (Generic Desktop Ctrls)
420x09, 0x30, // Usage (X)
430x09, 0x31, // Usage (Y)
440x16, 0x01, 0xF8, // Logical Minimum (-2047)
450x26, 0xFF, 0x07, // Logical Maximum (2047)
460x75, 0x0C, // Report Size (12)
470x95, 0x02, // Report Count (2)
480x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
490x09, 0x38, // Usage (Wheel)
500x15, 0x81, // Logical Minimum (-127)
510x25, 0x7F, // Logical Maximum (127)
520x75, 0x08, // Report Size (8)
530x95, 0x01, // Report Count (1)
540x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
550x05, 0x0C, // Usage Page (Consumer)
560x0A, 0x38, 0x02, // Usage (AC Pan)
570x75, 0x08, // Report Size (8)
580x95, 0x01, // Report Count (1)
590x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
600xC0, // End Collection
610xC0, // End Collection
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00.pp_data
new file mode 100644
index 0000000..0dc64b2
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00.pp_data
@@ -0,0 +1,139 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xB010
4dev->manufacturer_string = "Logitech"
5dev->product_string = "Logitech Bluetooth Wireless Mouse"
6dev->release_number = 0x0000
7dev->interface_number = -1
8dev->usage = 0x0002
9dev->usage_page = 0xFF00
10dev->path = "\\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col04#8&1cf1c1b9&3&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0002
15pp_data->UsagePage = 0xFF00
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 20
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 2
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 20
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 2
29pp_data->caps_info[2]->LastCap = 2
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x00D0
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFF00
37pp_data->cap[0]->ReportID = 0x11
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 19
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 152
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0014
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0xFF00
47pp_data->cap[0]->LinkUsage = 0x0002
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0002
70pp_data->cap[0]->NotRange.Reserved1 = 0x0002
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 255
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83pp_data->cap[1]->UsagePage = 0xFF00
84pp_data->cap[1]->ReportID = 0x11
85pp_data->cap[1]->BitPosition = 0
86pp_data->cap[1]->BitSize = 8
87pp_data->cap[1]->ReportCount = 19
88pp_data->cap[1]->BytePosition = 0x0001
89pp_data->cap[1]->BitCount = 152
90pp_data->cap[1]->BitField = 0x00
91pp_data->cap[1]->NextBytePosition = 0x0014
92pp_data->cap[1]->LinkCollection = 0x0000
93pp_data->cap[1]->LinkUsagePage = 0xFF00
94pp_data->cap[1]->LinkUsage = 0x0002
95pp_data->cap[1]->IsMultipleItemsForArray = 0
96pp_data->cap[1]->IsButtonCap = 1
97pp_data->cap[1]->IsPadding = 0
98pp_data->cap[1]->IsAbsolute = 1
99pp_data->cap[1]->IsRange = 0
100pp_data->cap[1]->IsAlias = 0
101pp_data->cap[1]->IsStringRange = 0
102pp_data->cap[1]->IsDesignatorRange = 0
103pp_data->cap[1]->Reserved1 = 0x000000
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
105pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
106pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
116pp_data->cap[1]->NotRange.Usage = 0x0002
117pp_data->cap[1]->NotRange.Reserved1 = 0x0002
118pp_data->cap[1]->NotRange.StringIndex = 0
119pp_data->cap[1]->NotRange.Reserved2 = 0
120pp_data->cap[1]->NotRange.DesignatorIndex = 0
121pp_data->cap[1]->NotRange.Reserved3 = 0
122pp_data->cap[1]->NotRange.DataIndex = 0
123pp_data->cap[1]->NotRange.Reserved4 = 0
124pp_data->cap[1]->Button.LogicalMin = 0
125pp_data->cap[1]->Button.LogicalMax = 255
126pp_data->cap[1]->Units = 0
127pp_data->cap[1]->UnitsExp = 0
128
129# Feature hid_pp_cap struct:
130# Link Collections:
131pp_data->LinkCollectionArray[0]->LinkUsage = 0x0002
132pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFF00
133pp_data->LinkCollectionArray[0]->Parent = 0
134pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
135pp_data->LinkCollectionArray[0]->NextSibling = 0
136pp_data->LinkCollectionArray[0]->FirstChild = 0
137pp_data->LinkCollectionArray[0]->CollectionType = 1
138pp_data->LinkCollectionArray[0]->IsAlias = 0
139pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_expected.rpt_desc
new file mode 100644
index 0000000..b1654e7
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_expected.rpt_desc
@@ -0,0 +1,4 @@
10x06, 0x00, 0xFF, 0x09, 0x02, 0xA1, 0x01, 0x85, 0x11, 0x09,
20x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x13,
30x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
40x08, 0x95, 0x13, 0x91, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_real.rpt_desc
new file mode 100644
index 0000000..8b8dbfc
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0002_FF00_real.rpt_desc
@@ -0,0 +1,39 @@
1
2mac-hid-dump on  main ❯ ./mac-hid-dump
3mac-hid-dump:
4...
5046D B010: Unknown - Bluetooth Mouse M557
6DESCRIPTOR:
7 05 01 09 02 a1 01 85 02 09 01 a1 00 05 09 19 01
8 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30
9 09 31 16 01 f8 26 ff 07 75 0c 95 02 81 06 09 38
10 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75
11 08 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 03 05
12 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06
13 00 ff 09 01 a1 01 85 10 75 08 95 06 15 00 26 ff
14 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1
15 01 85 11 75 08 95 13 15 00 26 ff 00 09 02 81 00
16 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95
17 08 05 07 19 e0 29 e7 15 00 25 01 81 02 95 01 75
18 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95
19 01 75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07
20 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 15
21 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95
22 01 75 06 81 03 c0
23 (246 bytes)
24
25Parser output:
26
270x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00)
280x09, 0x02, // Usage (0x02)
290xA1, 0x01, // Collection (Application)
300x85, 0x11, // Report ID (17)
310x75, 0x08, // Report Size (8)
320x95, 0x13, // Report Count (19)
330x15, 0x00, // Logical Minimum (0)
340x26, 0xFF, 0x00, // Logical Maximum (255)
350x09, 0x02, // Usage (0x02)
360x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
370x09, 0x02, // Usage (0x02)
380x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
390xC0, // End Collection \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001.pp_data
new file mode 100644
index 0000000..7682a0d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001.pp_data
@@ -0,0 +1,185 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xB010
4dev->manufacturer_string = "Logitech"
5dev->product_string = "Logitech Bluetooth Wireless Mouse"
6dev->release_number = 0x0000
7dev->interface_number = -1
8dev->usage = 0x0006
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col05#8&1cf1c1b9&3&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0006
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 2
20pp_data->caps_info[0]->NumberOfCaps = 2
21pp_data->caps_info[0]->ReportByteLength = 9
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 2
24pp_data->caps_info[1]->LastCap = 3
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 2
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 3
29pp_data->caps_info[2]->LastCap = 3
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0138
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0007
37pp_data->cap[0]->ReportID = 0x04
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 8
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 8
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0006
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x00E0
70pp_data->cap[0]->Range.UsageMax = 0x00E7
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 7
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x0007
83pp_data->cap[1]->ReportID = 0x04
84pp_data->cap[1]->BitPosition = 0
85pp_data->cap[1]->BitSize = 8
86pp_data->cap[1]->ReportCount = 6
87pp_data->cap[1]->BytePosition = 0x0003
88pp_data->cap[1]->BitCount = 48
89pp_data->cap[1]->BitField = 0x00
90pp_data->cap[1]->NextBytePosition = 0x0009
91pp_data->cap[1]->LinkCollection = 0x0000
92pp_data->cap[1]->LinkUsagePage = 0x0001
93pp_data->cap[1]->LinkUsage = 0x0006
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 1
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 1
98pp_data->cap[1]->IsRange = 1
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->Range.UsageMin = 0x0000
116pp_data->cap[1]->Range.UsageMax = 0x00FF
117pp_data->cap[1]->Range.StringMin = 0
118pp_data->cap[1]->Range.StringMax = 0
119pp_data->cap[1]->Range.DesignatorMin = 0
120pp_data->cap[1]->Range.DesignatorMax = 0
121pp_data->cap[1]->Range.DataIndexMin = 8
122pp_data->cap[1]->Range.DataIndexMax = 263
123pp_data->cap[1]->Button.LogicalMin = 0
124pp_data->cap[1]->Button.LogicalMax = 255
125pp_data->cap[1]->Units = 0
126pp_data->cap[1]->UnitsExp = 0
127
128# Output hid_pp_cap struct:
129pp_data->cap[2]->UsagePage = 0x0008
130pp_data->cap[2]->ReportID = 0x04
131pp_data->cap[2]->BitPosition = 0
132pp_data->cap[2]->BitSize = 1
133pp_data->cap[2]->ReportCount = 5
134pp_data->cap[2]->BytePosition = 0x0001
135pp_data->cap[2]->BitCount = 5
136pp_data->cap[2]->BitField = 0x02
137pp_data->cap[2]->NextBytePosition = 0x0002
138pp_data->cap[2]->LinkCollection = 0x0000
139pp_data->cap[2]->LinkUsagePage = 0x0001
140pp_data->cap[2]->LinkUsage = 0x0006
141pp_data->cap[2]->IsMultipleItemsForArray = 0
142pp_data->cap[2]->IsButtonCap = 1
143pp_data->cap[2]->IsPadding = 0
144pp_data->cap[2]->IsAbsolute = 1
145pp_data->cap[2]->IsRange = 1
146pp_data->cap[2]->IsAlias = 0
147pp_data->cap[2]->IsStringRange = 0
148pp_data->cap[2]->IsDesignatorRange = 0
149pp_data->cap[2]->Reserved1 = 0x000000
150pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
151pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
152pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
153pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
154pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
155pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
156pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
157pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
158pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
159pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
160pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
161pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
162pp_data->cap[2]->Range.UsageMin = 0x0001
163pp_data->cap[2]->Range.UsageMax = 0x0005
164pp_data->cap[2]->Range.StringMin = 0
165pp_data->cap[2]->Range.StringMax = 0
166pp_data->cap[2]->Range.DesignatorMin = 0
167pp_data->cap[2]->Range.DesignatorMax = 0
168pp_data->cap[2]->Range.DataIndexMin = 0
169pp_data->cap[2]->Range.DataIndexMax = 4
170pp_data->cap[2]->Button.LogicalMin = 0
171pp_data->cap[2]->Button.LogicalMax = 0
172pp_data->cap[2]->Units = 0
173pp_data->cap[2]->UnitsExp = 0
174
175# Feature hid_pp_cap struct:
176# Link Collections:
177pp_data->LinkCollectionArray[0]->LinkUsage = 0x0006
178pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
179pp_data->LinkCollectionArray[0]->Parent = 0
180pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
181pp_data->LinkCollectionArray[0]->NextSibling = 0
182pp_data->LinkCollectionArray[0]->FirstChild = 0
183pp_data->LinkCollectionArray[0]->CollectionType = 1
184pp_data->LinkCollectionArray[0]->IsAlias = 0
185pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_expected.rpt_desc
new file mode 100644
index 0000000..1ec0b16
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_expected.rpt_desc
@@ -0,0 +1,7 @@
10x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x85, 0x04, 0x05, 0x07,
20x19, 0xE0, 0x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
30x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
40x19, 0x00, 0x29, 0xFF, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
50x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29,
60x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91,
70x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_real.rpt_desc
new file mode 100644
index 0000000..59ab03d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_B010_0006_0001_real.rpt_desc
@@ -0,0 +1,58 @@
1
2mac-hid-dump on  main ❯ ./mac-hid-dump
3mac-hid-dump:
4...
5046D B010: Unknown - Bluetooth Mouse M557
6DESCRIPTOR:
7 05 01 09 02 a1 01 85 02 09 01 a1 00 05 09 19 01
8 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30
9 09 31 16 01 f8 26 ff 07 75 0c 95 02 81 06 09 38
10 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75
11 08 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 03 05
12 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06
13 00 ff 09 01 a1 01 85 10 75 08 95 06 15 00 26 ff
14 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1
15 01 85 11 75 08 95 13 15 00 26 ff 00 09 02 81 00
16 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95
17 08 05 07 19 e0 29 e7 15 00 25 01 81 02 95 01 75
18 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95
19 01 75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07
20 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 15
21 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95
22 01 75 06 81 03 c0
23 (246 bytes)
24
25Parser output:
260x05, 0x01, // Usage Page (Generic Desktop Ctrls)
270x09, 0x06, // Usage (Keyboard)
280xA1, 0x01, // Collection (Application)
290x85, 0x04, // Report ID (4)
300x75, 0x01, // Report Size (1)
310x95, 0x08, // Report Count (8)
320x05, 0x07, // Usage Page (Kbrd/Keypad)
330x19, 0xE0, // Usage Minimum (0xE0)
340x29, 0xE7, // Usage Maximum (0xE7)
350x15, 0x00, // Logical Minimum (0)
360x25, 0x01, // Logical Maximum (1)
370x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
380x95, 0x01, // Report Count (1)
390x75, 0x08, // Report Size (8)
400x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
410x95, 0x05, // Report Count (5)
420x75, 0x01, // Report Size (1)
430x05, 0x08, // Usage Page (LEDs)
440x19, 0x01, // Usage Minimum (Num Lock)
450x29, 0x05, // Usage Maximum (Kana)
460x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
470x95, 0x01, // Report Count (1)
480x75, 0x03, // Report Size (3)
490x91, 0x03, // Output (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
500x95, 0x06, // Report Count (6)
510x75, 0x08, // Report Size (8)
520x15, 0x00, // Logical Minimum (0)
530x26, 0xFF, 0x00, // Logical Maximum (255)
540x05, 0x07, // Usage Page (Kbrd/Keypad)
550x19, 0x00, // Usage Minimum (0x00)
560x29, 0xFF, // Usage Maximum (0xFF)
570x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
580xC0, // End Collection \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001.pp_data
new file mode 100644
index 0000000..3e9fcea
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001.pp_data
@@ -0,0 +1,252 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC077
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Optical Mouse"
6dev->release_number = 0x7200
7dev->interface_number = -1
8dev->usage = 0x0002
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#vid_046d&pid_c077#7&1875dbae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0002
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 4
20pp_data->caps_info[0]->NumberOfCaps = 4
21pp_data->caps_info[0]->ReportByteLength = 5
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 4
24pp_data->caps_info[1]->LastCap = 4
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 4
29pp_data->caps_info[2]->LastCap = 4
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x01A0
34pp_data->NumberLinkCollectionNodes = 2
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0009
37pp_data->cap[0]->ReportID = 0x00
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 8
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 8
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0001
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x0001
70pp_data->cap[0]->Range.UsageMax = 0x0003
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 2
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x0001
83pp_data->cap[1]->ReportID = 0x00
84pp_data->cap[1]->BitPosition = 0
85pp_data->cap[1]->BitSize = 8
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0004
88pp_data->cap[1]->BitCount = 8
89pp_data->cap[1]->BitField = 0x06
90pp_data->cap[1]->NextBytePosition = 0x0005
91pp_data->cap[1]->LinkCollection = 0x0001
92pp_data->cap[1]->LinkUsagePage = 0x0001
93pp_data->cap[1]->LinkUsage = 0x0001
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 0
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 0
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x0038
116pp_data->cap[1]->NotRange.Reserved1 = 0x0038
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 3
122pp_data->cap[1]->NotRange.Reserved4 = 3
123pp_data->cap[1]->NotButton.HasNull = 0
124pp_data->cap[1]->NotButton.Reserved4 = 0x000000
125pp_data->cap[1]->NotButton.LogicalMin = -127
126pp_data->cap[1]->NotButton.LogicalMax = 127
127pp_data->cap[1]->NotButton.PhysicalMin = 0
128pp_data->cap[1]->NotButton.PhysicalMax = 0
129pp_data->cap[1]->Units = 0
130pp_data->cap[1]->UnitsExp = 0
131
132pp_data->cap[2]->UsagePage = 0x0001
133pp_data->cap[2]->ReportID = 0x00
134pp_data->cap[2]->BitPosition = 0
135pp_data->cap[2]->BitSize = 8
136pp_data->cap[2]->ReportCount = 1
137pp_data->cap[2]->BytePosition = 0x0003
138pp_data->cap[2]->BitCount = 8
139pp_data->cap[2]->BitField = 0x06
140pp_data->cap[2]->NextBytePosition = 0x0004
141pp_data->cap[2]->LinkCollection = 0x0001
142pp_data->cap[2]->LinkUsagePage = 0x0001
143pp_data->cap[2]->LinkUsage = 0x0001
144pp_data->cap[2]->IsMultipleItemsForArray = 0
145pp_data->cap[2]->IsButtonCap = 0
146pp_data->cap[2]->IsPadding = 0
147pp_data->cap[2]->IsAbsolute = 0
148pp_data->cap[2]->IsRange = 0
149pp_data->cap[2]->IsAlias = 0
150pp_data->cap[2]->IsStringRange = 0
151pp_data->cap[2]->IsDesignatorRange = 0
152pp_data->cap[2]->Reserved1 = 0x000000
153pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
154pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
155pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
156pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
157pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
158pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
159pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
160pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
161pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
162pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
163pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
164pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
165pp_data->cap[2]->NotRange.Usage = 0x0031
166pp_data->cap[2]->NotRange.Reserved1 = 0x0031
167pp_data->cap[2]->NotRange.StringIndex = 0
168pp_data->cap[2]->NotRange.Reserved2 = 0
169pp_data->cap[2]->NotRange.DesignatorIndex = 0
170pp_data->cap[2]->NotRange.Reserved3 = 0
171pp_data->cap[2]->NotRange.DataIndex = 4
172pp_data->cap[2]->NotRange.Reserved4 = 4
173pp_data->cap[2]->NotButton.HasNull = 0
174pp_data->cap[2]->NotButton.Reserved4 = 0x000000
175pp_data->cap[2]->NotButton.LogicalMin = -127
176pp_data->cap[2]->NotButton.LogicalMax = 127
177pp_data->cap[2]->NotButton.PhysicalMin = 0
178pp_data->cap[2]->NotButton.PhysicalMax = 0
179pp_data->cap[2]->Units = 0
180pp_data->cap[2]->UnitsExp = 0
181
182pp_data->cap[3]->UsagePage = 0x0001
183pp_data->cap[3]->ReportID = 0x00
184pp_data->cap[3]->BitPosition = 0
185pp_data->cap[3]->BitSize = 8
186pp_data->cap[3]->ReportCount = 1
187pp_data->cap[3]->BytePosition = 0x0002
188pp_data->cap[3]->BitCount = 8
189pp_data->cap[3]->BitField = 0x06
190pp_data->cap[3]->NextBytePosition = 0x0003
191pp_data->cap[3]->LinkCollection = 0x0001
192pp_data->cap[3]->LinkUsagePage = 0x0001
193pp_data->cap[3]->LinkUsage = 0x0001
194pp_data->cap[3]->IsMultipleItemsForArray = 0
195pp_data->cap[3]->IsButtonCap = 0
196pp_data->cap[3]->IsPadding = 0
197pp_data->cap[3]->IsAbsolute = 0
198pp_data->cap[3]->IsRange = 0
199pp_data->cap[3]->IsAlias = 0
200pp_data->cap[3]->IsStringRange = 0
201pp_data->cap[3]->IsDesignatorRange = 0
202pp_data->cap[3]->Reserved1 = 0x000000
203pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
204pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
205pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
206pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
207pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
208pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
209pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
210pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
211pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
212pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
213pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
214pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
215pp_data->cap[3]->NotRange.Usage = 0x0030
216pp_data->cap[3]->NotRange.Reserved1 = 0x0030
217pp_data->cap[3]->NotRange.StringIndex = 0
218pp_data->cap[3]->NotRange.Reserved2 = 0
219pp_data->cap[3]->NotRange.DesignatorIndex = 0
220pp_data->cap[3]->NotRange.Reserved3 = 0
221pp_data->cap[3]->NotRange.DataIndex = 5
222pp_data->cap[3]->NotRange.Reserved4 = 5
223pp_data->cap[3]->NotButton.HasNull = 0
224pp_data->cap[3]->NotButton.Reserved4 = 0x000000
225pp_data->cap[3]->NotButton.LogicalMin = -127
226pp_data->cap[3]->NotButton.LogicalMax = 127
227pp_data->cap[3]->NotButton.PhysicalMin = 0
228pp_data->cap[3]->NotButton.PhysicalMax = 0
229pp_data->cap[3]->Units = 0
230pp_data->cap[3]->UnitsExp = 0
231
232# Output hid_pp_cap struct:
233# Feature hid_pp_cap struct:
234# Link Collections:
235pp_data->LinkCollectionArray[0]->LinkUsage = 0x0002
236pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
237pp_data->LinkCollectionArray[0]->Parent = 0
238pp_data->LinkCollectionArray[0]->NumberOfChildren = 1
239pp_data->LinkCollectionArray[0]->NextSibling = 0
240pp_data->LinkCollectionArray[0]->FirstChild = 1
241pp_data->LinkCollectionArray[0]->CollectionType = 1
242pp_data->LinkCollectionArray[0]->IsAlias = 0
243pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
244pp_data->LinkCollectionArray[1]->LinkUsage = 0x0001
245pp_data->LinkCollectionArray[1]->LinkUsagePage = 0x0001
246pp_data->LinkCollectionArray[1]->Parent = 0
247pp_data->LinkCollectionArray[1]->NumberOfChildren = 0
248pp_data->LinkCollectionArray[1]->NextSibling = 0
249pp_data->LinkCollectionArray[1]->FirstChild = 0
250pp_data->LinkCollectionArray[1]->CollectionType = 0
251pp_data->LinkCollectionArray[1]->IsAlias = 0
252pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_expected.rpt_desc
new file mode 100644
index 0000000..7e144b4
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_expected.rpt_desc
@@ -0,0 +1,5 @@
10x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00,
20x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01,
30x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30,
40x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08,
50x95, 0x03, 0x81, 0x06, 0xC0, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_real.rpt_desc
new file mode 100644
index 0000000..7604c55
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C077_0002_0001_real.rpt_desc
@@ -0,0 +1,24 @@
1Usage Page (Generic Desktop) 05 01
2Usage (Mouse) 09 02
3Collection (Application) A1 01
4 Usage (Pointer) 09 01
5 Collection (Physical) A1 00
6 Usage Page (Button) 05 09
7 Usage Minimum (Button 1) 19 01
8 Usage Maximum (Button 3) 29 03
9 Logical Minimum (0) 15 00
10 Logical Maximum (1) 25 01
11 Report Count (8) 95 08
12 Report Size (1) 75 01
13 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
14 Usage Page (Generic Desktop) 05 01
15 Usage (X) 09 30
16 Usage (Y) 09 31
17 Usage (Wheel) 09 38
18 Logical Minimum (-127) 15 81
19 Logical Maximum (127) 25 7F
20 Report Size (8) 75 08
21 Report Count (3) 95 03
22 Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
23 End Collection C0
24End Collection C0
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001.pp_data
new file mode 100644
index 0000000..0f70d06
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001.pp_data
@@ -0,0 +1,520 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC283
4dev->manufacturer_string = "Logitech Inc."
5dev->product_string = "WingMan Force 3D"
6dev->release_number = 0x0106
7dev->interface_number = -1
8dev->usage = 0x0004
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#vid_046d&pid_c283#7&d7fb4bf&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0004
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 8
20pp_data->caps_info[0]->NumberOfCaps = 8
21pp_data->caps_info[0]->ReportByteLength = 8
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 8
24pp_data->caps_info[1]->LastCap = 9
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 9
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 9
29pp_data->caps_info[2]->LastCap = 9
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x03A8
34pp_data->NumberLinkCollectionNodes = 4
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0001
37pp_data->cap[0]->ReportID = 0x00
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0002
42pp_data->cap[0]->BitCount = 8
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0003
45pp_data->cap[0]->LinkCollection = 0x0002
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 0
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0031
70pp_data->cap[0]->NotRange.Reserved1 = 0x0031
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->NotButton.HasNull = 0
78pp_data->cap[0]->NotButton.Reserved4 = 0x000000
79pp_data->cap[0]->NotButton.LogicalMin = 0
80pp_data->cap[0]->NotButton.LogicalMax = 255
81pp_data->cap[0]->NotButton.PhysicalMin = 0
82pp_data->cap[0]->NotButton.PhysicalMax = 255
83pp_data->cap[0]->Units = 0
84pp_data->cap[0]->UnitsExp = 0
85
86pp_data->cap[1]->UsagePage = 0x0001
87pp_data->cap[1]->ReportID = 0x00
88pp_data->cap[1]->BitPosition = 0
89pp_data->cap[1]->BitSize = 8
90pp_data->cap[1]->ReportCount = 1
91pp_data->cap[1]->BytePosition = 0x0001
92pp_data->cap[1]->BitCount = 8
93pp_data->cap[1]->BitField = 0x02
94pp_data->cap[1]->NextBytePosition = 0x0002
95pp_data->cap[1]->LinkCollection = 0x0002
96pp_data->cap[1]->LinkUsagePage = 0x0001
97pp_data->cap[1]->LinkUsage = 0x0001
98pp_data->cap[1]->IsMultipleItemsForArray = 0
99pp_data->cap[1]->IsButtonCap = 0
100pp_data->cap[1]->IsPadding = 0
101pp_data->cap[1]->IsAbsolute = 1
102pp_data->cap[1]->IsRange = 0
103pp_data->cap[1]->IsAlias = 0
104pp_data->cap[1]->IsStringRange = 0
105pp_data->cap[1]->IsDesignatorRange = 0
106pp_data->cap[1]->Reserved1 = 0x000000
107pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
116pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
117pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
118pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
119pp_data->cap[1]->NotRange.Usage = 0x0030
120pp_data->cap[1]->NotRange.Reserved1 = 0x0030
121pp_data->cap[1]->NotRange.StringIndex = 0
122pp_data->cap[1]->NotRange.Reserved2 = 0
123pp_data->cap[1]->NotRange.DesignatorIndex = 0
124pp_data->cap[1]->NotRange.Reserved3 = 0
125pp_data->cap[1]->NotRange.DataIndex = 1
126pp_data->cap[1]->NotRange.Reserved4 = 1
127pp_data->cap[1]->NotButton.HasNull = 0
128pp_data->cap[1]->NotButton.Reserved4 = 0x000000
129pp_data->cap[1]->NotButton.LogicalMin = 0
130pp_data->cap[1]->NotButton.LogicalMax = 255
131pp_data->cap[1]->NotButton.PhysicalMin = 0
132pp_data->cap[1]->NotButton.PhysicalMax = 255
133pp_data->cap[1]->Units = 0
134pp_data->cap[1]->UnitsExp = 0
135
136pp_data->cap[2]->UsagePage = 0xFF00
137pp_data->cap[2]->ReportID = 0x00
138pp_data->cap[2]->BitPosition = 0
139pp_data->cap[2]->BitSize = 4
140pp_data->cap[2]->ReportCount = 1
141pp_data->cap[2]->BytePosition = 0x0003
142pp_data->cap[2]->BitCount = 4
143pp_data->cap[2]->BitField = 0x02
144pp_data->cap[2]->NextBytePosition = 0x0004
145pp_data->cap[2]->LinkCollection = 0x0002
146pp_data->cap[2]->LinkUsagePage = 0x0001
147pp_data->cap[2]->LinkUsage = 0x0001
148pp_data->cap[2]->IsMultipleItemsForArray = 0
149pp_data->cap[2]->IsButtonCap = 0
150pp_data->cap[2]->IsPadding = 0
151pp_data->cap[2]->IsAbsolute = 1
152pp_data->cap[2]->IsRange = 0
153pp_data->cap[2]->IsAlias = 0
154pp_data->cap[2]->IsStringRange = 0
155pp_data->cap[2]->IsDesignatorRange = 0
156pp_data->cap[2]->Reserved1 = 0x000000
157pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
158pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
159pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
160pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
161pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
162pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
163pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
164pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
165pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
166pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
167pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
168pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
169pp_data->cap[2]->NotRange.Usage = 0x0001
170pp_data->cap[2]->NotRange.Reserved1 = 0x0001
171pp_data->cap[2]->NotRange.StringIndex = 0
172pp_data->cap[2]->NotRange.Reserved2 = 0
173pp_data->cap[2]->NotRange.DesignatorIndex = 0
174pp_data->cap[2]->NotRange.Reserved3 = 0
175pp_data->cap[2]->NotRange.DataIndex = 2
176pp_data->cap[2]->NotRange.Reserved4 = 2
177pp_data->cap[2]->NotButton.HasNull = 0
178pp_data->cap[2]->NotButton.Reserved4 = 0x000000
179pp_data->cap[2]->NotButton.LogicalMin = 0
180pp_data->cap[2]->NotButton.LogicalMax = 15
181pp_data->cap[2]->NotButton.PhysicalMin = 0
182pp_data->cap[2]->NotButton.PhysicalMax = 255
183pp_data->cap[2]->Units = 0
184pp_data->cap[2]->UnitsExp = 0
185
186pp_data->cap[3]->UsagePage = 0x0001
187pp_data->cap[3]->ReportID = 0x00
188pp_data->cap[3]->BitPosition = 4
189pp_data->cap[3]->BitSize = 4
190pp_data->cap[3]->ReportCount = 1
191pp_data->cap[3]->BytePosition = 0x0003
192pp_data->cap[3]->BitCount = 4
193pp_data->cap[3]->BitField = 0x42
194pp_data->cap[3]->NextBytePosition = 0x0004
195pp_data->cap[3]->LinkCollection = 0x0002
196pp_data->cap[3]->LinkUsagePage = 0x0001
197pp_data->cap[3]->LinkUsage = 0x0001
198pp_data->cap[3]->IsMultipleItemsForArray = 0
199pp_data->cap[3]->IsButtonCap = 0
200pp_data->cap[3]->IsPadding = 0
201pp_data->cap[3]->IsAbsolute = 1
202pp_data->cap[3]->IsRange = 0
203pp_data->cap[3]->IsAlias = 0
204pp_data->cap[3]->IsStringRange = 0
205pp_data->cap[3]->IsDesignatorRange = 0
206pp_data->cap[3]->Reserved1 = 0x000000
207pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
208pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
209pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
210pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
211pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
212pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
213pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
214pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
215pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
216pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
217pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
218pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
219pp_data->cap[3]->NotRange.Usage = 0x0039
220pp_data->cap[3]->NotRange.Reserved1 = 0x0039
221pp_data->cap[3]->NotRange.StringIndex = 0
222pp_data->cap[3]->NotRange.Reserved2 = 0
223pp_data->cap[3]->NotRange.DesignatorIndex = 0
224pp_data->cap[3]->NotRange.Reserved3 = 0
225pp_data->cap[3]->NotRange.DataIndex = 3
226pp_data->cap[3]->NotRange.Reserved4 = 3
227pp_data->cap[3]->NotButton.HasNull = 1
228pp_data->cap[3]->NotButton.Reserved4 = 0x000000
229pp_data->cap[3]->NotButton.LogicalMin = 0
230pp_data->cap[3]->NotButton.LogicalMax = 7
231pp_data->cap[3]->NotButton.PhysicalMin = 0
232pp_data->cap[3]->NotButton.PhysicalMax = 315
233pp_data->cap[3]->Units = 20
234pp_data->cap[3]->UnitsExp = 0
235
236pp_data->cap[4]->UsagePage = 0x0001
237pp_data->cap[4]->ReportID = 0x00
238pp_data->cap[4]->BitPosition = 0
239pp_data->cap[4]->BitSize = 8
240pp_data->cap[4]->ReportCount = 1
241pp_data->cap[4]->BytePosition = 0x0004
242pp_data->cap[4]->BitCount = 8
243pp_data->cap[4]->BitField = 0x02
244pp_data->cap[4]->NextBytePosition = 0x0005
245pp_data->cap[4]->LinkCollection = 0x0002
246pp_data->cap[4]->LinkUsagePage = 0x0001
247pp_data->cap[4]->LinkUsage = 0x0001
248pp_data->cap[4]->IsMultipleItemsForArray = 0
249pp_data->cap[4]->IsButtonCap = 0
250pp_data->cap[4]->IsPadding = 0
251pp_data->cap[4]->IsAbsolute = 1
252pp_data->cap[4]->IsRange = 0
253pp_data->cap[4]->IsAlias = 0
254pp_data->cap[4]->IsStringRange = 0
255pp_data->cap[4]->IsDesignatorRange = 0
256pp_data->cap[4]->Reserved1 = 0x000000
257pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
258pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
259pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
260pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
261pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
262pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
263pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
264pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
265pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
266pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
267pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
268pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
269pp_data->cap[4]->NotRange.Usage = 0x0035
270pp_data->cap[4]->NotRange.Reserved1 = 0x0035
271pp_data->cap[4]->NotRange.StringIndex = 0
272pp_data->cap[4]->NotRange.Reserved2 = 0
273pp_data->cap[4]->NotRange.DesignatorIndex = 0
274pp_data->cap[4]->NotRange.Reserved3 = 0
275pp_data->cap[4]->NotRange.DataIndex = 4
276pp_data->cap[4]->NotRange.Reserved4 = 4
277pp_data->cap[4]->NotButton.HasNull = 0
278pp_data->cap[4]->NotButton.Reserved4 = 0x000000
279pp_data->cap[4]->NotButton.LogicalMin = 0
280pp_data->cap[4]->NotButton.LogicalMax = 255
281pp_data->cap[4]->NotButton.PhysicalMin = 0
282pp_data->cap[4]->NotButton.PhysicalMax = 255
283pp_data->cap[4]->Units = 20
284pp_data->cap[4]->UnitsExp = 0
285
286pp_data->cap[5]->UsagePage = 0x0009
287pp_data->cap[5]->ReportID = 0x00
288pp_data->cap[5]->BitPosition = 0
289pp_data->cap[5]->BitSize = 1
290pp_data->cap[5]->ReportCount = 7
291pp_data->cap[5]->BytePosition = 0x0005
292pp_data->cap[5]->BitCount = 7
293pp_data->cap[5]->BitField = 0x02
294pp_data->cap[5]->NextBytePosition = 0x0006
295pp_data->cap[5]->LinkCollection = 0x0001
296pp_data->cap[5]->LinkUsagePage = 0x0001
297pp_data->cap[5]->LinkUsage = 0x0000
298pp_data->cap[5]->IsMultipleItemsForArray = 0
299pp_data->cap[5]->IsButtonCap = 1
300pp_data->cap[5]->IsPadding = 0
301pp_data->cap[5]->IsAbsolute = 1
302pp_data->cap[5]->IsRange = 1
303pp_data->cap[5]->IsAlias = 0
304pp_data->cap[5]->IsStringRange = 0
305pp_data->cap[5]->IsDesignatorRange = 0
306pp_data->cap[5]->Reserved1 = 0x000000
307pp_data->cap[5]->pp_cap->UnknownTokens[0].Token = 0x00
308pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
309pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
310pp_data->cap[5]->pp_cap->UnknownTokens[1].Token = 0x00
311pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
312pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
313pp_data->cap[5]->pp_cap->UnknownTokens[2].Token = 0x00
314pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
315pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
316pp_data->cap[5]->pp_cap->UnknownTokens[3].Token = 0x00
317pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
318pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
319pp_data->cap[5]->Range.UsageMin = 0x0001
320pp_data->cap[5]->Range.UsageMax = 0x0007
321pp_data->cap[5]->Range.StringMin = 0
322pp_data->cap[5]->Range.StringMax = 0
323pp_data->cap[5]->Range.DesignatorMin = 0
324pp_data->cap[5]->Range.DesignatorMax = 0
325pp_data->cap[5]->Range.DataIndexMin = 5
326pp_data->cap[5]->Range.DataIndexMax = 11
327pp_data->cap[5]->Button.LogicalMin = 0
328pp_data->cap[5]->Button.LogicalMax = 0
329pp_data->cap[5]->Units = 0
330pp_data->cap[5]->UnitsExp = 0
331
332pp_data->cap[6]->UsagePage = 0x0001
333pp_data->cap[6]->ReportID = 0x00
334pp_data->cap[6]->BitPosition = 0
335pp_data->cap[6]->BitSize = 8
336pp_data->cap[6]->ReportCount = 1
337pp_data->cap[6]->BytePosition = 0x0006
338pp_data->cap[6]->BitCount = 8
339pp_data->cap[6]->BitField = 0x02
340pp_data->cap[6]->NextBytePosition = 0x0007
341pp_data->cap[6]->LinkCollection = 0x0001
342pp_data->cap[6]->LinkUsagePage = 0x0001
343pp_data->cap[6]->LinkUsage = 0x0000
344pp_data->cap[6]->IsMultipleItemsForArray = 0
345pp_data->cap[6]->IsButtonCap = 0
346pp_data->cap[6]->IsPadding = 0
347pp_data->cap[6]->IsAbsolute = 1
348pp_data->cap[6]->IsRange = 0
349pp_data->cap[6]->IsAlias = 0
350pp_data->cap[6]->IsStringRange = 0
351pp_data->cap[6]->IsDesignatorRange = 0
352pp_data->cap[6]->Reserved1 = 0x000000
353pp_data->cap[6]->pp_cap->UnknownTokens[0].Token = 0x00
354pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
355pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
356pp_data->cap[6]->pp_cap->UnknownTokens[1].Token = 0x00
357pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
358pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
359pp_data->cap[6]->pp_cap->UnknownTokens[2].Token = 0x00
360pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
361pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
362pp_data->cap[6]->pp_cap->UnknownTokens[3].Token = 0x00
363pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
364pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
365pp_data->cap[6]->NotRange.Usage = 0x0036
366pp_data->cap[6]->NotRange.Reserved1 = 0x0036
367pp_data->cap[6]->NotRange.StringIndex = 0
368pp_data->cap[6]->NotRange.Reserved2 = 0
369pp_data->cap[6]->NotRange.DesignatorIndex = 0
370pp_data->cap[6]->NotRange.Reserved3 = 0
371pp_data->cap[6]->NotRange.DataIndex = 12
372pp_data->cap[6]->NotRange.Reserved4 = 12
373pp_data->cap[6]->NotButton.HasNull = 0
374pp_data->cap[6]->NotButton.Reserved4 = 0x000000
375pp_data->cap[6]->NotButton.LogicalMin = 0
376pp_data->cap[6]->NotButton.LogicalMax = 255
377pp_data->cap[6]->NotButton.PhysicalMin = 0
378pp_data->cap[6]->NotButton.PhysicalMax = 255
379pp_data->cap[6]->Units = 0
380pp_data->cap[6]->UnitsExp = 0
381
382pp_data->cap[7]->UsagePage = 0xFF00
383pp_data->cap[7]->ReportID = 0x00
384pp_data->cap[7]->BitPosition = 0
385pp_data->cap[7]->BitSize = 8
386pp_data->cap[7]->ReportCount = 1
387pp_data->cap[7]->BytePosition = 0x0007
388pp_data->cap[7]->BitCount = 8
389pp_data->cap[7]->BitField = 0x02
390pp_data->cap[7]->NextBytePosition = 0x0008
391pp_data->cap[7]->LinkCollection = 0x0001
392pp_data->cap[7]->LinkUsagePage = 0x0001
393pp_data->cap[7]->LinkUsage = 0x0000
394pp_data->cap[7]->IsMultipleItemsForArray = 0
395pp_data->cap[7]->IsButtonCap = 0
396pp_data->cap[7]->IsPadding = 0
397pp_data->cap[7]->IsAbsolute = 1
398pp_data->cap[7]->IsRange = 0
399pp_data->cap[7]->IsAlias = 0
400pp_data->cap[7]->IsStringRange = 0
401pp_data->cap[7]->IsDesignatorRange = 0
402pp_data->cap[7]->Reserved1 = 0x000000
403pp_data->cap[7]->pp_cap->UnknownTokens[0].Token = 0x00
404pp_data->cap[7]->pp_cap->UnknownTokens[0].Reserved = 0x000000
405pp_data->cap[7]->pp_cap->UnknownTokens[0].BitField = 0x00000000
406pp_data->cap[7]->pp_cap->UnknownTokens[1].Token = 0x00
407pp_data->cap[7]->pp_cap->UnknownTokens[1].Reserved = 0x000000
408pp_data->cap[7]->pp_cap->UnknownTokens[1].BitField = 0x00000000
409pp_data->cap[7]->pp_cap->UnknownTokens[2].Token = 0x00
410pp_data->cap[7]->pp_cap->UnknownTokens[2].Reserved = 0x000000
411pp_data->cap[7]->pp_cap->UnknownTokens[2].BitField = 0x00000000
412pp_data->cap[7]->pp_cap->UnknownTokens[3].Token = 0x00
413pp_data->cap[7]->pp_cap->UnknownTokens[3].Reserved = 0x000000
414pp_data->cap[7]->pp_cap->UnknownTokens[3].BitField = 0x00000000
415pp_data->cap[7]->NotRange.Usage = 0x0001
416pp_data->cap[7]->NotRange.Reserved1 = 0x0001
417pp_data->cap[7]->NotRange.StringIndex = 0
418pp_data->cap[7]->NotRange.Reserved2 = 0
419pp_data->cap[7]->NotRange.DesignatorIndex = 0
420pp_data->cap[7]->NotRange.Reserved3 = 0
421pp_data->cap[7]->NotRange.DataIndex = 13
422pp_data->cap[7]->NotRange.Reserved4 = 13
423pp_data->cap[7]->NotButton.HasNull = 0
424pp_data->cap[7]->NotButton.Reserved4 = 0x000000
425pp_data->cap[7]->NotButton.LogicalMin = 0
426pp_data->cap[7]->NotButton.LogicalMax = 255
427pp_data->cap[7]->NotButton.PhysicalMin = 0
428pp_data->cap[7]->NotButton.PhysicalMax = 255
429pp_data->cap[7]->Units = 0
430pp_data->cap[7]->UnitsExp = 0
431
432# Output hid_pp_cap struct:
433pp_data->cap[8]->UsagePage = 0xFF00
434pp_data->cap[8]->ReportID = 0x00
435pp_data->cap[8]->BitPosition = 0
436pp_data->cap[8]->BitSize = 8
437pp_data->cap[8]->ReportCount = 8
438pp_data->cap[8]->BytePosition = 0x0001
439pp_data->cap[8]->BitCount = 64
440pp_data->cap[8]->BitField = 0x02
441pp_data->cap[8]->NextBytePosition = 0x0009
442pp_data->cap[8]->LinkCollection = 0x0003
443pp_data->cap[8]->LinkUsagePage = 0xFF00
444pp_data->cap[8]->LinkUsage = 0x0000
445pp_data->cap[8]->IsMultipleItemsForArray = 0
446pp_data->cap[8]->IsButtonCap = 0
447pp_data->cap[8]->IsPadding = 0
448pp_data->cap[8]->IsAbsolute = 1
449pp_data->cap[8]->IsRange = 0
450pp_data->cap[8]->IsAlias = 0
451pp_data->cap[8]->IsStringRange = 0
452pp_data->cap[8]->IsDesignatorRange = 0
453pp_data->cap[8]->Reserved1 = 0x000000
454pp_data->cap[8]->pp_cap->UnknownTokens[0].Token = 0x00
455pp_data->cap[8]->pp_cap->UnknownTokens[0].Reserved = 0x000000
456pp_data->cap[8]->pp_cap->UnknownTokens[0].BitField = 0x00000000
457pp_data->cap[8]->pp_cap->UnknownTokens[1].Token = 0x00
458pp_data->cap[8]->pp_cap->UnknownTokens[1].Reserved = 0x000000
459pp_data->cap[8]->pp_cap->UnknownTokens[1].BitField = 0x00000000
460pp_data->cap[8]->pp_cap->UnknownTokens[2].Token = 0x00
461pp_data->cap[8]->pp_cap->UnknownTokens[2].Reserved = 0x000000
462pp_data->cap[8]->pp_cap->UnknownTokens[2].BitField = 0x00000000
463pp_data->cap[8]->pp_cap->UnknownTokens[3].Token = 0x00
464pp_data->cap[8]->pp_cap->UnknownTokens[3].Reserved = 0x000000
465pp_data->cap[8]->pp_cap->UnknownTokens[3].BitField = 0x00000000
466pp_data->cap[8]->NotRange.Usage = 0x0002
467pp_data->cap[8]->NotRange.Reserved1 = 0x0002
468pp_data->cap[8]->NotRange.StringIndex = 0
469pp_data->cap[8]->NotRange.Reserved2 = 0
470pp_data->cap[8]->NotRange.DesignatorIndex = 0
471pp_data->cap[8]->NotRange.Reserved3 = 0
472pp_data->cap[8]->NotRange.DataIndex = 0
473pp_data->cap[8]->NotRange.Reserved4 = 0
474pp_data->cap[8]->NotButton.HasNull = 0
475pp_data->cap[8]->NotButton.Reserved4 = 0x000000
476pp_data->cap[8]->NotButton.LogicalMin = 0
477pp_data->cap[8]->NotButton.LogicalMax = 255
478pp_data->cap[8]->NotButton.PhysicalMin = 0
479pp_data->cap[8]->NotButton.PhysicalMax = 255
480pp_data->cap[8]->Units = 0
481pp_data->cap[8]->UnitsExp = 0
482
483# Feature hid_pp_cap struct:
484# Link Collections:
485pp_data->LinkCollectionArray[0]->LinkUsage = 0x0004
486pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
487pp_data->LinkCollectionArray[0]->Parent = 0
488pp_data->LinkCollectionArray[0]->NumberOfChildren = 2
489pp_data->LinkCollectionArray[0]->NextSibling = 0
490pp_data->LinkCollectionArray[0]->FirstChild = 3
491pp_data->LinkCollectionArray[0]->CollectionType = 1
492pp_data->LinkCollectionArray[0]->IsAlias = 0
493pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
494pp_data->LinkCollectionArray[1]->LinkUsage = 0x0000
495pp_data->LinkCollectionArray[1]->LinkUsagePage = 0x0001
496pp_data->LinkCollectionArray[1]->Parent = 0
497pp_data->LinkCollectionArray[1]->NumberOfChildren = 1
498pp_data->LinkCollectionArray[1]->NextSibling = 0
499pp_data->LinkCollectionArray[1]->FirstChild = 2
500pp_data->LinkCollectionArray[1]->CollectionType = 2
501pp_data->LinkCollectionArray[1]->IsAlias = 0
502pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
503pp_data->LinkCollectionArray[2]->LinkUsage = 0x0001
504pp_data->LinkCollectionArray[2]->LinkUsagePage = 0x0001
505pp_data->LinkCollectionArray[2]->Parent = 1
506pp_data->LinkCollectionArray[2]->NumberOfChildren = 0
507pp_data->LinkCollectionArray[2]->NextSibling = 0
508pp_data->LinkCollectionArray[2]->FirstChild = 0
509pp_data->LinkCollectionArray[2]->CollectionType = 0
510pp_data->LinkCollectionArray[2]->IsAlias = 0
511pp_data->LinkCollectionArray[2]->Reserved = 0x00000000
512pp_data->LinkCollectionArray[3]->LinkUsage = 0x0000
513pp_data->LinkCollectionArray[3]->LinkUsagePage = 0xFF00
514pp_data->LinkCollectionArray[3]->Parent = 0
515pp_data->LinkCollectionArray[3]->NumberOfChildren = 0
516pp_data->LinkCollectionArray[3]->NextSibling = 1
517pp_data->LinkCollectionArray[3]->FirstChild = 0
518pp_data->LinkCollectionArray[3]->CollectionType = 2
519pp_data->LinkCollectionArray[3]->IsAlias = 0
520pp_data->LinkCollectionArray[3]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_expected.rpt_desc
new file mode 100644
index 0000000..fca719a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_expected.rpt_desc
@@ -0,0 +1,18 @@
10x05, 0x01, 0x09, 0x04, 0xA1, 0x01, 0x09, 0x00, 0xA1, 0x02,
20x09, 0x01, 0xA1, 0x00, 0x09, 0x30, 0x09, 0x31, 0x15, 0x00,
30x26, 0xFF, 0x00, 0x35, 0x00, 0x46, 0xFF, 0x00, 0x75, 0x08,
40x95, 0x02, 0x81, 0x02, 0x06, 0x00, 0xFF, 0x09, 0x01, 0x15,
50x00, 0x25, 0x0F, 0x75, 0x04, 0x95, 0x01, 0x81, 0x02, 0x05,
60x01, 0x09, 0x39, 0x15, 0x00, 0x25, 0x07, 0x35, 0x00, 0x46,
70x3B, 0x01, 0x65, 0x14, 0x75, 0x04, 0x95, 0x01, 0x81, 0x42,
80x09, 0x35, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x35, 0x00, 0x46,
90xFF, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0xC0, 0x05,
100x09, 0x19, 0x01, 0x29, 0x07, 0x15, 0x00, 0x25, 0x01, 0x75,
110x01, 0x95, 0x07, 0x45, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75,
120x01, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x36, 0x15,
130x00, 0x26, 0xFF, 0x00, 0x35, 0x00, 0x46, 0xFF, 0x00, 0x75,
140x08, 0x95, 0x01, 0x81, 0x02, 0x06, 0x00, 0xFF, 0x09, 0x01,
150x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81,
160x02, 0xC0, 0x09, 0x00, 0xA1, 0x02, 0x09, 0x02, 0x15, 0x00,
170x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x08, 0x91, 0x02, 0xC0,
180xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_real.rpt_desc
new file mode 100644
index 0000000..fca719a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C283_0004_0001_real.rpt_desc
@@ -0,0 +1,18 @@
10x05, 0x01, 0x09, 0x04, 0xA1, 0x01, 0x09, 0x00, 0xA1, 0x02,
20x09, 0x01, 0xA1, 0x00, 0x09, 0x30, 0x09, 0x31, 0x15, 0x00,
30x26, 0xFF, 0x00, 0x35, 0x00, 0x46, 0xFF, 0x00, 0x75, 0x08,
40x95, 0x02, 0x81, 0x02, 0x06, 0x00, 0xFF, 0x09, 0x01, 0x15,
50x00, 0x25, 0x0F, 0x75, 0x04, 0x95, 0x01, 0x81, 0x02, 0x05,
60x01, 0x09, 0x39, 0x15, 0x00, 0x25, 0x07, 0x35, 0x00, 0x46,
70x3B, 0x01, 0x65, 0x14, 0x75, 0x04, 0x95, 0x01, 0x81, 0x42,
80x09, 0x35, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x35, 0x00, 0x46,
90xFF, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0xC0, 0x05,
100x09, 0x19, 0x01, 0x29, 0x07, 0x15, 0x00, 0x25, 0x01, 0x75,
110x01, 0x95, 0x07, 0x45, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75,
120x01, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x36, 0x15,
130x00, 0x26, 0xFF, 0x00, 0x35, 0x00, 0x46, 0xFF, 0x00, 0x75,
140x08, 0x95, 0x01, 0x81, 0x02, 0x06, 0x00, 0xFF, 0x09, 0x01,
150x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81,
160x02, 0xC0, 0x09, 0x00, 0xA1, 0x02, 0x09, 0x02, 0x15, 0x00,
170x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x08, 0x91, 0x02, 0xC0,
180xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C.pp_data
new file mode 100644
index 0000000..7f6b369
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C.pp_data
@@ -0,0 +1,93 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC52F
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2200
7dev->interface_number = 1
8dev->usage = 0x0001
9dev->usage_page = 0x000C
10dev->path = "\\?\hid#vid_046d&pid_c52f&mi_01&col01#8&28ca146b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0x000C
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 5
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 1
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 1
29pp_data->caps_info[2]->LastCap = 1
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0068
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x000C
37pp_data->cap[0]->ReportID = 0x03
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 16
40pp_data->cap[0]->ReportCount = 2
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 32
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0005
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x000C
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x0001
70pp_data->cap[0]->Range.UsageMax = 0x028C
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 651
77pp_data->cap[0]->Button.LogicalMin = 1
78pp_data->cap[0]->Button.LogicalMax = 652
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83# Feature hid_pp_cap struct:
84# Link Collections:
85pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
86pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x000C
87pp_data->LinkCollectionArray[0]->Parent = 0
88pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
89pp_data->LinkCollectionArray[0]->NextSibling = 0
90pp_data->LinkCollectionArray[0]->FirstChild = 0
91pp_data->LinkCollectionArray[0]->CollectionType = 1
92pp_data->LinkCollectionArray[0]->IsAlias = 0
93pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_expected.rpt_desc
new file mode 100644
index 0000000..85953ae
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_expected.rpt_desc
@@ -0,0 +1,3 @@
10x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x03, 0x19, 0x01,
20x2A, 0x8C, 0x02, 0x15, 0x01, 0x26, 0x8C, 0x02, 0x75, 0x10,
30x95, 0x02, 0x81, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_real.rpt_desc
new file mode 100644
index 0000000..280e58f
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_000C_real.rpt_desc
@@ -0,0 +1,12 @@
1Usage Page (Consumer Devices) 05 0C
2Usage (Consumer Control) 09 01
3Collection (Application) A1 01
4 Report ID (3) 85 03
5 Report Size (16) 75 10
6 Report Count (2) 95 02
7 Logical Minimum (1) 15 01
8 Logical Maximum (652) 26 8C 02
9 Usage Minimum (Consumer Control) 19 01
10 Usage Maximum (AC Send) 2A 8C 02
11 Input (Data,Ary,Abs) 81 00
12End Collection C0
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00.pp_data
new file mode 100644
index 0000000..5e8ece1
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00.pp_data
@@ -0,0 +1,139 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC52F
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2200
7dev->interface_number = 1
8dev->usage = 0x0001
9dev->usage_page = 0xFF00
10dev->path = "\\?\hid#vid_046d&pid_c52f&mi_01&col02#8&28ca146b&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0xFF00
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 7
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 2
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 7
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 2
29pp_data->caps_info[2]->LastCap = 2
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x00D0
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFF00
37pp_data->cap[0]->ReportID = 0x10
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 6
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 48
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0007
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0xFF00
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0001
70pp_data->cap[0]->NotRange.Reserved1 = 0x0001
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 255
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83pp_data->cap[1]->UsagePage = 0xFF00
84pp_data->cap[1]->ReportID = 0x10
85pp_data->cap[1]->BitPosition = 0
86pp_data->cap[1]->BitSize = 8
87pp_data->cap[1]->ReportCount = 6
88pp_data->cap[1]->BytePosition = 0x0001
89pp_data->cap[1]->BitCount = 48
90pp_data->cap[1]->BitField = 0x00
91pp_data->cap[1]->NextBytePosition = 0x0007
92pp_data->cap[1]->LinkCollection = 0x0000
93pp_data->cap[1]->LinkUsagePage = 0xFF00
94pp_data->cap[1]->LinkUsage = 0x0001
95pp_data->cap[1]->IsMultipleItemsForArray = 0
96pp_data->cap[1]->IsButtonCap = 1
97pp_data->cap[1]->IsPadding = 0
98pp_data->cap[1]->IsAbsolute = 1
99pp_data->cap[1]->IsRange = 0
100pp_data->cap[1]->IsAlias = 0
101pp_data->cap[1]->IsStringRange = 0
102pp_data->cap[1]->IsDesignatorRange = 0
103pp_data->cap[1]->Reserved1 = 0x000000
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
105pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
106pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
116pp_data->cap[1]->NotRange.Usage = 0x0001
117pp_data->cap[1]->NotRange.Reserved1 = 0x0001
118pp_data->cap[1]->NotRange.StringIndex = 0
119pp_data->cap[1]->NotRange.Reserved2 = 0
120pp_data->cap[1]->NotRange.DesignatorIndex = 0
121pp_data->cap[1]->NotRange.Reserved3 = 0
122pp_data->cap[1]->NotRange.DataIndex = 0
123pp_data->cap[1]->NotRange.Reserved4 = 0
124pp_data->cap[1]->Button.LogicalMin = 0
125pp_data->cap[1]->Button.LogicalMax = 255
126pp_data->cap[1]->Units = 0
127pp_data->cap[1]->UnitsExp = 0
128
129# Feature hid_pp_cap struct:
130# Link Collections:
131pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
132pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFF00
133pp_data->LinkCollectionArray[0]->Parent = 0
134pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
135pp_data->LinkCollectionArray[0]->NextSibling = 0
136pp_data->LinkCollectionArray[0]->FirstChild = 0
137pp_data->LinkCollectionArray[0]->CollectionType = 1
138pp_data->LinkCollectionArray[0]->IsAlias = 0
139pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_expected.rpt_desc
new file mode 100644
index 0000000..812bd2a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_expected.rpt_desc
@@ -0,0 +1,4 @@
10x06, 0x00, 0xFF, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x10, 0x09,
20x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x06,
30x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
40x08, 0x95, 0x06, 0x91, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_real.rpt_desc
new file mode 100644
index 0000000..0db6898
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0001_FF00_real.rpt_desc
@@ -0,0 +1,13 @@
1Usage Page (Vendor-Defined 1) 06 00 FF
2Usage (Vendor-Defined 1) 09 01
3Collection (Application) A1 01
4 Report ID (16) 85 10
5 Report Size (8) 75 08
6 Report Count (6) 95 06
7 Logical Minimum (0) 15 00
8 Logical Maximum (255) 26 FF 00
9 Usage (Vendor-Defined 1) 09 01
10 Input (Data,Ary,Abs) 81 00
11 Usage (Vendor-Defined 1) 09 01
12 Output (Data,Ary,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 00
13End Collection C0
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001.pp_data
new file mode 100644
index 0000000..d90e666
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001.pp_data
@@ -0,0 +1,302 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC52F
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2200
7dev->interface_number = 0
8dev->usage = 0x0002
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#vid_046d&pid_c52f&mi_00#8&1599f82d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0002
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 5
20pp_data->caps_info[0]->NumberOfCaps = 5
21pp_data->caps_info[0]->ReportByteLength = 9
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 5
24pp_data->caps_info[1]->LastCap = 5
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 5
29pp_data->caps_info[2]->LastCap = 5
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0208
34pp_data->NumberLinkCollectionNodes = 2
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0009
37pp_data->cap[0]->ReportID = 0x00
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 16
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 16
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0003
45pp_data->cap[0]->LinkCollection = 0x0001
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x0001
70pp_data->cap[0]->Range.UsageMax = 0x0010
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 15
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x0001
83pp_data->cap[1]->ReportID = 0x00
84pp_data->cap[1]->BitPosition = 0
85pp_data->cap[1]->BitSize = 16
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0005
88pp_data->cap[1]->BitCount = 16
89pp_data->cap[1]->BitField = 0x06
90pp_data->cap[1]->NextBytePosition = 0x0007
91pp_data->cap[1]->LinkCollection = 0x0001
92pp_data->cap[1]->LinkUsagePage = 0x0001
93pp_data->cap[1]->LinkUsage = 0x0001
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 0
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 0
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x0031
116pp_data->cap[1]->NotRange.Reserved1 = 0x0031
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 16
122pp_data->cap[1]->NotRange.Reserved4 = 16
123pp_data->cap[1]->NotButton.HasNull = 0
124pp_data->cap[1]->NotButton.Reserved4 = 0x000000
125pp_data->cap[1]->NotButton.LogicalMin = -32767
126pp_data->cap[1]->NotButton.LogicalMax = 32767
127pp_data->cap[1]->NotButton.PhysicalMin = 0
128pp_data->cap[1]->NotButton.PhysicalMax = 0
129pp_data->cap[1]->Units = 0
130pp_data->cap[1]->UnitsExp = 0
131
132pp_data->cap[2]->UsagePage = 0x0001
133pp_data->cap[2]->ReportID = 0x00
134pp_data->cap[2]->BitPosition = 0
135pp_data->cap[2]->BitSize = 16
136pp_data->cap[2]->ReportCount = 1
137pp_data->cap[2]->BytePosition = 0x0003
138pp_data->cap[2]->BitCount = 16
139pp_data->cap[2]->BitField = 0x06
140pp_data->cap[2]->NextBytePosition = 0x0005
141pp_data->cap[2]->LinkCollection = 0x0001
142pp_data->cap[2]->LinkUsagePage = 0x0001
143pp_data->cap[2]->LinkUsage = 0x0001
144pp_data->cap[2]->IsMultipleItemsForArray = 0
145pp_data->cap[2]->IsButtonCap = 0
146pp_data->cap[2]->IsPadding = 0
147pp_data->cap[2]->IsAbsolute = 0
148pp_data->cap[2]->IsRange = 0
149pp_data->cap[2]->IsAlias = 0
150pp_data->cap[2]->IsStringRange = 0
151pp_data->cap[2]->IsDesignatorRange = 0
152pp_data->cap[2]->Reserved1 = 0x000000
153pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
154pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
155pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
156pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
157pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
158pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
159pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
160pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
161pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
162pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
163pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
164pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
165pp_data->cap[2]->NotRange.Usage = 0x0030
166pp_data->cap[2]->NotRange.Reserved1 = 0x0030
167pp_data->cap[2]->NotRange.StringIndex = 0
168pp_data->cap[2]->NotRange.Reserved2 = 0
169pp_data->cap[2]->NotRange.DesignatorIndex = 0
170pp_data->cap[2]->NotRange.Reserved3 = 0
171pp_data->cap[2]->NotRange.DataIndex = 17
172pp_data->cap[2]->NotRange.Reserved4 = 17
173pp_data->cap[2]->NotButton.HasNull = 0
174pp_data->cap[2]->NotButton.Reserved4 = 0x000000
175pp_data->cap[2]->NotButton.LogicalMin = -32767
176pp_data->cap[2]->NotButton.LogicalMax = 32767
177pp_data->cap[2]->NotButton.PhysicalMin = 0
178pp_data->cap[2]->NotButton.PhysicalMax = 0
179pp_data->cap[2]->Units = 0
180pp_data->cap[2]->UnitsExp = 0
181
182pp_data->cap[3]->UsagePage = 0x0001
183pp_data->cap[3]->ReportID = 0x00
184pp_data->cap[3]->BitPosition = 0
185pp_data->cap[3]->BitSize = 8
186pp_data->cap[3]->ReportCount = 1
187pp_data->cap[3]->BytePosition = 0x0007
188pp_data->cap[3]->BitCount = 8
189pp_data->cap[3]->BitField = 0x06
190pp_data->cap[3]->NextBytePosition = 0x0008
191pp_data->cap[3]->LinkCollection = 0x0001
192pp_data->cap[3]->LinkUsagePage = 0x0001
193pp_data->cap[3]->LinkUsage = 0x0001
194pp_data->cap[3]->IsMultipleItemsForArray = 0
195pp_data->cap[3]->IsButtonCap = 0
196pp_data->cap[3]->IsPadding = 0
197pp_data->cap[3]->IsAbsolute = 0
198pp_data->cap[3]->IsRange = 0
199pp_data->cap[3]->IsAlias = 0
200pp_data->cap[3]->IsStringRange = 0
201pp_data->cap[3]->IsDesignatorRange = 0
202pp_data->cap[3]->Reserved1 = 0x000000
203pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
204pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
205pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
206pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
207pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
208pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
209pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
210pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
211pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
212pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
213pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
214pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
215pp_data->cap[3]->NotRange.Usage = 0x0038
216pp_data->cap[3]->NotRange.Reserved1 = 0x0038
217pp_data->cap[3]->NotRange.StringIndex = 0
218pp_data->cap[3]->NotRange.Reserved2 = 0
219pp_data->cap[3]->NotRange.DesignatorIndex = 0
220pp_data->cap[3]->NotRange.Reserved3 = 0
221pp_data->cap[3]->NotRange.DataIndex = 18
222pp_data->cap[3]->NotRange.Reserved4 = 18
223pp_data->cap[3]->NotButton.HasNull = 0
224pp_data->cap[3]->NotButton.Reserved4 = 0x000000
225pp_data->cap[3]->NotButton.LogicalMin = -127
226pp_data->cap[3]->NotButton.LogicalMax = 127
227pp_data->cap[3]->NotButton.PhysicalMin = 0
228pp_data->cap[3]->NotButton.PhysicalMax = 0
229pp_data->cap[3]->Units = 0
230pp_data->cap[3]->UnitsExp = 0
231
232pp_data->cap[4]->UsagePage = 0x000C
233pp_data->cap[4]->ReportID = 0x00
234pp_data->cap[4]->BitPosition = 0
235pp_data->cap[4]->BitSize = 8
236pp_data->cap[4]->ReportCount = 1
237pp_data->cap[4]->BytePosition = 0x0008
238pp_data->cap[4]->BitCount = 8
239pp_data->cap[4]->BitField = 0x06
240pp_data->cap[4]->NextBytePosition = 0x0009
241pp_data->cap[4]->LinkCollection = 0x0001
242pp_data->cap[4]->LinkUsagePage = 0x0001
243pp_data->cap[4]->LinkUsage = 0x0001
244pp_data->cap[4]->IsMultipleItemsForArray = 0
245pp_data->cap[4]->IsButtonCap = 0
246pp_data->cap[4]->IsPadding = 0
247pp_data->cap[4]->IsAbsolute = 0
248pp_data->cap[4]->IsRange = 0
249pp_data->cap[4]->IsAlias = 0
250pp_data->cap[4]->IsStringRange = 0
251pp_data->cap[4]->IsDesignatorRange = 0
252pp_data->cap[4]->Reserved1 = 0x000000
253pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
254pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
255pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
256pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
257pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
258pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
259pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
260pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
261pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
262pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
263pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
264pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
265pp_data->cap[4]->NotRange.Usage = 0x0238
266pp_data->cap[4]->NotRange.Reserved1 = 0x0238
267pp_data->cap[4]->NotRange.StringIndex = 0
268pp_data->cap[4]->NotRange.Reserved2 = 0
269pp_data->cap[4]->NotRange.DesignatorIndex = 0
270pp_data->cap[4]->NotRange.Reserved3 = 0
271pp_data->cap[4]->NotRange.DataIndex = 19
272pp_data->cap[4]->NotRange.Reserved4 = 19
273pp_data->cap[4]->NotButton.HasNull = 0
274pp_data->cap[4]->NotButton.Reserved4 = 0x000000
275pp_data->cap[4]->NotButton.LogicalMin = -127
276pp_data->cap[4]->NotButton.LogicalMax = 127
277pp_data->cap[4]->NotButton.PhysicalMin = 0
278pp_data->cap[4]->NotButton.PhysicalMax = 0
279pp_data->cap[4]->Units = 0
280pp_data->cap[4]->UnitsExp = 0
281
282# Output hid_pp_cap struct:
283# Feature hid_pp_cap struct:
284# Link Collections:
285pp_data->LinkCollectionArray[0]->LinkUsage = 0x0002
286pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
287pp_data->LinkCollectionArray[0]->Parent = 0
288pp_data->LinkCollectionArray[0]->NumberOfChildren = 1
289pp_data->LinkCollectionArray[0]->NextSibling = 0
290pp_data->LinkCollectionArray[0]->FirstChild = 1
291pp_data->LinkCollectionArray[0]->CollectionType = 1
292pp_data->LinkCollectionArray[0]->IsAlias = 0
293pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
294pp_data->LinkCollectionArray[1]->LinkUsage = 0x0001
295pp_data->LinkCollectionArray[1]->LinkUsagePage = 0x0001
296pp_data->LinkCollectionArray[1]->Parent = 0
297pp_data->LinkCollectionArray[1]->NumberOfChildren = 0
298pp_data->LinkCollectionArray[1]->NextSibling = 0
299pp_data->LinkCollectionArray[1]->FirstChild = 0
300pp_data->LinkCollectionArray[1]->CollectionType = 0
301pp_data->LinkCollectionArray[1]->IsAlias = 0
302pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_expected.rpt_desc
new file mode 100644
index 0000000..128c411
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_expected.rpt_desc
@@ -0,0 +1,8 @@
10x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00,
20x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01,
30x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30,
40x09, 0x31, 0x16, 0x01, 0x80, 0x26, 0xFF, 0x7F, 0x75, 0x10,
50x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7F,
60x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0C, 0x0A, 0x38,
70x02, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08, 0x95, 0x01, 0x81,
80x06, 0xC0, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_real.rpt_desc
new file mode 100644
index 0000000..9c0521d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_0001_real.rpt_desc
@@ -0,0 +1,33 @@
1Usage Page (Generic Desktop) 05 01
2Usage (Mouse) 09 02
3Collection (Application) A1 01
4 Usage (Pointer) 09 01
5 Collection (Physical) A1 00
6 Usage Page (Button) 05 09
7 Usage Minimum (Button 1) 19 01
8 Usage Maximum (Button 16) 29 10
9 Logical Minimum (0) 15 00
10 Logical Maximum (1) 25 01
11 Report Count (16) 95 10
12 Report Size (1) 75 01
13 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
14 Usage Page (Generic Desktop) 05 01
15 Logical Minimum (-32767) 16 01 80
16 Logical Maximum (32767) 26 FF 7F
17 Report Size (16) 75 10
18 Report Count (2) 95 02
19 Usage (X) 09 30
20 Usage (Y) 09 31
21 Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
22 Logical Minimum (-127) 15 81
23 Logical Maximum (127) 25 7F
24 Report Size (8) 75 08
25 Report Count (1) 95 01
26 Usage (Wheel) 09 38
27 Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
28 Usage Page (Consumer Devices) 05 0C
29 Usage (AC Pan) 0A 38 02
30 Report Count (1) 95 01
31 Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
32 End Collection C0
33End Collection C0
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00.pp_data
new file mode 100644
index 0000000..09a3689
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00.pp_data
@@ -0,0 +1,139 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC52F
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2200
7dev->interface_number = 1
8dev->usage = 0x0002
9dev->usage_page = 0xFF00
10dev->path = "\\?\hid#vid_046d&pid_c52f&mi_01&col03#8&28ca146b&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0002
15pp_data->UsagePage = 0xFF00
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 20
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 2
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 20
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 2
29pp_data->caps_info[2]->LastCap = 2
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x00D0
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFF00
37pp_data->cap[0]->ReportID = 0x11
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 19
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 152
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0014
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0xFF00
47pp_data->cap[0]->LinkUsage = 0x0002
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0002
70pp_data->cap[0]->NotRange.Reserved1 = 0x0002
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 255
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83pp_data->cap[1]->UsagePage = 0xFF00
84pp_data->cap[1]->ReportID = 0x11
85pp_data->cap[1]->BitPosition = 0
86pp_data->cap[1]->BitSize = 8
87pp_data->cap[1]->ReportCount = 19
88pp_data->cap[1]->BytePosition = 0x0001
89pp_data->cap[1]->BitCount = 152
90pp_data->cap[1]->BitField = 0x00
91pp_data->cap[1]->NextBytePosition = 0x0014
92pp_data->cap[1]->LinkCollection = 0x0000
93pp_data->cap[1]->LinkUsagePage = 0xFF00
94pp_data->cap[1]->LinkUsage = 0x0002
95pp_data->cap[1]->IsMultipleItemsForArray = 0
96pp_data->cap[1]->IsButtonCap = 1
97pp_data->cap[1]->IsPadding = 0
98pp_data->cap[1]->IsAbsolute = 1
99pp_data->cap[1]->IsRange = 0
100pp_data->cap[1]->IsAlias = 0
101pp_data->cap[1]->IsStringRange = 0
102pp_data->cap[1]->IsDesignatorRange = 0
103pp_data->cap[1]->Reserved1 = 0x000000
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
105pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
106pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
116pp_data->cap[1]->NotRange.Usage = 0x0002
117pp_data->cap[1]->NotRange.Reserved1 = 0x0002
118pp_data->cap[1]->NotRange.StringIndex = 0
119pp_data->cap[1]->NotRange.Reserved2 = 0
120pp_data->cap[1]->NotRange.DesignatorIndex = 0
121pp_data->cap[1]->NotRange.Reserved3 = 0
122pp_data->cap[1]->NotRange.DataIndex = 0
123pp_data->cap[1]->NotRange.Reserved4 = 0
124pp_data->cap[1]->Button.LogicalMin = 0
125pp_data->cap[1]->Button.LogicalMax = 255
126pp_data->cap[1]->Units = 0
127pp_data->cap[1]->UnitsExp = 0
128
129# Feature hid_pp_cap struct:
130# Link Collections:
131pp_data->LinkCollectionArray[0]->LinkUsage = 0x0002
132pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFF00
133pp_data->LinkCollectionArray[0]->Parent = 0
134pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
135pp_data->LinkCollectionArray[0]->NextSibling = 0
136pp_data->LinkCollectionArray[0]->FirstChild = 0
137pp_data->LinkCollectionArray[0]->CollectionType = 1
138pp_data->LinkCollectionArray[0]->IsAlias = 0
139pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_expected.rpt_desc
new file mode 100644
index 0000000..b1654e7
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_expected.rpt_desc
@@ -0,0 +1,4 @@
10x06, 0x00, 0xFF, 0x09, 0x02, 0xA1, 0x01, 0x85, 0x11, 0x09,
20x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x13,
30x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
40x08, 0x95, 0x13, 0x91, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_real.rpt_desc
new file mode 100644
index 0000000..68043e1
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C52F_0002_FF00_real.rpt_desc
@@ -0,0 +1,13 @@
1Usage Page (Vendor-Defined 1) 06 00 FF
2Usage (Vendor-Defined 2) 09 02
3Collection (Application) A1 01
4 Report ID (17) 85 11
5 Report Size (8) 75 08
6 Report Count (19) 95 13
7 Logical Minimum (0) 15 00
8 Logical Maximum (255) 26 FF 00
9 Usage (Vendor-Defined 2) 09 02
10 Input (Data,Ary,Abs) 81 00
11 Usage (Vendor-Defined 2) 09 02
12 Output (Data,Ary,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 00
13End Collection C0
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C.pp_data
new file mode 100644
index 0000000..5e44a31
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C.pp_data
@@ -0,0 +1,93 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC534
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2901
7dev->interface_number = 1
8dev->usage = 0x0001
9dev->usage_page = 0x000C
10dev->path = "\\?\hid#vid_046d&pid_c534&mi_01&col02#7&1ebb799e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0x000C
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 5
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 1
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 1
29pp_data->caps_info[2]->LastCap = 1
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0068
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x000C
37pp_data->cap[0]->ReportID = 0x03
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 16
40pp_data->cap[0]->ReportCount = 2
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 32
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0005
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x000C
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x0001
70pp_data->cap[0]->Range.UsageMax = 0x028C
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 651
77pp_data->cap[0]->Button.LogicalMin = 1
78pp_data->cap[0]->Button.LogicalMax = 652
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83# Feature hid_pp_cap struct:
84# Link Collections:
85pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
86pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x000C
87pp_data->LinkCollectionArray[0]->Parent = 0
88pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
89pp_data->LinkCollectionArray[0]->NextSibling = 0
90pp_data->LinkCollectionArray[0]->FirstChild = 0
91pp_data->LinkCollectionArray[0]->CollectionType = 1
92pp_data->LinkCollectionArray[0]->IsAlias = 0
93pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_expected.rpt_desc
new file mode 100644
index 0000000..85953ae
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_expected.rpt_desc
@@ -0,0 +1,3 @@
10x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x03, 0x19, 0x01,
20x2A, 0x8C, 0x02, 0x15, 0x01, 0x26, 0x8C, 0x02, 0x75, 0x10,
30x95, 0x02, 0x81, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_real.rpt_desc
new file mode 100644
index 0000000..e08f1f3
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_000C_real.rpt_desc
@@ -0,0 +1,18 @@
1macOS USB prober output for Logitech USB Receiver
2 05 0C 09 01 A1 01
3 85 03 75 10 95 02 15 01 26 8C 02 19 01 2A 8C 02 81 00
4 C0
5
6 Parser output:
70x05, 0x0C, // Usage Page (Consumer)
80x09, 0x01, // Usage (Consumer Control)
90xA1, 0x01, // Collection (Application)
100x85, 0x03, // Report ID (3)
110x75, 0x10, // Report Size (16)
120x95, 0x02, // Report Count (2)
130x15, 0x01, // Logical Minimum (1)
140x26, 0x8C, 0x02, // Logical Maximum (652)
150x19, 0x01, // Usage Minimum (Consumer Control)
160x2A, 0x8C, 0x02, // Usage Maximum (AC Send)
170x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
180xC0, // End Collection \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00.pp_data
new file mode 100644
index 0000000..6d42a15
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00.pp_data
@@ -0,0 +1,139 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC534
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2901
7dev->interface_number = 1
8dev->usage = 0x0001
9dev->usage_page = 0xFF00
10dev->path = "\\?\hid#vid_046d&pid_c534&mi_01&col04#7&1ebb799e&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0xFF00
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 7
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 2
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 7
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 2
29pp_data->caps_info[2]->LastCap = 2
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x00D0
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFF00
37pp_data->cap[0]->ReportID = 0x10
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 6
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 48
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0007
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0xFF00
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0001
70pp_data->cap[0]->NotRange.Reserved1 = 0x0001
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 255
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83pp_data->cap[1]->UsagePage = 0xFF00
84pp_data->cap[1]->ReportID = 0x10
85pp_data->cap[1]->BitPosition = 0
86pp_data->cap[1]->BitSize = 8
87pp_data->cap[1]->ReportCount = 6
88pp_data->cap[1]->BytePosition = 0x0001
89pp_data->cap[1]->BitCount = 48
90pp_data->cap[1]->BitField = 0x00
91pp_data->cap[1]->NextBytePosition = 0x0007
92pp_data->cap[1]->LinkCollection = 0x0000
93pp_data->cap[1]->LinkUsagePage = 0xFF00
94pp_data->cap[1]->LinkUsage = 0x0001
95pp_data->cap[1]->IsMultipleItemsForArray = 0
96pp_data->cap[1]->IsButtonCap = 1
97pp_data->cap[1]->IsPadding = 0
98pp_data->cap[1]->IsAbsolute = 1
99pp_data->cap[1]->IsRange = 0
100pp_data->cap[1]->IsAlias = 0
101pp_data->cap[1]->IsStringRange = 0
102pp_data->cap[1]->IsDesignatorRange = 0
103pp_data->cap[1]->Reserved1 = 0x000000
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
105pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
106pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
116pp_data->cap[1]->NotRange.Usage = 0x0001
117pp_data->cap[1]->NotRange.Reserved1 = 0x0001
118pp_data->cap[1]->NotRange.StringIndex = 0
119pp_data->cap[1]->NotRange.Reserved2 = 0
120pp_data->cap[1]->NotRange.DesignatorIndex = 0
121pp_data->cap[1]->NotRange.Reserved3 = 0
122pp_data->cap[1]->NotRange.DataIndex = 0
123pp_data->cap[1]->NotRange.Reserved4 = 0
124pp_data->cap[1]->Button.LogicalMin = 0
125pp_data->cap[1]->Button.LogicalMax = 255
126pp_data->cap[1]->Units = 0
127pp_data->cap[1]->UnitsExp = 0
128
129# Feature hid_pp_cap struct:
130# Link Collections:
131pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
132pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFF00
133pp_data->LinkCollectionArray[0]->Parent = 0
134pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
135pp_data->LinkCollectionArray[0]->NextSibling = 0
136pp_data->LinkCollectionArray[0]->FirstChild = 0
137pp_data->LinkCollectionArray[0]->CollectionType = 1
138pp_data->LinkCollectionArray[0]->IsAlias = 0
139pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_expected.rpt_desc
new file mode 100644
index 0000000..812bd2a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_expected.rpt_desc
@@ -0,0 +1,4 @@
10x06, 0x00, 0xFF, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x10, 0x09,
20x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x06,
30x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
40x08, 0x95, 0x06, 0x91, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_real.rpt_desc
new file mode 100644
index 0000000..953193c
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0001_FF00_real.rpt_desc
@@ -0,0 +1,20 @@
1macOS USB prober output for Logitech USB Receiver
2
306 00 FF 09 01 A1 01 85 10 75 08 95 06
415 00 26 FF 00 09 01 81
500 09 01 91 00 C0
6
7Parser Output:
80x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00)
90x09, 0x01, // Usage (0x01)
100xA1, 0x01, // Collection (Application)
110x85, 0x10, // Report ID (16)
120x75, 0x08, // Report Size (8)
130x95, 0x06, // Report Count (6)
140x15, 0x00, // Logical Minimum (0)
150x26, 0xFF, 0x00, // Logical Maximum (255)
160x09, 0x01, // Usage (0x01)
170x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
180x09, 0x01, // Usage (0x01)
190x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
200xC0, // End Collection
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001.pp_data
new file mode 100644
index 0000000..f50d8a2
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001.pp_data
@@ -0,0 +1,302 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC534
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2901
7dev->interface_number = 1
8dev->usage = 0x0002
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#vid_046d&pid_c534&mi_01&col01#7&1ebb799e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0002
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 5
20pp_data->caps_info[0]->NumberOfCaps = 5
21pp_data->caps_info[0]->ReportByteLength = 8
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 5
24pp_data->caps_info[1]->LastCap = 5
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 5
29pp_data->caps_info[2]->LastCap = 5
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0208
34pp_data->NumberLinkCollectionNodes = 2
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0009
37pp_data->cap[0]->ReportID = 0x02
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 16
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 16
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0003
45pp_data->cap[0]->LinkCollection = 0x0001
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x0001
70pp_data->cap[0]->Range.UsageMax = 0x0010
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 15
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x0001
83pp_data->cap[1]->ReportID = 0x02
84pp_data->cap[1]->BitPosition = 4
85pp_data->cap[1]->BitSize = 12
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0004
88pp_data->cap[1]->BitCount = 12
89pp_data->cap[1]->BitField = 0x06
90pp_data->cap[1]->NextBytePosition = 0x0006
91pp_data->cap[1]->LinkCollection = 0x0001
92pp_data->cap[1]->LinkUsagePage = 0x0001
93pp_data->cap[1]->LinkUsage = 0x0001
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 0
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 0
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x0031
116pp_data->cap[1]->NotRange.Reserved1 = 0x0031
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 16
122pp_data->cap[1]->NotRange.Reserved4 = 16
123pp_data->cap[1]->NotButton.HasNull = 0
124pp_data->cap[1]->NotButton.Reserved4 = 0x000000
125pp_data->cap[1]->NotButton.LogicalMin = -2047
126pp_data->cap[1]->NotButton.LogicalMax = 2047
127pp_data->cap[1]->NotButton.PhysicalMin = 0
128pp_data->cap[1]->NotButton.PhysicalMax = 0
129pp_data->cap[1]->Units = 0
130pp_data->cap[1]->UnitsExp = 0
131
132pp_data->cap[2]->UsagePage = 0x0001
133pp_data->cap[2]->ReportID = 0x02
134pp_data->cap[2]->BitPosition = 0
135pp_data->cap[2]->BitSize = 12
136pp_data->cap[2]->ReportCount = 1
137pp_data->cap[2]->BytePosition = 0x0003
138pp_data->cap[2]->BitCount = 12
139pp_data->cap[2]->BitField = 0x06
140pp_data->cap[2]->NextBytePosition = 0x0005
141pp_data->cap[2]->LinkCollection = 0x0001
142pp_data->cap[2]->LinkUsagePage = 0x0001
143pp_data->cap[2]->LinkUsage = 0x0001
144pp_data->cap[2]->IsMultipleItemsForArray = 0
145pp_data->cap[2]->IsButtonCap = 0
146pp_data->cap[2]->IsPadding = 0
147pp_data->cap[2]->IsAbsolute = 0
148pp_data->cap[2]->IsRange = 0
149pp_data->cap[2]->IsAlias = 0
150pp_data->cap[2]->IsStringRange = 0
151pp_data->cap[2]->IsDesignatorRange = 0
152pp_data->cap[2]->Reserved1 = 0x000000
153pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
154pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
155pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
156pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
157pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
158pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
159pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
160pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
161pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
162pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
163pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
164pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
165pp_data->cap[2]->NotRange.Usage = 0x0030
166pp_data->cap[2]->NotRange.Reserved1 = 0x0030
167pp_data->cap[2]->NotRange.StringIndex = 0
168pp_data->cap[2]->NotRange.Reserved2 = 0
169pp_data->cap[2]->NotRange.DesignatorIndex = 0
170pp_data->cap[2]->NotRange.Reserved3 = 0
171pp_data->cap[2]->NotRange.DataIndex = 17
172pp_data->cap[2]->NotRange.Reserved4 = 17
173pp_data->cap[2]->NotButton.HasNull = 0
174pp_data->cap[2]->NotButton.Reserved4 = 0x000000
175pp_data->cap[2]->NotButton.LogicalMin = -2047
176pp_data->cap[2]->NotButton.LogicalMax = 2047
177pp_data->cap[2]->NotButton.PhysicalMin = 0
178pp_data->cap[2]->NotButton.PhysicalMax = 0
179pp_data->cap[2]->Units = 0
180pp_data->cap[2]->UnitsExp = 0
181
182pp_data->cap[3]->UsagePage = 0x0001
183pp_data->cap[3]->ReportID = 0x02
184pp_data->cap[3]->BitPosition = 0
185pp_data->cap[3]->BitSize = 8
186pp_data->cap[3]->ReportCount = 1
187pp_data->cap[3]->BytePosition = 0x0006
188pp_data->cap[3]->BitCount = 8
189pp_data->cap[3]->BitField = 0x06
190pp_data->cap[3]->NextBytePosition = 0x0007
191pp_data->cap[3]->LinkCollection = 0x0001
192pp_data->cap[3]->LinkUsagePage = 0x0001
193pp_data->cap[3]->LinkUsage = 0x0001
194pp_data->cap[3]->IsMultipleItemsForArray = 0
195pp_data->cap[3]->IsButtonCap = 0
196pp_data->cap[3]->IsPadding = 0
197pp_data->cap[3]->IsAbsolute = 0
198pp_data->cap[3]->IsRange = 0
199pp_data->cap[3]->IsAlias = 0
200pp_data->cap[3]->IsStringRange = 0
201pp_data->cap[3]->IsDesignatorRange = 0
202pp_data->cap[3]->Reserved1 = 0x000000
203pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
204pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
205pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
206pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
207pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
208pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
209pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
210pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
211pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
212pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
213pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
214pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
215pp_data->cap[3]->NotRange.Usage = 0x0038
216pp_data->cap[3]->NotRange.Reserved1 = 0x0038
217pp_data->cap[3]->NotRange.StringIndex = 0
218pp_data->cap[3]->NotRange.Reserved2 = 0
219pp_data->cap[3]->NotRange.DesignatorIndex = 0
220pp_data->cap[3]->NotRange.Reserved3 = 0
221pp_data->cap[3]->NotRange.DataIndex = 18
222pp_data->cap[3]->NotRange.Reserved4 = 18
223pp_data->cap[3]->NotButton.HasNull = 0
224pp_data->cap[3]->NotButton.Reserved4 = 0x000000
225pp_data->cap[3]->NotButton.LogicalMin = -127
226pp_data->cap[3]->NotButton.LogicalMax = 127
227pp_data->cap[3]->NotButton.PhysicalMin = 0
228pp_data->cap[3]->NotButton.PhysicalMax = 0
229pp_data->cap[3]->Units = 0
230pp_data->cap[3]->UnitsExp = 0
231
232pp_data->cap[4]->UsagePage = 0x000C
233pp_data->cap[4]->ReportID = 0x02
234pp_data->cap[4]->BitPosition = 0
235pp_data->cap[4]->BitSize = 8
236pp_data->cap[4]->ReportCount = 1
237pp_data->cap[4]->BytePosition = 0x0007
238pp_data->cap[4]->BitCount = 8
239pp_data->cap[4]->BitField = 0x06
240pp_data->cap[4]->NextBytePosition = 0x0008
241pp_data->cap[4]->LinkCollection = 0x0001
242pp_data->cap[4]->LinkUsagePage = 0x0001
243pp_data->cap[4]->LinkUsage = 0x0001
244pp_data->cap[4]->IsMultipleItemsForArray = 0
245pp_data->cap[4]->IsButtonCap = 0
246pp_data->cap[4]->IsPadding = 0
247pp_data->cap[4]->IsAbsolute = 0
248pp_data->cap[4]->IsRange = 0
249pp_data->cap[4]->IsAlias = 0
250pp_data->cap[4]->IsStringRange = 0
251pp_data->cap[4]->IsDesignatorRange = 0
252pp_data->cap[4]->Reserved1 = 0x000000
253pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
254pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
255pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
256pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
257pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
258pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
259pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
260pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
261pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
262pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
263pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
264pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
265pp_data->cap[4]->NotRange.Usage = 0x0238
266pp_data->cap[4]->NotRange.Reserved1 = 0x0238
267pp_data->cap[4]->NotRange.StringIndex = 0
268pp_data->cap[4]->NotRange.Reserved2 = 0
269pp_data->cap[4]->NotRange.DesignatorIndex = 0
270pp_data->cap[4]->NotRange.Reserved3 = 0
271pp_data->cap[4]->NotRange.DataIndex = 19
272pp_data->cap[4]->NotRange.Reserved4 = 19
273pp_data->cap[4]->NotButton.HasNull = 0
274pp_data->cap[4]->NotButton.Reserved4 = 0x000000
275pp_data->cap[4]->NotButton.LogicalMin = -127
276pp_data->cap[4]->NotButton.LogicalMax = 127
277pp_data->cap[4]->NotButton.PhysicalMin = 0
278pp_data->cap[4]->NotButton.PhysicalMax = 0
279pp_data->cap[4]->Units = 0
280pp_data->cap[4]->UnitsExp = 0
281
282# Output hid_pp_cap struct:
283# Feature hid_pp_cap struct:
284# Link Collections:
285pp_data->LinkCollectionArray[0]->LinkUsage = 0x0002
286pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
287pp_data->LinkCollectionArray[0]->Parent = 0
288pp_data->LinkCollectionArray[0]->NumberOfChildren = 1
289pp_data->LinkCollectionArray[0]->NextSibling = 0
290pp_data->LinkCollectionArray[0]->FirstChild = 1
291pp_data->LinkCollectionArray[0]->CollectionType = 1
292pp_data->LinkCollectionArray[0]->IsAlias = 0
293pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
294pp_data->LinkCollectionArray[1]->LinkUsage = 0x0001
295pp_data->LinkCollectionArray[1]->LinkUsagePage = 0x0001
296pp_data->LinkCollectionArray[1]->Parent = 0
297pp_data->LinkCollectionArray[1]->NumberOfChildren = 0
298pp_data->LinkCollectionArray[1]->NextSibling = 0
299pp_data->LinkCollectionArray[1]->FirstChild = 0
300pp_data->LinkCollectionArray[1]->CollectionType = 0
301pp_data->LinkCollectionArray[1]->IsAlias = 0
302pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_expected.rpt_desc
new file mode 100644
index 0000000..48701c6
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_expected.rpt_desc
@@ -0,0 +1,8 @@
10x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01, 0xA1, 0x00,
20x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
30x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
40x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xF8, 0x26, 0xFF, 0x07,
50x75, 0x0C, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
60x25, 0x7F, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0C,
70x0A, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7F, 0x75, 0x08, 0x95,
80x01, 0x81, 0x06, 0xC0, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_real.rpt_desc
new file mode 100644
index 0000000..1c5dea9
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_0001_real.rpt_desc
@@ -0,0 +1,44 @@
1
205 01 09 02 A1 01 85 02 09 01 A1 00 05 09 19 01
329 10 15 00 25 01 95 10 75 01 81 02 05 01 16 01
4F8 26 FF 07 75 0C 95 02 09 30 09 31 81 06 15 81
525 7F 75 08 95 01 09 38 81 06 05 0C 0A 38 02 95
601 81 06 C0 C0
7
8Parser Output:
90x05, 0x01, // Usage Page (Generic Desktop Ctrls)
100x09, 0x02, // Usage (Mouse)
110xA1, 0x01, // Collection (Application)
120x85, 0x02, // Report ID (2)
130x09, 0x01, // Usage (Pointer)
140xA1, 0x00, // Collection (Physical)
150x05, 0x09, // Usage Page (Button)
160x19, 0x01, // Usage Minimum (0x01)
170x29, 0x10, // Usage Maximum (0x10)
180x15, 0x00, // Logical Minimum (0)
190x25, 0x01, // Logical Maximum (1)
200x95, 0x10, // Report Count (16)
210x75, 0x01, // Report Size (1)
220x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
230x05, 0x01, // Usage Page (Generic Desktop Ctrls)
240x16, 0x01, 0xF8, // Logical Minimum (-2047)
250x26, 0xFF, 0x07, // Logical Maximum (2047)
260x75, 0x0C, // Report Size (12)
270x95, 0x02, // Report Count (2)
280x09, 0x30, // Usage (X)
290x09, 0x31, // Usage (Y)
300x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
310x15, 0x81, // Logical Minimum (-127)
320x25, 0x7F, // Logical Maximum (127)
330x75, 0x08, // Report Size (8)
340x95, 0x01, // Report Count (1)
350x09, 0x38, // Usage (Wheel)
360x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
370x05, 0x0C, // Usage Page (Consumer)
380x0A, 0x38, 0x02, // Usage (AC Pan)
390x95, 0x01, // Report Count (1)
400x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
410xC0, // End Collection
420xC0, // End Collection
43
44// 69 bytes
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00.pp_data
new file mode 100644
index 0000000..b5fae3a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00.pp_data
@@ -0,0 +1,139 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC534
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2901
7dev->interface_number = 1
8dev->usage = 0x0002
9dev->usage_page = 0xFF00
10dev->path = "\\?\hid#vid_046d&pid_c534&mi_01&col05#7&1ebb799e&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0002
15pp_data->UsagePage = 0xFF00
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 1
20pp_data->caps_info[0]->NumberOfCaps = 1
21pp_data->caps_info[0]->ReportByteLength = 20
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 1
24pp_data->caps_info[1]->LastCap = 2
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 20
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 2
29pp_data->caps_info[2]->LastCap = 2
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x00D0
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFF00
37pp_data->cap[0]->ReportID = 0x11
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 19
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 152
43pp_data->cap[0]->BitField = 0x00
44pp_data->cap[0]->NextBytePosition = 0x0014
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0xFF00
47pp_data->cap[0]->LinkUsage = 0x0002
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0002
70pp_data->cap[0]->NotRange.Reserved1 = 0x0002
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 255
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82# Output hid_pp_cap struct:
83pp_data->cap[1]->UsagePage = 0xFF00
84pp_data->cap[1]->ReportID = 0x11
85pp_data->cap[1]->BitPosition = 0
86pp_data->cap[1]->BitSize = 8
87pp_data->cap[1]->ReportCount = 19
88pp_data->cap[1]->BytePosition = 0x0001
89pp_data->cap[1]->BitCount = 152
90pp_data->cap[1]->BitField = 0x00
91pp_data->cap[1]->NextBytePosition = 0x0014
92pp_data->cap[1]->LinkCollection = 0x0000
93pp_data->cap[1]->LinkUsagePage = 0xFF00
94pp_data->cap[1]->LinkUsage = 0x0002
95pp_data->cap[1]->IsMultipleItemsForArray = 0
96pp_data->cap[1]->IsButtonCap = 1
97pp_data->cap[1]->IsPadding = 0
98pp_data->cap[1]->IsAbsolute = 1
99pp_data->cap[1]->IsRange = 0
100pp_data->cap[1]->IsAlias = 0
101pp_data->cap[1]->IsStringRange = 0
102pp_data->cap[1]->IsDesignatorRange = 0
103pp_data->cap[1]->Reserved1 = 0x000000
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
105pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
106pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
116pp_data->cap[1]->NotRange.Usage = 0x0002
117pp_data->cap[1]->NotRange.Reserved1 = 0x0002
118pp_data->cap[1]->NotRange.StringIndex = 0
119pp_data->cap[1]->NotRange.Reserved2 = 0
120pp_data->cap[1]->NotRange.DesignatorIndex = 0
121pp_data->cap[1]->NotRange.Reserved3 = 0
122pp_data->cap[1]->NotRange.DataIndex = 0
123pp_data->cap[1]->NotRange.Reserved4 = 0
124pp_data->cap[1]->Button.LogicalMin = 0
125pp_data->cap[1]->Button.LogicalMax = 255
126pp_data->cap[1]->Units = 0
127pp_data->cap[1]->UnitsExp = 0
128
129# Feature hid_pp_cap struct:
130# Link Collections:
131pp_data->LinkCollectionArray[0]->LinkUsage = 0x0002
132pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFF00
133pp_data->LinkCollectionArray[0]->Parent = 0
134pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
135pp_data->LinkCollectionArray[0]->NextSibling = 0
136pp_data->LinkCollectionArray[0]->FirstChild = 0
137pp_data->LinkCollectionArray[0]->CollectionType = 1
138pp_data->LinkCollectionArray[0]->IsAlias = 0
139pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_expected.rpt_desc
new file mode 100644
index 0000000..b1654e7
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_expected.rpt_desc
@@ -0,0 +1,4 @@
10x06, 0x00, 0xFF, 0x09, 0x02, 0xA1, 0x01, 0x85, 0x11, 0x09,
20x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75, 0x08, 0x95, 0x13,
30x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
40x08, 0x95, 0x13, 0x91, 0x00, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_real.rpt_desc
new file mode 100644
index 0000000..42a0ad8
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0002_FF00_real.rpt_desc
@@ -0,0 +1,22 @@
1macOS USB prober output for Logitech USB Receiver
2
306 00 FF 09 02 A1 01 85 11
475 08 95 13 15 00 26 FF
500 09 02 81 00 09 02 91 00 C0
6
7Parser output:
80x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00)
90x09, 0x02, // Usage (0x02)
100xA1, 0x01, // Collection (Application)
110x85, 0x11, // Report ID (17)
120x75, 0x08, // Report Size (8)
130x95, 0x13, // Report Count (19)
140x15, 0x00, // Logical Minimum (0)
150x26, 0xFF, 0x00, // Logical Maximum (255)
160x09, 0x02, // Usage (0x02)
170x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
180x09, 0x02, // Usage (0x02)
190x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
200xC0, // End Collection
21
22// 27 bytes
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001.pp_data
new file mode 100644
index 0000000..2b42d5f
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001.pp_data
@@ -0,0 +1,185 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC534
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2901
7dev->interface_number = 0
8dev->usage = 0x0006
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#vid_046d&pid_c534&mi_00#7&51bc424&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0006
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 2
20pp_data->caps_info[0]->NumberOfCaps = 2
21pp_data->caps_info[0]->ReportByteLength = 9
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 2
24pp_data->caps_info[1]->LastCap = 3
25pp_data->caps_info[1]->NumberOfCaps = 1
26pp_data->caps_info[1]->ReportByteLength = 2
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 3
29pp_data->caps_info[2]->LastCap = 3
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0138
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0007
37pp_data->cap[0]->ReportID = 0x00
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 8
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 8
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0006
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 1
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->Range.UsageMin = 0x00E0
70pp_data->cap[0]->Range.UsageMax = 0x00E7
71pp_data->cap[0]->Range.StringMin = 0
72pp_data->cap[0]->Range.StringMax = 0
73pp_data->cap[0]->Range.DesignatorMin = 0
74pp_data->cap[0]->Range.DesignatorMax = 0
75pp_data->cap[0]->Range.DataIndexMin = 0
76pp_data->cap[0]->Range.DataIndexMax = 7
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x0007
83pp_data->cap[1]->ReportID = 0x00
84pp_data->cap[1]->BitPosition = 0
85pp_data->cap[1]->BitSize = 8
86pp_data->cap[1]->ReportCount = 6
87pp_data->cap[1]->BytePosition = 0x0003
88pp_data->cap[1]->BitCount = 48
89pp_data->cap[1]->BitField = 0x00
90pp_data->cap[1]->NextBytePosition = 0x0009
91pp_data->cap[1]->LinkCollection = 0x0000
92pp_data->cap[1]->LinkUsagePage = 0x0001
93pp_data->cap[1]->LinkUsage = 0x0006
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 1
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 1
98pp_data->cap[1]->IsRange = 1
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->Range.UsageMin = 0x0000
116pp_data->cap[1]->Range.UsageMax = 0x00A4
117pp_data->cap[1]->Range.StringMin = 0
118pp_data->cap[1]->Range.StringMax = 0
119pp_data->cap[1]->Range.DesignatorMin = 0
120pp_data->cap[1]->Range.DesignatorMax = 0
121pp_data->cap[1]->Range.DataIndexMin = 8
122pp_data->cap[1]->Range.DataIndexMax = 172
123pp_data->cap[1]->Button.LogicalMin = 0
124pp_data->cap[1]->Button.LogicalMax = 164
125pp_data->cap[1]->Units = 0
126pp_data->cap[1]->UnitsExp = 0
127
128# Output hid_pp_cap struct:
129pp_data->cap[2]->UsagePage = 0x0008
130pp_data->cap[2]->ReportID = 0x00
131pp_data->cap[2]->BitPosition = 0
132pp_data->cap[2]->BitSize = 1
133pp_data->cap[2]->ReportCount = 5
134pp_data->cap[2]->BytePosition = 0x0001
135pp_data->cap[2]->BitCount = 5
136pp_data->cap[2]->BitField = 0x02
137pp_data->cap[2]->NextBytePosition = 0x0002
138pp_data->cap[2]->LinkCollection = 0x0000
139pp_data->cap[2]->LinkUsagePage = 0x0001
140pp_data->cap[2]->LinkUsage = 0x0006
141pp_data->cap[2]->IsMultipleItemsForArray = 0
142pp_data->cap[2]->IsButtonCap = 1
143pp_data->cap[2]->IsPadding = 0
144pp_data->cap[2]->IsAbsolute = 1
145pp_data->cap[2]->IsRange = 1
146pp_data->cap[2]->IsAlias = 0
147pp_data->cap[2]->IsStringRange = 0
148pp_data->cap[2]->IsDesignatorRange = 0
149pp_data->cap[2]->Reserved1 = 0x000000
150pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
151pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
152pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
153pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
154pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
155pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
156pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
157pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
158pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
159pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
160pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
161pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
162pp_data->cap[2]->Range.UsageMin = 0x0001
163pp_data->cap[2]->Range.UsageMax = 0x0005
164pp_data->cap[2]->Range.StringMin = 0
165pp_data->cap[2]->Range.StringMax = 0
166pp_data->cap[2]->Range.DesignatorMin = 0
167pp_data->cap[2]->Range.DesignatorMax = 0
168pp_data->cap[2]->Range.DataIndexMin = 0
169pp_data->cap[2]->Range.DataIndexMax = 4
170pp_data->cap[2]->Button.LogicalMin = 0
171pp_data->cap[2]->Button.LogicalMax = 0
172pp_data->cap[2]->Units = 0
173pp_data->cap[2]->UnitsExp = 0
174
175# Feature hid_pp_cap struct:
176# Link Collections:
177pp_data->LinkCollectionArray[0]->LinkUsage = 0x0006
178pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
179pp_data->LinkCollectionArray[0]->Parent = 0
180pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
181pp_data->LinkCollectionArray[0]->NextSibling = 0
182pp_data->LinkCollectionArray[0]->FirstChild = 0
183pp_data->LinkCollectionArray[0]->CollectionType = 1
184pp_data->LinkCollectionArray[0]->IsAlias = 0
185pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_expected.rpt_desc
new file mode 100644
index 0000000..d41d471
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_expected.rpt_desc
@@ -0,0 +1,7 @@
10x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x05, 0x07, 0x19, 0xE0,
20x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
30x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
40x29, 0xA4, 0x15, 0x00, 0x26, 0xA4, 0x00, 0x75, 0x08, 0x95,
50x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
60x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
70x03, 0x95, 0x01, 0x91, 0x03, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_real.rpt_desc
new file mode 100644
index 0000000..d65aa57
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0006_0001_real.rpt_desc
@@ -0,0 +1,42 @@
1macOS USB prober output for Logitech USB Receiver
2
3
4Type: 0x22 (Report Descriptor)
5Length (and contents): 59
6 Raw Descriptor (hex) 0000: 05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
7 Raw Descriptor (hex) 0010: 75 01 95 08 81 02 81 03 95 05 05 08 19 01 29 05
8 Raw Descriptor (hex) 0020: 91 02 95 01 75 03 91 01 95 06 75 08 15 00 26 A4
9 Raw Descriptor (hex) 0030: 00 05 07 19 00 2A A4 00 81 00 C0
10
11Parser output:
120x05, 0x01, // Usage Page (Generic Desktop Ctrls)
130x09, 0x06, // Usage (Keyboard)
140xA1, 0x01, // Collection (Application)
150x05, 0x07, // Usage Page (Kbrd/Keypad)
160x19, 0xE0, // Usage Minimum (0xE0)
170x29, 0xE7, // Usage Maximum (0xE7)
180x15, 0x00, // Logical Minimum (0)
190x25, 0x01, // Logical Maximum (1)
200x75, 0x01, // Report Size (1)
210x95, 0x08, // Report Count (8)
220x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
230x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
240x95, 0x05, // Report Count (5)
250x05, 0x08, // Usage Page (LEDs)
260x19, 0x01, // Usage Minimum (Num Lock)
270x29, 0x05, // Usage Maximum (Kana)
280x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
290x95, 0x01, // Report Count (1)
300x75, 0x03, // Report Size (3)
310x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
320x95, 0x06, // Report Count (6)
330x75, 0x08, // Report Size (8)
340x15, 0x00, // Logical Minimum (0)
350x26, 0xA4, 0x00, // Logical Maximum (164)
360x05, 0x07, // Usage Page (Kbrd/Keypad)
370x19, 0x00, // Usage Minimum (0x00)
380x2A, 0xA4, 0x00, // Usage Maximum (0xA4)
390x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
400xC0, // End Collection
41
42// 59 bytes
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001.pp_data
new file mode 100644
index 0000000..a829f70
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001.pp_data
@@ -0,0 +1,185 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x046D
3dev->product_id = 0xC534
4dev->manufacturer_string = "Logitech"
5dev->product_string = "USB Receiver"
6dev->release_number = 0x2901
7dev->interface_number = 1
8dev->usage = 0x0080
9dev->usage_page = 0x0001
10dev->path = "\\?\hid#vid_046d&pid_c534&mi_01&col03#7&1ebb799e&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0080
15pp_data->UsagePage = 0x0001
16pp_data->Reserved = 0x00038000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 3
20pp_data->caps_info[0]->NumberOfCaps = 3
21pp_data->caps_info[0]->ReportByteLength = 2
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 3
24pp_data->caps_info[1]->LastCap = 3
25pp_data->caps_info[1]->NumberOfCaps = 0
26pp_data->caps_info[1]->ReportByteLength = 0
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 3
29pp_data->caps_info[2]->LastCap = 3
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0138
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x0001
37pp_data->cap[0]->ReportID = 0x04
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 2
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 2
43pp_data->cap[0]->BitField = 0x60
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x0001
47pp_data->cap[0]->LinkUsage = 0x0080
48pp_data->cap[0]->IsMultipleItemsForArray = 1
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0083
70pp_data->cap[0]->NotRange.Reserved1 = 0x0083
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 2
76pp_data->cap[0]->NotRange.Reserved4 = 2
77pp_data->cap[0]->Button.LogicalMin = 1
78pp_data->cap[0]->Button.LogicalMax = 3
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x0001
83pp_data->cap[1]->ReportID = 0x04
84pp_data->cap[1]->BitPosition = 0
85pp_data->cap[1]->BitSize = 2
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0001
88pp_data->cap[1]->BitCount = 2
89pp_data->cap[1]->BitField = 0x60
90pp_data->cap[1]->NextBytePosition = 0x0002
91pp_data->cap[1]->LinkCollection = 0x0000
92pp_data->cap[1]->LinkUsagePage = 0x0001
93pp_data->cap[1]->LinkUsage = 0x0080
94pp_data->cap[1]->IsMultipleItemsForArray = 1
95pp_data->cap[1]->IsButtonCap = 1
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 1
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x0081
116pp_data->cap[1]->NotRange.Reserved1 = 0x0081
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 1
122pp_data->cap[1]->NotRange.Reserved4 = 1
123pp_data->cap[1]->Button.LogicalMin = 1
124pp_data->cap[1]->Button.LogicalMax = 3
125pp_data->cap[1]->Units = 0
126pp_data->cap[1]->UnitsExp = 0
127
128pp_data->cap[2]->UsagePage = 0x0001
129pp_data->cap[2]->ReportID = 0x04
130pp_data->cap[2]->BitPosition = 0
131pp_data->cap[2]->BitSize = 2
132pp_data->cap[2]->ReportCount = 1
133pp_data->cap[2]->BytePosition = 0x0001
134pp_data->cap[2]->BitCount = 2
135pp_data->cap[2]->BitField = 0x60
136pp_data->cap[2]->NextBytePosition = 0x0002
137pp_data->cap[2]->LinkCollection = 0x0000
138pp_data->cap[2]->LinkUsagePage = 0x0001
139pp_data->cap[2]->LinkUsage = 0x0080
140pp_data->cap[2]->IsMultipleItemsForArray = 0
141pp_data->cap[2]->IsButtonCap = 1
142pp_data->cap[2]->IsPadding = 0
143pp_data->cap[2]->IsAbsolute = 1
144pp_data->cap[2]->IsRange = 0
145pp_data->cap[2]->IsAlias = 0
146pp_data->cap[2]->IsStringRange = 0
147pp_data->cap[2]->IsDesignatorRange = 0
148pp_data->cap[2]->Reserved1 = 0x000000
149pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
150pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
151pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
152pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
153pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
154pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
155pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
156pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
157pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
158pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
159pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
160pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
161pp_data->cap[2]->NotRange.Usage = 0x0082
162pp_data->cap[2]->NotRange.Reserved1 = 0x0082
163pp_data->cap[2]->NotRange.StringIndex = 0
164pp_data->cap[2]->NotRange.Reserved2 = 0
165pp_data->cap[2]->NotRange.DesignatorIndex = 0
166pp_data->cap[2]->NotRange.Reserved3 = 0
167pp_data->cap[2]->NotRange.DataIndex = 0
168pp_data->cap[2]->NotRange.Reserved4 = 0
169pp_data->cap[2]->Button.LogicalMin = 1
170pp_data->cap[2]->Button.LogicalMax = 3
171pp_data->cap[2]->Units = 0
172pp_data->cap[2]->UnitsExp = 0
173
174# Output hid_pp_cap struct:
175# Feature hid_pp_cap struct:
176# Link Collections:
177pp_data->LinkCollectionArray[0]->LinkUsage = 0x0080
178pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x0001
179pp_data->LinkCollectionArray[0]->Parent = 0
180pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
181pp_data->LinkCollectionArray[0]->NextSibling = 0
182pp_data->LinkCollectionArray[0]->FirstChild = 0
183pp_data->LinkCollectionArray[0]->CollectionType = 1
184pp_data->LinkCollectionArray[0]->IsAlias = 0
185pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_expected.rpt_desc
new file mode 100644
index 0000000..e7a9677
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_expected.rpt_desc
@@ -0,0 +1,4 @@
10x05, 0x01, 0x09, 0x80, 0xA1, 0x01, 0x85, 0x04, 0x09, 0x82,
20x09, 0x81, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02,
30x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03,
40xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_real.rpt_desc
new file mode 100644
index 0000000..7ebe8c9
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/046D_C534_0080_0001_real.rpt_desc
@@ -0,0 +1,22 @@
1
205 01 09 80 A1 01 85 04 75 02 95 01 15 01 25 03
309 82 09 81 09 83 81 60 75 06 81 03 C0
4
5Parser output:
60x05, 0x01, // Usage Page (Generic Desktop Ctrls)
70x09, 0x80, // Usage (Sys Control)
80xA1, 0x01, // Collection (Application)
90x85, 0x04, // Report ID (4)
100x75, 0x02, // Report Size (2)
110x95, 0x01, // Report Count (1)
120x15, 0x01, // Logical Minimum (1)
130x25, 0x03, // Logical Maximum (3)
140x09, 0x82, // Usage (Sys Sleep)
150x09, 0x81, // Usage (Sys Power Down)
160x09, 0x83, // Usage (Sys Wake Up)
170x81, 0x60, // Input (Data,Array,Abs,No Wrap,Linear,No Preferred State,Null State)
180x75, 0x06, // Report Size (6)
190x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
200xC0, // End Collection
21
22// 29 bytes
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C.pp_data
new file mode 100644
index 0000000..87da2b2
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C.pp_data
@@ -0,0 +1,385 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x047F
3dev->product_id = 0xC056
4dev->manufacturer_string = "Plantronics"
5dev->product_string = "Plantronics Blackwire 3220 Series"
6dev->release_number = 0x0210
7dev->interface_number = 3
8dev->usage = 0x0001
9dev->usage_page = 0x000C
10dev->path = "\\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0001
15pp_data->UsagePage = 0x000C
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 5
20pp_data->caps_info[0]->NumberOfCaps = 5
21pp_data->caps_info[0]->ReportByteLength = 33
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 5
24pp_data->caps_info[1]->LastCap = 7
25pp_data->caps_info[1]->NumberOfCaps = 2
26pp_data->caps_info[1]->ReportByteLength = 37
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 7
29pp_data->caps_info[2]->LastCap = 7
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x02D8
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x000C
37pp_data->cap[0]->ReportID = 0x01
38pp_data->cap[0]->BitPosition = 1
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 1
43pp_data->cap[0]->BitField = 0x06
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x000C
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 0
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x00EA
70pp_data->cap[0]->NotRange.Reserved1 = 0x00EA
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x000C
83pp_data->cap[1]->ReportID = 0x01
84pp_data->cap[1]->BitPosition = 0
85pp_data->cap[1]->BitSize = 1
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0001
88pp_data->cap[1]->BitCount = 1
89pp_data->cap[1]->BitField = 0x06
90pp_data->cap[1]->NextBytePosition = 0x0002
91pp_data->cap[1]->LinkCollection = 0x0000
92pp_data->cap[1]->LinkUsagePage = 0x000C
93pp_data->cap[1]->LinkUsage = 0x0001
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 1
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 0
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x00E9
116pp_data->cap[1]->NotRange.Reserved1 = 0x00E9
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 1
122pp_data->cap[1]->NotRange.Reserved4 = 1
123pp_data->cap[1]->Button.LogicalMin = 0
124pp_data->cap[1]->Button.LogicalMax = 0
125pp_data->cap[1]->Units = 0
126pp_data->cap[1]->UnitsExp = 0
127
128pp_data->cap[2]->UsagePage = 0x000C
129pp_data->cap[2]->ReportID = 0x02
130pp_data->cap[2]->BitPosition = 0
131pp_data->cap[2]->BitSize = 1
132pp_data->cap[2]->ReportCount = 16
133pp_data->cap[2]->BytePosition = 0x0001
134pp_data->cap[2]->BitCount = 16
135pp_data->cap[2]->BitField = 0x02
136pp_data->cap[2]->NextBytePosition = 0x0003
137pp_data->cap[2]->LinkCollection = 0x0000
138pp_data->cap[2]->LinkUsagePage = 0x000C
139pp_data->cap[2]->LinkUsage = 0x0001
140pp_data->cap[2]->IsMultipleItemsForArray = 0
141pp_data->cap[2]->IsButtonCap = 1
142pp_data->cap[2]->IsPadding = 0
143pp_data->cap[2]->IsAbsolute = 1
144pp_data->cap[2]->IsRange = 0
145pp_data->cap[2]->IsAlias = 0
146pp_data->cap[2]->IsStringRange = 0
147pp_data->cap[2]->IsDesignatorRange = 0
148pp_data->cap[2]->Reserved1 = 0x000000
149pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
150pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
151pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
152pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
153pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
154pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
155pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
156pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
157pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
158pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
159pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
160pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
161pp_data->cap[2]->NotRange.Usage = 0x0000
162pp_data->cap[2]->NotRange.Reserved1 = 0x0000
163pp_data->cap[2]->NotRange.StringIndex = 0
164pp_data->cap[2]->NotRange.Reserved2 = 0
165pp_data->cap[2]->NotRange.DesignatorIndex = 0
166pp_data->cap[2]->NotRange.Reserved3 = 0
167pp_data->cap[2]->NotRange.DataIndex = 2
168pp_data->cap[2]->NotRange.Reserved4 = 2
169pp_data->cap[2]->Button.LogicalMin = 0
170pp_data->cap[2]->Button.LogicalMax = 0
171pp_data->cap[2]->Units = 0
172pp_data->cap[2]->UnitsExp = 0
173
174pp_data->cap[3]->UsagePage = 0x000C
175pp_data->cap[3]->ReportID = 0x05
176pp_data->cap[3]->BitPosition = 0
177pp_data->cap[3]->BitSize = 8
178pp_data->cap[3]->ReportCount = 32
179pp_data->cap[3]->BytePosition = 0x0001
180pp_data->cap[3]->BitCount = 256
181pp_data->cap[3]->BitField = 0x02
182pp_data->cap[3]->NextBytePosition = 0x0021
183pp_data->cap[3]->LinkCollection = 0x0000
184pp_data->cap[3]->LinkUsagePage = 0x000C
185pp_data->cap[3]->LinkUsage = 0x0001
186pp_data->cap[3]->IsMultipleItemsForArray = 0
187pp_data->cap[3]->IsButtonCap = 0
188pp_data->cap[3]->IsPadding = 0
189pp_data->cap[3]->IsAbsolute = 1
190pp_data->cap[3]->IsRange = 0
191pp_data->cap[3]->IsAlias = 0
192pp_data->cap[3]->IsStringRange = 0
193pp_data->cap[3]->IsDesignatorRange = 0
194pp_data->cap[3]->Reserved1 = 0x000000
195pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
196pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
197pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
198pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
199pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
200pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
201pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
202pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
203pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
204pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
205pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
206pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
207pp_data->cap[3]->NotRange.Usage = 0x0000
208pp_data->cap[3]->NotRange.Reserved1 = 0x0000
209pp_data->cap[3]->NotRange.StringIndex = 0
210pp_data->cap[3]->NotRange.Reserved2 = 0
211pp_data->cap[3]->NotRange.DesignatorIndex = 0
212pp_data->cap[3]->NotRange.Reserved3 = 0
213pp_data->cap[3]->NotRange.DataIndex = 3
214pp_data->cap[3]->NotRange.Reserved4 = 3
215pp_data->cap[3]->NotButton.HasNull = 0
216pp_data->cap[3]->NotButton.Reserved4 = 0x000000
217pp_data->cap[3]->NotButton.LogicalMin = 0
218pp_data->cap[3]->NotButton.LogicalMax = 1
219pp_data->cap[3]->NotButton.PhysicalMin = 0
220pp_data->cap[3]->NotButton.PhysicalMax = 0
221pp_data->cap[3]->Units = 0
222pp_data->cap[3]->UnitsExp = 0
223
224pp_data->cap[4]->UsagePage = 0x000C
225pp_data->cap[4]->ReportID = 0x07
226pp_data->cap[4]->BitPosition = 0
227pp_data->cap[4]->BitSize = 8
228pp_data->cap[4]->ReportCount = 32
229pp_data->cap[4]->BytePosition = 0x0001
230pp_data->cap[4]->BitCount = 256
231pp_data->cap[4]->BitField = 0x02
232pp_data->cap[4]->NextBytePosition = 0x0021
233pp_data->cap[4]->LinkCollection = 0x0000
234pp_data->cap[4]->LinkUsagePage = 0x000C
235pp_data->cap[4]->LinkUsage = 0x0001
236pp_data->cap[4]->IsMultipleItemsForArray = 0
237pp_data->cap[4]->IsButtonCap = 0
238pp_data->cap[4]->IsPadding = 0
239pp_data->cap[4]->IsAbsolute = 1
240pp_data->cap[4]->IsRange = 0
241pp_data->cap[4]->IsAlias = 0
242pp_data->cap[4]->IsStringRange = 0
243pp_data->cap[4]->IsDesignatorRange = 0
244pp_data->cap[4]->Reserved1 = 0x000000
245pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
246pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
247pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
248pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
249pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
250pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
251pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
252pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
253pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
254pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
255pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
256pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
257pp_data->cap[4]->NotRange.Usage = 0x0000
258pp_data->cap[4]->NotRange.Reserved1 = 0x0000
259pp_data->cap[4]->NotRange.StringIndex = 0
260pp_data->cap[4]->NotRange.Reserved2 = 0
261pp_data->cap[4]->NotRange.DesignatorIndex = 0
262pp_data->cap[4]->NotRange.Reserved3 = 0
263pp_data->cap[4]->NotRange.DataIndex = 4
264pp_data->cap[4]->NotRange.Reserved4 = 4
265pp_data->cap[4]->NotButton.HasNull = 0
266pp_data->cap[4]->NotButton.Reserved4 = 0x000000
267pp_data->cap[4]->NotButton.LogicalMin = 0
268pp_data->cap[4]->NotButton.LogicalMax = 1
269pp_data->cap[4]->NotButton.PhysicalMin = 0
270pp_data->cap[4]->NotButton.PhysicalMax = 0
271pp_data->cap[4]->Units = 0
272pp_data->cap[4]->UnitsExp = 0
273
274# Output hid_pp_cap struct:
275pp_data->cap[5]->UsagePage = 0x000C
276pp_data->cap[5]->ReportID = 0x04
277pp_data->cap[5]->BitPosition = 0
278pp_data->cap[5]->BitSize = 8
279pp_data->cap[5]->ReportCount = 36
280pp_data->cap[5]->BytePosition = 0x0001
281pp_data->cap[5]->BitCount = 288
282pp_data->cap[5]->BitField = 0x02
283pp_data->cap[5]->NextBytePosition = 0x0025
284pp_data->cap[5]->LinkCollection = 0x0000
285pp_data->cap[5]->LinkUsagePage = 0x000C
286pp_data->cap[5]->LinkUsage = 0x0001
287pp_data->cap[5]->IsMultipleItemsForArray = 0
288pp_data->cap[5]->IsButtonCap = 0
289pp_data->cap[5]->IsPadding = 0
290pp_data->cap[5]->IsAbsolute = 1
291pp_data->cap[5]->IsRange = 0
292pp_data->cap[5]->IsAlias = 0
293pp_data->cap[5]->IsStringRange = 0
294pp_data->cap[5]->IsDesignatorRange = 0
295pp_data->cap[5]->Reserved1 = 0x000000
296pp_data->cap[5]->pp_cap->UnknownTokens[0].Token = 0x00
297pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
298pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
299pp_data->cap[5]->pp_cap->UnknownTokens[1].Token = 0x00
300pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
301pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
302pp_data->cap[5]->pp_cap->UnknownTokens[2].Token = 0x00
303pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
304pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
305pp_data->cap[5]->pp_cap->UnknownTokens[3].Token = 0x00
306pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
307pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
308pp_data->cap[5]->NotRange.Usage = 0x0000
309pp_data->cap[5]->NotRange.Reserved1 = 0x0000
310pp_data->cap[5]->NotRange.StringIndex = 0
311pp_data->cap[5]->NotRange.Reserved2 = 0
312pp_data->cap[5]->NotRange.DesignatorIndex = 0
313pp_data->cap[5]->NotRange.Reserved3 = 0
314pp_data->cap[5]->NotRange.DataIndex = 0
315pp_data->cap[5]->NotRange.Reserved4 = 0
316pp_data->cap[5]->NotButton.HasNull = 0
317pp_data->cap[5]->NotButton.Reserved4 = 0x000000
318pp_data->cap[5]->NotButton.LogicalMin = 0
319pp_data->cap[5]->NotButton.LogicalMax = 1
320pp_data->cap[5]->NotButton.PhysicalMin = 0
321pp_data->cap[5]->NotButton.PhysicalMax = 0
322pp_data->cap[5]->Units = 0
323pp_data->cap[5]->UnitsExp = 0
324
325pp_data->cap[6]->UsagePage = 0x000C
326pp_data->cap[6]->ReportID = 0x06
327pp_data->cap[6]->BitPosition = 0
328pp_data->cap[6]->BitSize = 8
329pp_data->cap[6]->ReportCount = 36
330pp_data->cap[6]->BytePosition = 0x0001
331pp_data->cap[6]->BitCount = 288
332pp_data->cap[6]->BitField = 0x02
333pp_data->cap[6]->NextBytePosition = 0x0025
334pp_data->cap[6]->LinkCollection = 0x0000
335pp_data->cap[6]->LinkUsagePage = 0x000C
336pp_data->cap[6]->LinkUsage = 0x0001
337pp_data->cap[6]->IsMultipleItemsForArray = 0
338pp_data->cap[6]->IsButtonCap = 0
339pp_data->cap[6]->IsPadding = 0
340pp_data->cap[6]->IsAbsolute = 1
341pp_data->cap[6]->IsRange = 0
342pp_data->cap[6]->IsAlias = 0
343pp_data->cap[6]->IsStringRange = 0
344pp_data->cap[6]->IsDesignatorRange = 0
345pp_data->cap[6]->Reserved1 = 0x000000
346pp_data->cap[6]->pp_cap->UnknownTokens[0].Token = 0x00
347pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
348pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
349pp_data->cap[6]->pp_cap->UnknownTokens[1].Token = 0x00
350pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
351pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
352pp_data->cap[6]->pp_cap->UnknownTokens[2].Token = 0x00
353pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
354pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
355pp_data->cap[6]->pp_cap->UnknownTokens[3].Token = 0x00
356pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
357pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
358pp_data->cap[6]->NotRange.Usage = 0x0000
359pp_data->cap[6]->NotRange.Reserved1 = 0x0000
360pp_data->cap[6]->NotRange.StringIndex = 0
361pp_data->cap[6]->NotRange.Reserved2 = 0
362pp_data->cap[6]->NotRange.DesignatorIndex = 0
363pp_data->cap[6]->NotRange.Reserved3 = 0
364pp_data->cap[6]->NotRange.DataIndex = 1
365pp_data->cap[6]->NotRange.Reserved4 = 1
366pp_data->cap[6]->NotButton.HasNull = 0
367pp_data->cap[6]->NotButton.Reserved4 = 0x000000
368pp_data->cap[6]->NotButton.LogicalMin = 0
369pp_data->cap[6]->NotButton.LogicalMax = 1
370pp_data->cap[6]->NotButton.PhysicalMin = 0
371pp_data->cap[6]->NotButton.PhysicalMax = 0
372pp_data->cap[6]->Units = 0
373pp_data->cap[6]->UnitsExp = 0
374
375# Feature hid_pp_cap struct:
376# Link Collections:
377pp_data->LinkCollectionArray[0]->LinkUsage = 0x0001
378pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x000C
379pp_data->LinkCollectionArray[0]->Parent = 0
380pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
381pp_data->LinkCollectionArray[0]->NextSibling = 0
382pp_data->LinkCollectionArray[0]->FirstChild = 0
383pp_data->LinkCollectionArray[0]->CollectionType = 1
384pp_data->LinkCollectionArray[0]->IsAlias = 0
385pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_expected.rpt_desc
new file mode 100644
index 0000000..d7ca045
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_expected.rpt_desc
@@ -0,0 +1,10 @@
10x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x01, 0x09, 0xE9,
20x09, 0xEA, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
30x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02,
40x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10,
50x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
60x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00,
70x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
80x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
90x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00,
100x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_real.rpt_desc
new file mode 100644
index 0000000..ba0fc3a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0001_000C_real.rpt_desc
@@ -0,0 +1,47 @@
1macOS USB Prober about 0x047F/0xC056 "Plantronics Blackwire 3220 Series"
205 0C 09 01 A1 01 85 01 15 00 25 01 09 E9 09 EA
375 01 95 02 81 06 95 06 81 01 85 02 05 0C 09 00
495 10 81 02 85 04 09 00 75 08 95 24 91 02 85 05
509 00 95 20 81 02 85 06 09 00 95 24 91 02 85 07
609 00 95 20 81 02 C0
7
8# Parser output:
9
100x05, 0x0C, // Usage Page (Consumer)
110x09, 0x01, // Usage (Consumer Control)
120xA1, 0x01, // Collection (Application)
130x85, 0x01, // Report ID (1)
140x15, 0x00, // Logical Minimum (0)
150x25, 0x01, // Logical Maximum (1)
160x09, 0xE9, // Usage (Volume Increment)
170x09, 0xEA, // Usage (Volume Decrement)
180x75, 0x01, // Report Size (1)
190x95, 0x02, // Report Count (2)
200x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
210x95, 0x06, // Report Count (6)
220x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
230x85, 0x02, // Report ID (2)
240x05, 0x0C, // Usage Page (Consumer)
250x09, 0x00, // Usage (Unassigned)
260x95, 0x10, // Report Count (16)
270x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
280x85, 0x04, // Report ID (4)
290x09, 0x00, // Usage (Unassigned)
300x75, 0x08, // Report Size (8)
310x95, 0x24, // Report Count (36)
320x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
330x85, 0x05, // Report ID (5)
340x09, 0x00, // Usage (Unassigned)
350x95, 0x20, // Report Count (32)
360x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
370x85, 0x06, // Report ID (6)
380x09, 0x00, // Usage (Unassigned)
390x95, 0x24, // Report Count (36)
400x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
410x85, 0x07, // Report ID (7)
420x09, 0x00, // Usage (Unassigned)
430x95, 0x20, // Report Count (32)
440x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
450xC0, // End Collection
46
47// 71 bytes
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0.pp_data
new file mode 100644
index 0000000..6def736
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0.pp_data
@@ -0,0 +1,1255 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x047F
3dev->product_id = 0xC056
4dev->manufacturer_string = "Plantronics"
5dev->product_string = "Plantronics Blackwire 3220 Series"
6dev->release_number = 0x0210
7dev->interface_number = 3
8dev->usage = 0x0003
9dev->usage_page = 0xFFA0
10dev->path = "\\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0003
15pp_data->UsagePage = 0xFFA0
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 8
20pp_data->caps_info[0]->NumberOfCaps = 8
21pp_data->caps_info[0]->ReportByteLength = 33
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 8
24pp_data->caps_info[1]->LastCap = 16
25pp_data->caps_info[1]->NumberOfCaps = 8
26pp_data->caps_info[1]->ReportByteLength = 33
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 16
29pp_data->caps_info[2]->LastCap = 26
30pp_data->caps_info[2]->NumberOfCaps = 10
31pp_data->caps_info[2]->ReportByteLength = 3
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x0A90
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFFA0
37pp_data->cap[0]->ReportID = 0x03
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 8
40pp_data->cap[0]->ReportCount = 32
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 256
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0021
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0xFFA0
47pp_data->cap[0]->LinkUsage = 0x0003
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 0
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0030
70pp_data->cap[0]->NotRange.Reserved1 = 0x0030
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->NotButton.HasNull = 0
78pp_data->cap[0]->NotButton.Reserved4 = 0x000000
79pp_data->cap[0]->NotButton.LogicalMin = 0
80pp_data->cap[0]->NotButton.LogicalMax = 1
81pp_data->cap[0]->NotButton.PhysicalMin = 0
82pp_data->cap[0]->NotButton.PhysicalMax = 0
83pp_data->cap[0]->Units = 0
84pp_data->cap[0]->UnitsExp = 0
85
86pp_data->cap[1]->UsagePage = 0xFFA0
87pp_data->cap[1]->ReportID = 0x14
88pp_data->cap[1]->BitPosition = 4
89pp_data->cap[1]->BitSize = 1
90pp_data->cap[1]->ReportCount = 1
91pp_data->cap[1]->BytePosition = 0x0001
92pp_data->cap[1]->BitCount = 1
93pp_data->cap[1]->BitField = 0x06
94pp_data->cap[1]->NextBytePosition = 0x0002
95pp_data->cap[1]->LinkCollection = 0x0000
96pp_data->cap[1]->LinkUsagePage = 0xFFA0
97pp_data->cap[1]->LinkUsage = 0x0003
98pp_data->cap[1]->IsMultipleItemsForArray = 0
99pp_data->cap[1]->IsButtonCap = 1
100pp_data->cap[1]->IsPadding = 0
101pp_data->cap[1]->IsAbsolute = 0
102pp_data->cap[1]->IsRange = 0
103pp_data->cap[1]->IsAlias = 0
104pp_data->cap[1]->IsStringRange = 0
105pp_data->cap[1]->IsDesignatorRange = 0
106pp_data->cap[1]->Reserved1 = 0x000000
107pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
116pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
117pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
118pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
119pp_data->cap[1]->NotRange.Usage = 0x00B3
120pp_data->cap[1]->NotRange.Reserved1 = 0x00B3
121pp_data->cap[1]->NotRange.StringIndex = 0
122pp_data->cap[1]->NotRange.Reserved2 = 0
123pp_data->cap[1]->NotRange.DesignatorIndex = 0
124pp_data->cap[1]->NotRange.Reserved3 = 0
125pp_data->cap[1]->NotRange.DataIndex = 1
126pp_data->cap[1]->NotRange.Reserved4 = 1
127pp_data->cap[1]->Button.LogicalMin = 0
128pp_data->cap[1]->Button.LogicalMax = 0
129pp_data->cap[1]->Units = 0
130pp_data->cap[1]->UnitsExp = 0
131
132pp_data->cap[2]->UsagePage = 0xFFA0
133pp_data->cap[2]->ReportID = 0x14
134pp_data->cap[2]->BitPosition = 3
135pp_data->cap[2]->BitSize = 1
136pp_data->cap[2]->ReportCount = 1
137pp_data->cap[2]->BytePosition = 0x0001
138pp_data->cap[2]->BitCount = 1
139pp_data->cap[2]->BitField = 0x06
140pp_data->cap[2]->NextBytePosition = 0x0002
141pp_data->cap[2]->LinkCollection = 0x0000
142pp_data->cap[2]->LinkUsagePage = 0xFFA0
143pp_data->cap[2]->LinkUsage = 0x0003
144pp_data->cap[2]->IsMultipleItemsForArray = 0
145pp_data->cap[2]->IsButtonCap = 1
146pp_data->cap[2]->IsPadding = 0
147pp_data->cap[2]->IsAbsolute = 0
148pp_data->cap[2]->IsRange = 0
149pp_data->cap[2]->IsAlias = 0
150pp_data->cap[2]->IsStringRange = 0
151pp_data->cap[2]->IsDesignatorRange = 0
152pp_data->cap[2]->Reserved1 = 0x000000
153pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
154pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
155pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
156pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
157pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
158pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
159pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
160pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
161pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
162pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
163pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
164pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
165pp_data->cap[2]->NotRange.Usage = 0x00B7
166pp_data->cap[2]->NotRange.Reserved1 = 0x00B7
167pp_data->cap[2]->NotRange.StringIndex = 0
168pp_data->cap[2]->NotRange.Reserved2 = 0
169pp_data->cap[2]->NotRange.DesignatorIndex = 0
170pp_data->cap[2]->NotRange.Reserved3 = 0
171pp_data->cap[2]->NotRange.DataIndex = 2
172pp_data->cap[2]->NotRange.Reserved4 = 2
173pp_data->cap[2]->Button.LogicalMin = 0
174pp_data->cap[2]->Button.LogicalMax = 0
175pp_data->cap[2]->Units = 0
176pp_data->cap[2]->UnitsExp = 0
177
178pp_data->cap[3]->UsagePage = 0xFFA0
179pp_data->cap[3]->ReportID = 0x14
180pp_data->cap[3]->BitPosition = 2
181pp_data->cap[3]->BitSize = 1
182pp_data->cap[3]->ReportCount = 1
183pp_data->cap[3]->BytePosition = 0x0001
184pp_data->cap[3]->BitCount = 1
185pp_data->cap[3]->BitField = 0x06
186pp_data->cap[3]->NextBytePosition = 0x0002
187pp_data->cap[3]->LinkCollection = 0x0000
188pp_data->cap[3]->LinkUsagePage = 0xFFA0
189pp_data->cap[3]->LinkUsage = 0x0003
190pp_data->cap[3]->IsMultipleItemsForArray = 0
191pp_data->cap[3]->IsButtonCap = 1
192pp_data->cap[3]->IsPadding = 0
193pp_data->cap[3]->IsAbsolute = 0
194pp_data->cap[3]->IsRange = 0
195pp_data->cap[3]->IsAlias = 0
196pp_data->cap[3]->IsStringRange = 0
197pp_data->cap[3]->IsDesignatorRange = 0
198pp_data->cap[3]->Reserved1 = 0x000000
199pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
200pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
201pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
202pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
203pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
204pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
205pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
206pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
207pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
208pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
209pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
210pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
211pp_data->cap[3]->NotRange.Usage = 0x00B5
212pp_data->cap[3]->NotRange.Reserved1 = 0x00B5
213pp_data->cap[3]->NotRange.StringIndex = 0
214pp_data->cap[3]->NotRange.Reserved2 = 0
215pp_data->cap[3]->NotRange.DesignatorIndex = 0
216pp_data->cap[3]->NotRange.Reserved3 = 0
217pp_data->cap[3]->NotRange.DataIndex = 3
218pp_data->cap[3]->NotRange.Reserved4 = 3
219pp_data->cap[3]->Button.LogicalMin = 0
220pp_data->cap[3]->Button.LogicalMax = 0
221pp_data->cap[3]->Units = 0
222pp_data->cap[3]->UnitsExp = 0
223
224pp_data->cap[4]->UsagePage = 0xFFA0
225pp_data->cap[4]->ReportID = 0x14
226pp_data->cap[4]->BitPosition = 1
227pp_data->cap[4]->BitSize = 1
228pp_data->cap[4]->ReportCount = 1
229pp_data->cap[4]->BytePosition = 0x0001
230pp_data->cap[4]->BitCount = 1
231pp_data->cap[4]->BitField = 0x06
232pp_data->cap[4]->NextBytePosition = 0x0002
233pp_data->cap[4]->LinkCollection = 0x0000
234pp_data->cap[4]->LinkUsagePage = 0xFFA0
235pp_data->cap[4]->LinkUsage = 0x0003
236pp_data->cap[4]->IsMultipleItemsForArray = 0
237pp_data->cap[4]->IsButtonCap = 1
238pp_data->cap[4]->IsPadding = 0
239pp_data->cap[4]->IsAbsolute = 0
240pp_data->cap[4]->IsRange = 0
241pp_data->cap[4]->IsAlias = 0
242pp_data->cap[4]->IsStringRange = 0
243pp_data->cap[4]->IsDesignatorRange = 0
244pp_data->cap[4]->Reserved1 = 0x000000
245pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
246pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
247pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
248pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
249pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
250pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
251pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
252pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
253pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
254pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
255pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
256pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
257pp_data->cap[4]->NotRange.Usage = 0x00B2
258pp_data->cap[4]->NotRange.Reserved1 = 0x00B2
259pp_data->cap[4]->NotRange.StringIndex = 0
260pp_data->cap[4]->NotRange.Reserved2 = 0
261pp_data->cap[4]->NotRange.DesignatorIndex = 0
262pp_data->cap[4]->NotRange.Reserved3 = 0
263pp_data->cap[4]->NotRange.DataIndex = 4
264pp_data->cap[4]->NotRange.Reserved4 = 4
265pp_data->cap[4]->Button.LogicalMin = 0
266pp_data->cap[4]->Button.LogicalMax = 0
267pp_data->cap[4]->Units = 0
268pp_data->cap[4]->UnitsExp = 0
269
270pp_data->cap[5]->UsagePage = 0xFFA0
271pp_data->cap[5]->ReportID = 0x14
272pp_data->cap[5]->BitPosition = 0
273pp_data->cap[5]->BitSize = 1
274pp_data->cap[5]->ReportCount = 1
275pp_data->cap[5]->BytePosition = 0x0001
276pp_data->cap[5]->BitCount = 1
277pp_data->cap[5]->BitField = 0x06
278pp_data->cap[5]->NextBytePosition = 0x0002
279pp_data->cap[5]->LinkCollection = 0x0000
280pp_data->cap[5]->LinkUsagePage = 0xFFA0
281pp_data->cap[5]->LinkUsage = 0x0003
282pp_data->cap[5]->IsMultipleItemsForArray = 0
283pp_data->cap[5]->IsButtonCap = 1
284pp_data->cap[5]->IsPadding = 0
285pp_data->cap[5]->IsAbsolute = 0
286pp_data->cap[5]->IsRange = 0
287pp_data->cap[5]->IsAlias = 0
288pp_data->cap[5]->IsStringRange = 0
289pp_data->cap[5]->IsDesignatorRange = 0
290pp_data->cap[5]->Reserved1 = 0x000000
291pp_data->cap[5]->pp_cap->UnknownTokens[0].Token = 0x00
292pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
293pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
294pp_data->cap[5]->pp_cap->UnknownTokens[1].Token = 0x00
295pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
296pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
297pp_data->cap[5]->pp_cap->UnknownTokens[2].Token = 0x00
298pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
299pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
300pp_data->cap[5]->pp_cap->UnknownTokens[3].Token = 0x00
301pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
302pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
303pp_data->cap[5]->NotRange.Usage = 0x00B1
304pp_data->cap[5]->NotRange.Reserved1 = 0x00B1
305pp_data->cap[5]->NotRange.StringIndex = 0
306pp_data->cap[5]->NotRange.Reserved2 = 0
307pp_data->cap[5]->NotRange.DesignatorIndex = 0
308pp_data->cap[5]->NotRange.Reserved3 = 0
309pp_data->cap[5]->NotRange.DataIndex = 5
310pp_data->cap[5]->NotRange.Reserved4 = 5
311pp_data->cap[5]->Button.LogicalMin = 0
312pp_data->cap[5]->Button.LogicalMax = 0
313pp_data->cap[5]->Units = 0
314pp_data->cap[5]->UnitsExp = 0
315
316pp_data->cap[6]->UsagePage = 0xFFA0
317pp_data->cap[6]->ReportID = 0x15
318pp_data->cap[6]->BitPosition = 0
319pp_data->cap[6]->BitSize = 16
320pp_data->cap[6]->ReportCount = 1
321pp_data->cap[6]->BytePosition = 0x0001
322pp_data->cap[6]->BitCount = 16
323pp_data->cap[6]->BitField = 0x22
324pp_data->cap[6]->NextBytePosition = 0x0003
325pp_data->cap[6]->LinkCollection = 0x0000
326pp_data->cap[6]->LinkUsagePage = 0xFFA0
327pp_data->cap[6]->LinkUsage = 0x0003
328pp_data->cap[6]->IsMultipleItemsForArray = 0
329pp_data->cap[6]->IsButtonCap = 0
330pp_data->cap[6]->IsPadding = 0
331pp_data->cap[6]->IsAbsolute = 1
332pp_data->cap[6]->IsRange = 0
333pp_data->cap[6]->IsAlias = 0
334pp_data->cap[6]->IsStringRange = 0
335pp_data->cap[6]->IsDesignatorRange = 0
336pp_data->cap[6]->Reserved1 = 0x000000
337pp_data->cap[6]->pp_cap->UnknownTokens[0].Token = 0x00
338pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
339pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
340pp_data->cap[6]->pp_cap->UnknownTokens[1].Token = 0x00
341pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
342pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
343pp_data->cap[6]->pp_cap->UnknownTokens[2].Token = 0x00
344pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
345pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
346pp_data->cap[6]->pp_cap->UnknownTokens[3].Token = 0x00
347pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
348pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
349pp_data->cap[6]->NotRange.Usage = 0x008C
350pp_data->cap[6]->NotRange.Reserved1 = 0x008C
351pp_data->cap[6]->NotRange.StringIndex = 0
352pp_data->cap[6]->NotRange.Reserved2 = 0
353pp_data->cap[6]->NotRange.DesignatorIndex = 0
354pp_data->cap[6]->NotRange.Reserved3 = 0
355pp_data->cap[6]->NotRange.DataIndex = 6
356pp_data->cap[6]->NotRange.Reserved4 = 6
357pp_data->cap[6]->NotButton.HasNull = 0
358pp_data->cap[6]->NotButton.Reserved4 = 0x000000
359pp_data->cap[6]->NotButton.LogicalMin = 0
360pp_data->cap[6]->NotButton.LogicalMax = 65535
361pp_data->cap[6]->NotButton.PhysicalMin = 0
362pp_data->cap[6]->NotButton.PhysicalMax = 0
363pp_data->cap[6]->Units = 0
364pp_data->cap[6]->UnitsExp = 0
365
366pp_data->cap[7]->UsagePage = 0xFFA0
367pp_data->cap[7]->ReportID = 0x1F
368pp_data->cap[7]->BitPosition = 0
369pp_data->cap[7]->BitSize = 1
370pp_data->cap[7]->ReportCount = 1
371pp_data->cap[7]->BytePosition = 0x0001
372pp_data->cap[7]->BitCount = 1
373pp_data->cap[7]->BitField = 0x06
374pp_data->cap[7]->NextBytePosition = 0x0002
375pp_data->cap[7]->LinkCollection = 0x0000
376pp_data->cap[7]->LinkUsagePage = 0xFFA0
377pp_data->cap[7]->LinkUsage = 0x0003
378pp_data->cap[7]->IsMultipleItemsForArray = 0
379pp_data->cap[7]->IsButtonCap = 1
380pp_data->cap[7]->IsPadding = 0
381pp_data->cap[7]->IsAbsolute = 0
382pp_data->cap[7]->IsRange = 0
383pp_data->cap[7]->IsAlias = 0
384pp_data->cap[7]->IsStringRange = 0
385pp_data->cap[7]->IsDesignatorRange = 0
386pp_data->cap[7]->Reserved1 = 0x000000
387pp_data->cap[7]->pp_cap->UnknownTokens[0].Token = 0x00
388pp_data->cap[7]->pp_cap->UnknownTokens[0].Reserved = 0x000000
389pp_data->cap[7]->pp_cap->UnknownTokens[0].BitField = 0x00000000
390pp_data->cap[7]->pp_cap->UnknownTokens[1].Token = 0x00
391pp_data->cap[7]->pp_cap->UnknownTokens[1].Reserved = 0x000000
392pp_data->cap[7]->pp_cap->UnknownTokens[1].BitField = 0x00000000
393pp_data->cap[7]->pp_cap->UnknownTokens[2].Token = 0x00
394pp_data->cap[7]->pp_cap->UnknownTokens[2].Reserved = 0x000000
395pp_data->cap[7]->pp_cap->UnknownTokens[2].BitField = 0x00000000
396pp_data->cap[7]->pp_cap->UnknownTokens[3].Token = 0x00
397pp_data->cap[7]->pp_cap->UnknownTokens[3].Reserved = 0x000000
398pp_data->cap[7]->pp_cap->UnknownTokens[3].BitField = 0x00000000
399pp_data->cap[7]->NotRange.Usage = 0x009C
400pp_data->cap[7]->NotRange.Reserved1 = 0x009C
401pp_data->cap[7]->NotRange.StringIndex = 0
402pp_data->cap[7]->NotRange.Reserved2 = 0
403pp_data->cap[7]->NotRange.DesignatorIndex = 0
404pp_data->cap[7]->NotRange.Reserved3 = 0
405pp_data->cap[7]->NotRange.DataIndex = 7
406pp_data->cap[7]->NotRange.Reserved4 = 7
407pp_data->cap[7]->Button.LogicalMin = 0
408pp_data->cap[7]->Button.LogicalMax = 0
409pp_data->cap[7]->Units = 0
410pp_data->cap[7]->UnitsExp = 0
411
412# Output hid_pp_cap struct:
413pp_data->cap[8]->UsagePage = 0xFFA0
414pp_data->cap[8]->ReportID = 0x03
415pp_data->cap[8]->BitPosition = 0
416pp_data->cap[8]->BitSize = 8
417pp_data->cap[8]->ReportCount = 32
418pp_data->cap[8]->BytePosition = 0x0001
419pp_data->cap[8]->BitCount = 256
420pp_data->cap[8]->BitField = 0x02
421pp_data->cap[8]->NextBytePosition = 0x0021
422pp_data->cap[8]->LinkCollection = 0x0000
423pp_data->cap[8]->LinkUsagePage = 0xFFA0
424pp_data->cap[8]->LinkUsage = 0x0003
425pp_data->cap[8]->IsMultipleItemsForArray = 0
426pp_data->cap[8]->IsButtonCap = 0
427pp_data->cap[8]->IsPadding = 0
428pp_data->cap[8]->IsAbsolute = 1
429pp_data->cap[8]->IsRange = 0
430pp_data->cap[8]->IsAlias = 0
431pp_data->cap[8]->IsStringRange = 0
432pp_data->cap[8]->IsDesignatorRange = 0
433pp_data->cap[8]->Reserved1 = 0x000000
434pp_data->cap[8]->pp_cap->UnknownTokens[0].Token = 0x00
435pp_data->cap[8]->pp_cap->UnknownTokens[0].Reserved = 0x000000
436pp_data->cap[8]->pp_cap->UnknownTokens[0].BitField = 0x00000000
437pp_data->cap[8]->pp_cap->UnknownTokens[1].Token = 0x00
438pp_data->cap[8]->pp_cap->UnknownTokens[1].Reserved = 0x000000
439pp_data->cap[8]->pp_cap->UnknownTokens[1].BitField = 0x00000000
440pp_data->cap[8]->pp_cap->UnknownTokens[2].Token = 0x00
441pp_data->cap[8]->pp_cap->UnknownTokens[2].Reserved = 0x000000
442pp_data->cap[8]->pp_cap->UnknownTokens[2].BitField = 0x00000000
443pp_data->cap[8]->pp_cap->UnknownTokens[3].Token = 0x00
444pp_data->cap[8]->pp_cap->UnknownTokens[3].Reserved = 0x000000
445pp_data->cap[8]->pp_cap->UnknownTokens[3].BitField = 0x00000000
446pp_data->cap[8]->NotRange.Usage = 0x0030
447pp_data->cap[8]->NotRange.Reserved1 = 0x0030
448pp_data->cap[8]->NotRange.StringIndex = 0
449pp_data->cap[8]->NotRange.Reserved2 = 0
450pp_data->cap[8]->NotRange.DesignatorIndex = 0
451pp_data->cap[8]->NotRange.Reserved3 = 0
452pp_data->cap[8]->NotRange.DataIndex = 0
453pp_data->cap[8]->NotRange.Reserved4 = 0
454pp_data->cap[8]->NotButton.HasNull = 0
455pp_data->cap[8]->NotButton.Reserved4 = 0x000000
456pp_data->cap[8]->NotButton.LogicalMin = 0
457pp_data->cap[8]->NotButton.LogicalMax = 1
458pp_data->cap[8]->NotButton.PhysicalMin = 0
459pp_data->cap[8]->NotButton.PhysicalMax = 0
460pp_data->cap[8]->Units = 0
461pp_data->cap[8]->UnitsExp = 0
462
463pp_data->cap[9]->UsagePage = 0xFFA0
464pp_data->cap[9]->ReportID = 0x19
465pp_data->cap[9]->BitPosition = 3
466pp_data->cap[9]->BitSize = 1
467pp_data->cap[9]->ReportCount = 1
468pp_data->cap[9]->BytePosition = 0x0001
469pp_data->cap[9]->BitCount = 1
470pp_data->cap[9]->BitField = 0x22
471pp_data->cap[9]->NextBytePosition = 0x0002
472pp_data->cap[9]->LinkCollection = 0x0000
473pp_data->cap[9]->LinkUsagePage = 0xFFA0
474pp_data->cap[9]->LinkUsage = 0x0003
475pp_data->cap[9]->IsMultipleItemsForArray = 0
476pp_data->cap[9]->IsButtonCap = 1
477pp_data->cap[9]->IsPadding = 0
478pp_data->cap[9]->IsAbsolute = 1
479pp_data->cap[9]->IsRange = 0
480pp_data->cap[9]->IsAlias = 0
481pp_data->cap[9]->IsStringRange = 0
482pp_data->cap[9]->IsDesignatorRange = 0
483pp_data->cap[9]->Reserved1 = 0x000000
484pp_data->cap[9]->pp_cap->UnknownTokens[0].Token = 0x00
485pp_data->cap[9]->pp_cap->UnknownTokens[0].Reserved = 0x000000
486pp_data->cap[9]->pp_cap->UnknownTokens[0].BitField = 0x00000000
487pp_data->cap[9]->pp_cap->UnknownTokens[1].Token = 0x00
488pp_data->cap[9]->pp_cap->UnknownTokens[1].Reserved = 0x000000
489pp_data->cap[9]->pp_cap->UnknownTokens[1].BitField = 0x00000000
490pp_data->cap[9]->pp_cap->UnknownTokens[2].Token = 0x00
491pp_data->cap[9]->pp_cap->UnknownTokens[2].Reserved = 0x000000
492pp_data->cap[9]->pp_cap->UnknownTokens[2].BitField = 0x00000000
493pp_data->cap[9]->pp_cap->UnknownTokens[3].Token = 0x00
494pp_data->cap[9]->pp_cap->UnknownTokens[3].Reserved = 0x000000
495pp_data->cap[9]->pp_cap->UnknownTokens[3].BitField = 0x00000000
496pp_data->cap[9]->NotRange.Usage = 0x00DC
497pp_data->cap[9]->NotRange.Reserved1 = 0x00DC
498pp_data->cap[9]->NotRange.StringIndex = 0
499pp_data->cap[9]->NotRange.Reserved2 = 0
500pp_data->cap[9]->NotRange.DesignatorIndex = 0
501pp_data->cap[9]->NotRange.Reserved3 = 0
502pp_data->cap[9]->NotRange.DataIndex = 1
503pp_data->cap[9]->NotRange.Reserved4 = 1
504pp_data->cap[9]->Button.LogicalMin = 0
505pp_data->cap[9]->Button.LogicalMax = 0
506pp_data->cap[9]->Units = 0
507pp_data->cap[9]->UnitsExp = 0
508
509pp_data->cap[10]->UsagePage = 0xFFA0
510pp_data->cap[10]->ReportID = 0x19
511pp_data->cap[10]->BitPosition = 2
512pp_data->cap[10]->BitSize = 1
513pp_data->cap[10]->ReportCount = 1
514pp_data->cap[10]->BytePosition = 0x0001
515pp_data->cap[10]->BitCount = 1
516pp_data->cap[10]->BitField = 0x22
517pp_data->cap[10]->NextBytePosition = 0x0002
518pp_data->cap[10]->LinkCollection = 0x0000
519pp_data->cap[10]->LinkUsagePage = 0xFFA0
520pp_data->cap[10]->LinkUsage = 0x0003
521pp_data->cap[10]->IsMultipleItemsForArray = 0
522pp_data->cap[10]->IsButtonCap = 1
523pp_data->cap[10]->IsPadding = 0
524pp_data->cap[10]->IsAbsolute = 1
525pp_data->cap[10]->IsRange = 0
526pp_data->cap[10]->IsAlias = 0
527pp_data->cap[10]->IsStringRange = 0
528pp_data->cap[10]->IsDesignatorRange = 0
529pp_data->cap[10]->Reserved1 = 0x000000
530pp_data->cap[10]->pp_cap->UnknownTokens[0].Token = 0x00
531pp_data->cap[10]->pp_cap->UnknownTokens[0].Reserved = 0x000000
532pp_data->cap[10]->pp_cap->UnknownTokens[0].BitField = 0x00000000
533pp_data->cap[10]->pp_cap->UnknownTokens[1].Token = 0x00
534pp_data->cap[10]->pp_cap->UnknownTokens[1].Reserved = 0x000000
535pp_data->cap[10]->pp_cap->UnknownTokens[1].BitField = 0x00000000
536pp_data->cap[10]->pp_cap->UnknownTokens[2].Token = 0x00
537pp_data->cap[10]->pp_cap->UnknownTokens[2].Reserved = 0x000000
538pp_data->cap[10]->pp_cap->UnknownTokens[2].BitField = 0x00000000
539pp_data->cap[10]->pp_cap->UnknownTokens[3].Token = 0x00
540pp_data->cap[10]->pp_cap->UnknownTokens[3].Reserved = 0x000000
541pp_data->cap[10]->pp_cap->UnknownTokens[3].BitField = 0x00000000
542pp_data->cap[10]->NotRange.Usage = 0x009E
543pp_data->cap[10]->NotRange.Reserved1 = 0x009E
544pp_data->cap[10]->NotRange.StringIndex = 0
545pp_data->cap[10]->NotRange.Reserved2 = 0
546pp_data->cap[10]->NotRange.DesignatorIndex = 0
547pp_data->cap[10]->NotRange.Reserved3 = 0
548pp_data->cap[10]->NotRange.DataIndex = 2
549pp_data->cap[10]->NotRange.Reserved4 = 2
550pp_data->cap[10]->Button.LogicalMin = 0
551pp_data->cap[10]->Button.LogicalMax = 0
552pp_data->cap[10]->Units = 0
553pp_data->cap[10]->UnitsExp = 0
554
555pp_data->cap[11]->UsagePage = 0xFFA0
556pp_data->cap[11]->ReportID = 0x19
557pp_data->cap[11]->BitPosition = 1
558pp_data->cap[11]->BitSize = 1
559pp_data->cap[11]->ReportCount = 1
560pp_data->cap[11]->BytePosition = 0x0001
561pp_data->cap[11]->BitCount = 1
562pp_data->cap[11]->BitField = 0x22
563pp_data->cap[11]->NextBytePosition = 0x0002
564pp_data->cap[11]->LinkCollection = 0x0000
565pp_data->cap[11]->LinkUsagePage = 0xFFA0
566pp_data->cap[11]->LinkUsage = 0x0003
567pp_data->cap[11]->IsMultipleItemsForArray = 0
568pp_data->cap[11]->IsButtonCap = 1
569pp_data->cap[11]->IsPadding = 0
570pp_data->cap[11]->IsAbsolute = 1
571pp_data->cap[11]->IsRange = 0
572pp_data->cap[11]->IsAlias = 0
573pp_data->cap[11]->IsStringRange = 0
574pp_data->cap[11]->IsDesignatorRange = 0
575pp_data->cap[11]->Reserved1 = 0x000000
576pp_data->cap[11]->pp_cap->UnknownTokens[0].Token = 0x00
577pp_data->cap[11]->pp_cap->UnknownTokens[0].Reserved = 0x000000
578pp_data->cap[11]->pp_cap->UnknownTokens[0].BitField = 0x00000000
579pp_data->cap[11]->pp_cap->UnknownTokens[1].Token = 0x00
580pp_data->cap[11]->pp_cap->UnknownTokens[1].Reserved = 0x000000
581pp_data->cap[11]->pp_cap->UnknownTokens[1].BitField = 0x00000000
582pp_data->cap[11]->pp_cap->UnknownTokens[2].Token = 0x00
583pp_data->cap[11]->pp_cap->UnknownTokens[2].Reserved = 0x000000
584pp_data->cap[11]->pp_cap->UnknownTokens[2].BitField = 0x00000000
585pp_data->cap[11]->pp_cap->UnknownTokens[3].Token = 0x00
586pp_data->cap[11]->pp_cap->UnknownTokens[3].Reserved = 0x000000
587pp_data->cap[11]->pp_cap->UnknownTokens[3].BitField = 0x00000000
588pp_data->cap[11]->NotRange.Usage = 0x008F
589pp_data->cap[11]->NotRange.Reserved1 = 0x008F
590pp_data->cap[11]->NotRange.StringIndex = 0
591pp_data->cap[11]->NotRange.Reserved2 = 0
592pp_data->cap[11]->NotRange.DesignatorIndex = 0
593pp_data->cap[11]->NotRange.Reserved3 = 0
594pp_data->cap[11]->NotRange.DataIndex = 3
595pp_data->cap[11]->NotRange.Reserved4 = 3
596pp_data->cap[11]->Button.LogicalMin = 0
597pp_data->cap[11]->Button.LogicalMax = 0
598pp_data->cap[11]->Units = 0
599pp_data->cap[11]->UnitsExp = 0
600
601pp_data->cap[12]->UsagePage = 0xFFA0
602pp_data->cap[12]->ReportID = 0x19
603pp_data->cap[12]->BitPosition = 0
604pp_data->cap[12]->BitSize = 1
605pp_data->cap[12]->ReportCount = 1
606pp_data->cap[12]->BytePosition = 0x0001
607pp_data->cap[12]->BitCount = 1
608pp_data->cap[12]->BitField = 0x22
609pp_data->cap[12]->NextBytePosition = 0x0002
610pp_data->cap[12]->LinkCollection = 0x0000
611pp_data->cap[12]->LinkUsagePage = 0xFFA0
612pp_data->cap[12]->LinkUsage = 0x0003
613pp_data->cap[12]->IsMultipleItemsForArray = 0
614pp_data->cap[12]->IsButtonCap = 1
615pp_data->cap[12]->IsPadding = 0
616pp_data->cap[12]->IsAbsolute = 1
617pp_data->cap[12]->IsRange = 0
618pp_data->cap[12]->IsAlias = 0
619pp_data->cap[12]->IsStringRange = 0
620pp_data->cap[12]->IsDesignatorRange = 0
621pp_data->cap[12]->Reserved1 = 0x000000
622pp_data->cap[12]->pp_cap->UnknownTokens[0].Token = 0x00
623pp_data->cap[12]->pp_cap->UnknownTokens[0].Reserved = 0x000000
624pp_data->cap[12]->pp_cap->UnknownTokens[0].BitField = 0x00000000
625pp_data->cap[12]->pp_cap->UnknownTokens[1].Token = 0x00
626pp_data->cap[12]->pp_cap->UnknownTokens[1].Reserved = 0x000000
627pp_data->cap[12]->pp_cap->UnknownTokens[1].BitField = 0x00000000
628pp_data->cap[12]->pp_cap->UnknownTokens[2].Token = 0x00
629pp_data->cap[12]->pp_cap->UnknownTokens[2].Reserved = 0x000000
630pp_data->cap[12]->pp_cap->UnknownTokens[2].BitField = 0x00000000
631pp_data->cap[12]->pp_cap->UnknownTokens[3].Token = 0x00
632pp_data->cap[12]->pp_cap->UnknownTokens[3].Reserved = 0x000000
633pp_data->cap[12]->pp_cap->UnknownTokens[3].BitField = 0x00000000
634pp_data->cap[12]->NotRange.Usage = 0x008D
635pp_data->cap[12]->NotRange.Reserved1 = 0x008D
636pp_data->cap[12]->NotRange.StringIndex = 0
637pp_data->cap[12]->NotRange.Reserved2 = 0
638pp_data->cap[12]->NotRange.DesignatorIndex = 0
639pp_data->cap[12]->NotRange.Reserved3 = 0
640pp_data->cap[12]->NotRange.DataIndex = 4
641pp_data->cap[12]->NotRange.Reserved4 = 4
642pp_data->cap[12]->Button.LogicalMin = 0
643pp_data->cap[12]->Button.LogicalMax = 0
644pp_data->cap[12]->Units = 0
645pp_data->cap[12]->UnitsExp = 0
646
647pp_data->cap[13]->UsagePage = 0xFFA0
648pp_data->cap[13]->ReportID = 0x19
649pp_data->cap[13]->BitPosition = 5
650pp_data->cap[13]->BitSize = 1
651pp_data->cap[13]->ReportCount = 1
652pp_data->cap[13]->BytePosition = 0x0001
653pp_data->cap[13]->BitCount = 1
654pp_data->cap[13]->BitField = 0x06
655pp_data->cap[13]->NextBytePosition = 0x0002
656pp_data->cap[13]->LinkCollection = 0x0000
657pp_data->cap[13]->LinkUsagePage = 0xFFA0
658pp_data->cap[13]->LinkUsage = 0x0003
659pp_data->cap[13]->IsMultipleItemsForArray = 0
660pp_data->cap[13]->IsButtonCap = 1
661pp_data->cap[13]->IsPadding = 0
662pp_data->cap[13]->IsAbsolute = 0
663pp_data->cap[13]->IsRange = 0
664pp_data->cap[13]->IsAlias = 0
665pp_data->cap[13]->IsStringRange = 0
666pp_data->cap[13]->IsDesignatorRange = 0
667pp_data->cap[13]->Reserved1 = 0x000000
668pp_data->cap[13]->pp_cap->UnknownTokens[0].Token = 0x00
669pp_data->cap[13]->pp_cap->UnknownTokens[0].Reserved = 0x000000
670pp_data->cap[13]->pp_cap->UnknownTokens[0].BitField = 0x00000000
671pp_data->cap[13]->pp_cap->UnknownTokens[1].Token = 0x00
672pp_data->cap[13]->pp_cap->UnknownTokens[1].Reserved = 0x000000
673pp_data->cap[13]->pp_cap->UnknownTokens[1].BitField = 0x00000000
674pp_data->cap[13]->pp_cap->UnknownTokens[2].Token = 0x00
675pp_data->cap[13]->pp_cap->UnknownTokens[2].Reserved = 0x000000
676pp_data->cap[13]->pp_cap->UnknownTokens[2].BitField = 0x00000000
677pp_data->cap[13]->pp_cap->UnknownTokens[3].Token = 0x00
678pp_data->cap[13]->pp_cap->UnknownTokens[3].Reserved = 0x000000
679pp_data->cap[13]->pp_cap->UnknownTokens[3].BitField = 0x00000000
680pp_data->cap[13]->NotRange.Usage = 0x00D9
681pp_data->cap[13]->NotRange.Reserved1 = 0x00D9
682pp_data->cap[13]->NotRange.StringIndex = 0
683pp_data->cap[13]->NotRange.Reserved2 = 0
684pp_data->cap[13]->NotRange.DesignatorIndex = 0
685pp_data->cap[13]->NotRange.Reserved3 = 0
686pp_data->cap[13]->NotRange.DataIndex = 5
687pp_data->cap[13]->NotRange.Reserved4 = 5
688pp_data->cap[13]->Button.LogicalMin = 0
689pp_data->cap[13]->Button.LogicalMax = 0
690pp_data->cap[13]->Units = 0
691pp_data->cap[13]->UnitsExp = 0
692
693pp_data->cap[14]->UsagePage = 0xFFA0
694pp_data->cap[14]->ReportID = 0x19
695pp_data->cap[14]->BitPosition = 4
696pp_data->cap[14]->BitSize = 1
697pp_data->cap[14]->ReportCount = 1
698pp_data->cap[14]->BytePosition = 0x0001
699pp_data->cap[14]->BitCount = 1
700pp_data->cap[14]->BitField = 0x06
701pp_data->cap[14]->NextBytePosition = 0x0002
702pp_data->cap[14]->LinkCollection = 0x0000
703pp_data->cap[14]->LinkUsagePage = 0xFFA0
704pp_data->cap[14]->LinkUsage = 0x0003
705pp_data->cap[14]->IsMultipleItemsForArray = 0
706pp_data->cap[14]->IsButtonCap = 1
707pp_data->cap[14]->IsPadding = 0
708pp_data->cap[14]->IsAbsolute = 0
709pp_data->cap[14]->IsRange = 0
710pp_data->cap[14]->IsAlias = 0
711pp_data->cap[14]->IsStringRange = 0
712pp_data->cap[14]->IsDesignatorRange = 0
713pp_data->cap[14]->Reserved1 = 0x000000
714pp_data->cap[14]->pp_cap->UnknownTokens[0].Token = 0x00
715pp_data->cap[14]->pp_cap->UnknownTokens[0].Reserved = 0x000000
716pp_data->cap[14]->pp_cap->UnknownTokens[0].BitField = 0x00000000
717pp_data->cap[14]->pp_cap->UnknownTokens[1].Token = 0x00
718pp_data->cap[14]->pp_cap->UnknownTokens[1].Reserved = 0x000000
719pp_data->cap[14]->pp_cap->UnknownTokens[1].BitField = 0x00000000
720pp_data->cap[14]->pp_cap->UnknownTokens[2].Token = 0x00
721pp_data->cap[14]->pp_cap->UnknownTokens[2].Reserved = 0x000000
722pp_data->cap[14]->pp_cap->UnknownTokens[2].BitField = 0x00000000
723pp_data->cap[14]->pp_cap->UnknownTokens[3].Token = 0x00
724pp_data->cap[14]->pp_cap->UnknownTokens[3].Reserved = 0x000000
725pp_data->cap[14]->pp_cap->UnknownTokens[3].BitField = 0x00000000
726pp_data->cap[14]->NotRange.Usage = 0x00D2
727pp_data->cap[14]->NotRange.Reserved1 = 0x00D2
728pp_data->cap[14]->NotRange.StringIndex = 0
729pp_data->cap[14]->NotRange.Reserved2 = 0
730pp_data->cap[14]->NotRange.DesignatorIndex = 0
731pp_data->cap[14]->NotRange.Reserved3 = 0
732pp_data->cap[14]->NotRange.DataIndex = 6
733pp_data->cap[14]->NotRange.Reserved4 = 6
734pp_data->cap[14]->Button.LogicalMin = 0
735pp_data->cap[14]->Button.LogicalMax = 0
736pp_data->cap[14]->Units = 0
737pp_data->cap[14]->UnitsExp = 0
738
739pp_data->cap[15]->UsagePage = 0xFFA0
740pp_data->cap[15]->ReportID = 0x1A
741pp_data->cap[15]->BitPosition = 0
742pp_data->cap[15]->BitSize = 1
743pp_data->cap[15]->ReportCount = 1
744pp_data->cap[15]->BytePosition = 0x0001
745pp_data->cap[15]->BitCount = 1
746pp_data->cap[15]->BitField = 0x22
747pp_data->cap[15]->NextBytePosition = 0x0002
748pp_data->cap[15]->LinkCollection = 0x0000
749pp_data->cap[15]->LinkUsagePage = 0xFFA0
750pp_data->cap[15]->LinkUsage = 0x0003
751pp_data->cap[15]->IsMultipleItemsForArray = 0
752pp_data->cap[15]->IsButtonCap = 1
753pp_data->cap[15]->IsPadding = 0
754pp_data->cap[15]->IsAbsolute = 1
755pp_data->cap[15]->IsRange = 0
756pp_data->cap[15]->IsAlias = 0
757pp_data->cap[15]->IsStringRange = 0
758pp_data->cap[15]->IsDesignatorRange = 0
759pp_data->cap[15]->Reserved1 = 0x000000
760pp_data->cap[15]->pp_cap->UnknownTokens[0].Token = 0x00
761pp_data->cap[15]->pp_cap->UnknownTokens[0].Reserved = 0x000000
762pp_data->cap[15]->pp_cap->UnknownTokens[0].BitField = 0x00000000
763pp_data->cap[15]->pp_cap->UnknownTokens[1].Token = 0x00
764pp_data->cap[15]->pp_cap->UnknownTokens[1].Reserved = 0x000000
765pp_data->cap[15]->pp_cap->UnknownTokens[1].BitField = 0x00000000
766pp_data->cap[15]->pp_cap->UnknownTokens[2].Token = 0x00
767pp_data->cap[15]->pp_cap->UnknownTokens[2].Reserved = 0x000000
768pp_data->cap[15]->pp_cap->UnknownTokens[2].BitField = 0x00000000
769pp_data->cap[15]->pp_cap->UnknownTokens[3].Token = 0x00
770pp_data->cap[15]->pp_cap->UnknownTokens[3].Reserved = 0x000000
771pp_data->cap[15]->pp_cap->UnknownTokens[3].BitField = 0x00000000
772pp_data->cap[15]->NotRange.Usage = 0x00B5
773pp_data->cap[15]->NotRange.Reserved1 = 0x00B5
774pp_data->cap[15]->NotRange.StringIndex = 0
775pp_data->cap[15]->NotRange.Reserved2 = 0
776pp_data->cap[15]->NotRange.DesignatorIndex = 0
777pp_data->cap[15]->NotRange.Reserved3 = 0
778pp_data->cap[15]->NotRange.DataIndex = 7
779pp_data->cap[15]->NotRange.Reserved4 = 7
780pp_data->cap[15]->Button.LogicalMin = 0
781pp_data->cap[15]->Button.LogicalMax = 0
782pp_data->cap[15]->Units = 0
783pp_data->cap[15]->UnitsExp = 0
784
785# Feature hid_pp_cap struct:
786pp_data->cap[16]->UsagePage = 0xFFA0
787pp_data->cap[16]->ReportID = 0x1B
788pp_data->cap[16]->BitPosition = 1
789pp_data->cap[16]->BitSize = 1
790pp_data->cap[16]->ReportCount = 1
791pp_data->cap[16]->BytePosition = 0x0001
792pp_data->cap[16]->BitCount = 1
793pp_data->cap[16]->BitField = 0x22
794pp_data->cap[16]->NextBytePosition = 0x0002
795pp_data->cap[16]->LinkCollection = 0x0000
796pp_data->cap[16]->LinkUsagePage = 0xFFA0
797pp_data->cap[16]->LinkUsage = 0x0003
798pp_data->cap[16]->IsMultipleItemsForArray = 0
799pp_data->cap[16]->IsButtonCap = 1
800pp_data->cap[16]->IsPadding = 0
801pp_data->cap[16]->IsAbsolute = 1
802pp_data->cap[16]->IsRange = 0
803pp_data->cap[16]->IsAlias = 0
804pp_data->cap[16]->IsStringRange = 0
805pp_data->cap[16]->IsDesignatorRange = 0
806pp_data->cap[16]->Reserved1 = 0x000000
807pp_data->cap[16]->pp_cap->UnknownTokens[0].Token = 0x00
808pp_data->cap[16]->pp_cap->UnknownTokens[0].Reserved = 0x000000
809pp_data->cap[16]->pp_cap->UnknownTokens[0].BitField = 0x00000000
810pp_data->cap[16]->pp_cap->UnknownTokens[1].Token = 0x00
811pp_data->cap[16]->pp_cap->UnknownTokens[1].Reserved = 0x000000
812pp_data->cap[16]->pp_cap->UnknownTokens[1].BitField = 0x00000000
813pp_data->cap[16]->pp_cap->UnknownTokens[2].Token = 0x00
814pp_data->cap[16]->pp_cap->UnknownTokens[2].Reserved = 0x000000
815pp_data->cap[16]->pp_cap->UnknownTokens[2].BitField = 0x00000000
816pp_data->cap[16]->pp_cap->UnknownTokens[3].Token = 0x00
817pp_data->cap[16]->pp_cap->UnknownTokens[3].Reserved = 0x000000
818pp_data->cap[16]->pp_cap->UnknownTokens[3].BitField = 0x00000000
819pp_data->cap[16]->NotRange.Usage = 0x00B5
820pp_data->cap[16]->NotRange.Reserved1 = 0x00B5
821pp_data->cap[16]->NotRange.StringIndex = 0
822pp_data->cap[16]->NotRange.Reserved2 = 0
823pp_data->cap[16]->NotRange.DesignatorIndex = 0
824pp_data->cap[16]->NotRange.Reserved3 = 0
825pp_data->cap[16]->NotRange.DataIndex = 0
826pp_data->cap[16]->NotRange.Reserved4 = 0
827pp_data->cap[16]->Button.LogicalMin = 0
828pp_data->cap[16]->Button.LogicalMax = 0
829pp_data->cap[16]->Units = 0
830pp_data->cap[16]->UnitsExp = 0
831
832pp_data->cap[17]->UsagePage = 0xFFA0
833pp_data->cap[17]->ReportID = 0x1B
834pp_data->cap[17]->BitPosition = 0
835pp_data->cap[17]->BitSize = 1
836pp_data->cap[17]->ReportCount = 1
837pp_data->cap[17]->BytePosition = 0x0001
838pp_data->cap[17]->BitCount = 1
839pp_data->cap[17]->BitField = 0x22
840pp_data->cap[17]->NextBytePosition = 0x0002
841pp_data->cap[17]->LinkCollection = 0x0000
842pp_data->cap[17]->LinkUsagePage = 0xFFA0
843pp_data->cap[17]->LinkUsage = 0x0003
844pp_data->cap[17]->IsMultipleItemsForArray = 0
845pp_data->cap[17]->IsButtonCap = 1
846pp_data->cap[17]->IsPadding = 0
847pp_data->cap[17]->IsAbsolute = 1
848pp_data->cap[17]->IsRange = 0
849pp_data->cap[17]->IsAlias = 0
850pp_data->cap[17]->IsStringRange = 0
851pp_data->cap[17]->IsDesignatorRange = 0
852pp_data->cap[17]->Reserved1 = 0x000000
853pp_data->cap[17]->pp_cap->UnknownTokens[0].Token = 0x00
854pp_data->cap[17]->pp_cap->UnknownTokens[0].Reserved = 0x000000
855pp_data->cap[17]->pp_cap->UnknownTokens[0].BitField = 0x00000000
856pp_data->cap[17]->pp_cap->UnknownTokens[1].Token = 0x00
857pp_data->cap[17]->pp_cap->UnknownTokens[1].Reserved = 0x000000
858pp_data->cap[17]->pp_cap->UnknownTokens[1].BitField = 0x00000000
859pp_data->cap[17]->pp_cap->UnknownTokens[2].Token = 0x00
860pp_data->cap[17]->pp_cap->UnknownTokens[2].Reserved = 0x000000
861pp_data->cap[17]->pp_cap->UnknownTokens[2].BitField = 0x00000000
862pp_data->cap[17]->pp_cap->UnknownTokens[3].Token = 0x00
863pp_data->cap[17]->pp_cap->UnknownTokens[3].Reserved = 0x000000
864pp_data->cap[17]->pp_cap->UnknownTokens[3].BitField = 0x00000000
865pp_data->cap[17]->NotRange.Usage = 0x00CF
866pp_data->cap[17]->NotRange.Reserved1 = 0x00CF
867pp_data->cap[17]->NotRange.StringIndex = 0
868pp_data->cap[17]->NotRange.Reserved2 = 0
869pp_data->cap[17]->NotRange.DesignatorIndex = 0
870pp_data->cap[17]->NotRange.Reserved3 = 0
871pp_data->cap[17]->NotRange.DataIndex = 1
872pp_data->cap[17]->NotRange.Reserved4 = 1
873pp_data->cap[17]->Button.LogicalMin = 0
874pp_data->cap[17]->Button.LogicalMax = 0
875pp_data->cap[17]->Units = 0
876pp_data->cap[17]->UnitsExp = 0
877
878pp_data->cap[18]->UsagePage = 0xFFA0
879pp_data->cap[18]->ReportID = 0x1B
880pp_data->cap[18]->BitPosition = 2
881pp_data->cap[18]->BitSize = 1
882pp_data->cap[18]->ReportCount = 1
883pp_data->cap[18]->BytePosition = 0x0001
884pp_data->cap[18]->BitCount = 1
885pp_data->cap[18]->BitField = 0x23
886pp_data->cap[18]->NextBytePosition = 0x0002
887pp_data->cap[18]->LinkCollection = 0x0000
888pp_data->cap[18]->LinkUsagePage = 0xFFA0
889pp_data->cap[18]->LinkUsage = 0x0003
890pp_data->cap[18]->IsMultipleItemsForArray = 0
891pp_data->cap[18]->IsButtonCap = 1
892pp_data->cap[18]->IsPadding = 1
893pp_data->cap[18]->IsAbsolute = 1
894pp_data->cap[18]->IsRange = 0
895pp_data->cap[18]->IsAlias = 0
896pp_data->cap[18]->IsStringRange = 0
897pp_data->cap[18]->IsDesignatorRange = 0
898pp_data->cap[18]->Reserved1 = 0x000000
899pp_data->cap[18]->pp_cap->UnknownTokens[0].Token = 0x00
900pp_data->cap[18]->pp_cap->UnknownTokens[0].Reserved = 0x000000
901pp_data->cap[18]->pp_cap->UnknownTokens[0].BitField = 0x00000000
902pp_data->cap[18]->pp_cap->UnknownTokens[1].Token = 0x00
903pp_data->cap[18]->pp_cap->UnknownTokens[1].Reserved = 0x000000
904pp_data->cap[18]->pp_cap->UnknownTokens[1].BitField = 0x00000000
905pp_data->cap[18]->pp_cap->UnknownTokens[2].Token = 0x00
906pp_data->cap[18]->pp_cap->UnknownTokens[2].Reserved = 0x000000
907pp_data->cap[18]->pp_cap->UnknownTokens[2].BitField = 0x00000000
908pp_data->cap[18]->pp_cap->UnknownTokens[3].Token = 0x00
909pp_data->cap[18]->pp_cap->UnknownTokens[3].Reserved = 0x000000
910pp_data->cap[18]->pp_cap->UnknownTokens[3].BitField = 0x00000000
911pp_data->cap[18]->NotRange.Usage = 0x00DE
912pp_data->cap[18]->NotRange.Reserved1 = 0x00DE
913pp_data->cap[18]->NotRange.StringIndex = 0
914pp_data->cap[18]->NotRange.Reserved2 = 0
915pp_data->cap[18]->NotRange.DesignatorIndex = 0
916pp_data->cap[18]->NotRange.Reserved3 = 0
917pp_data->cap[18]->NotRange.DataIndex = 2
918pp_data->cap[18]->NotRange.Reserved4 = 2
919pp_data->cap[18]->Button.LogicalMin = 0
920pp_data->cap[18]->Button.LogicalMax = 0
921pp_data->cap[18]->Units = 0
922pp_data->cap[18]->UnitsExp = 0
923
924pp_data->cap[19]->UsagePage = 0xFFA0
925pp_data->cap[19]->ReportID = 0x1B
926pp_data->cap[19]->BitPosition = 3
927pp_data->cap[19]->BitSize = 1
928pp_data->cap[19]->ReportCount = 1
929pp_data->cap[19]->BytePosition = 0x0001
930pp_data->cap[19]->BitCount = 1
931pp_data->cap[19]->BitField = 0x22
932pp_data->cap[19]->NextBytePosition = 0x0002
933pp_data->cap[19]->LinkCollection = 0x0000
934pp_data->cap[19]->LinkUsagePage = 0xFFA0
935pp_data->cap[19]->LinkUsage = 0x0003
936pp_data->cap[19]->IsMultipleItemsForArray = 0
937pp_data->cap[19]->IsButtonCap = 1
938pp_data->cap[19]->IsPadding = 0
939pp_data->cap[19]->IsAbsolute = 1
940pp_data->cap[19]->IsRange = 0
941pp_data->cap[19]->IsAlias = 0
942pp_data->cap[19]->IsStringRange = 0
943pp_data->cap[19]->IsDesignatorRange = 0
944pp_data->cap[19]->Reserved1 = 0x000000
945pp_data->cap[19]->pp_cap->UnknownTokens[0].Token = 0x00
946pp_data->cap[19]->pp_cap->UnknownTokens[0].Reserved = 0x000000
947pp_data->cap[19]->pp_cap->UnknownTokens[0].BitField = 0x00000000
948pp_data->cap[19]->pp_cap->UnknownTokens[1].Token = 0x00
949pp_data->cap[19]->pp_cap->UnknownTokens[1].Reserved = 0x000000
950pp_data->cap[19]->pp_cap->UnknownTokens[1].BitField = 0x00000000
951pp_data->cap[19]->pp_cap->UnknownTokens[2].Token = 0x00
952pp_data->cap[19]->pp_cap->UnknownTokens[2].Reserved = 0x000000
953pp_data->cap[19]->pp_cap->UnknownTokens[2].BitField = 0x00000000
954pp_data->cap[19]->pp_cap->UnknownTokens[3].Token = 0x00
955pp_data->cap[19]->pp_cap->UnknownTokens[3].Reserved = 0x000000
956pp_data->cap[19]->pp_cap->UnknownTokens[3].BitField = 0x00000000
957pp_data->cap[19]->NotRange.Usage = 0x00D8
958pp_data->cap[19]->NotRange.Reserved1 = 0x00D8
959pp_data->cap[19]->NotRange.StringIndex = 0
960pp_data->cap[19]->NotRange.Reserved2 = 0
961pp_data->cap[19]->NotRange.DesignatorIndex = 0
962pp_data->cap[19]->NotRange.Reserved3 = 0
963pp_data->cap[19]->NotRange.DataIndex = 3
964pp_data->cap[19]->NotRange.Reserved4 = 3
965pp_data->cap[19]->Button.LogicalMin = 0
966pp_data->cap[19]->Button.LogicalMax = 0
967pp_data->cap[19]->Units = 0
968pp_data->cap[19]->UnitsExp = 0
969
970pp_data->cap[20]->UsagePage = 0xFFA0
971pp_data->cap[20]->ReportID = 0x1B
972pp_data->cap[20]->BitPosition = 5
973pp_data->cap[20]->BitSize = 1
974pp_data->cap[20]->ReportCount = 1
975pp_data->cap[20]->BytePosition = 0x0002
976pp_data->cap[20]->BitCount = 1
977pp_data->cap[20]->BitField = 0x22
978pp_data->cap[20]->NextBytePosition = 0x0003
979pp_data->cap[20]->LinkCollection = 0x0000
980pp_data->cap[20]->LinkUsagePage = 0xFFA0
981pp_data->cap[20]->LinkUsage = 0x0003
982pp_data->cap[20]->IsMultipleItemsForArray = 0
983pp_data->cap[20]->IsButtonCap = 1
984pp_data->cap[20]->IsPadding = 0
985pp_data->cap[20]->IsAbsolute = 1
986pp_data->cap[20]->IsRange = 0
987pp_data->cap[20]->IsAlias = 0
988pp_data->cap[20]->IsStringRange = 0
989pp_data->cap[20]->IsDesignatorRange = 0
990pp_data->cap[20]->Reserved1 = 0x000000
991pp_data->cap[20]->pp_cap->UnknownTokens[0].Token = 0x00
992pp_data->cap[20]->pp_cap->UnknownTokens[0].Reserved = 0x000000
993pp_data->cap[20]->pp_cap->UnknownTokens[0].BitField = 0x00000000
994pp_data->cap[20]->pp_cap->UnknownTokens[1].Token = 0x00
995pp_data->cap[20]->pp_cap->UnknownTokens[1].Reserved = 0x000000
996pp_data->cap[20]->pp_cap->UnknownTokens[1].BitField = 0x00000000
997pp_data->cap[20]->pp_cap->UnknownTokens[2].Token = 0x00
998pp_data->cap[20]->pp_cap->UnknownTokens[2].Reserved = 0x000000
999pp_data->cap[20]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1000pp_data->cap[20]->pp_cap->UnknownTokens[3].Token = 0x00
1001pp_data->cap[20]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1002pp_data->cap[20]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1003pp_data->cap[20]->NotRange.Usage = 0x002A
1004pp_data->cap[20]->NotRange.Reserved1 = 0x002A
1005pp_data->cap[20]->NotRange.StringIndex = 0
1006pp_data->cap[20]->NotRange.Reserved2 = 0
1007pp_data->cap[20]->NotRange.DesignatorIndex = 0
1008pp_data->cap[20]->NotRange.Reserved3 = 0
1009pp_data->cap[20]->NotRange.DataIndex = 4
1010pp_data->cap[20]->NotRange.Reserved4 = 4
1011pp_data->cap[20]->Button.LogicalMin = 0
1012pp_data->cap[20]->Button.LogicalMax = 0
1013pp_data->cap[20]->Units = 0
1014pp_data->cap[20]->UnitsExp = 0
1015
1016pp_data->cap[21]->UsagePage = 0xFFA0
1017pp_data->cap[21]->ReportID = 0x1B
1018pp_data->cap[21]->BitPosition = 4
1019pp_data->cap[21]->BitSize = 1
1020pp_data->cap[21]->ReportCount = 1
1021pp_data->cap[21]->BytePosition = 0x0002
1022pp_data->cap[21]->BitCount = 1
1023pp_data->cap[21]->BitField = 0x22
1024pp_data->cap[21]->NextBytePosition = 0x0003
1025pp_data->cap[21]->LinkCollection = 0x0000
1026pp_data->cap[21]->LinkUsagePage = 0xFFA0
1027pp_data->cap[21]->LinkUsage = 0x0003
1028pp_data->cap[21]->IsMultipleItemsForArray = 0
1029pp_data->cap[21]->IsButtonCap = 1
1030pp_data->cap[21]->IsPadding = 0
1031pp_data->cap[21]->IsAbsolute = 1
1032pp_data->cap[21]->IsRange = 0
1033pp_data->cap[21]->IsAlias = 0
1034pp_data->cap[21]->IsStringRange = 0
1035pp_data->cap[21]->IsDesignatorRange = 0
1036pp_data->cap[21]->Reserved1 = 0x000000
1037pp_data->cap[21]->pp_cap->UnknownTokens[0].Token = 0x00
1038pp_data->cap[21]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1039pp_data->cap[21]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1040pp_data->cap[21]->pp_cap->UnknownTokens[1].Token = 0x00
1041pp_data->cap[21]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1042pp_data->cap[21]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1043pp_data->cap[21]->pp_cap->UnknownTokens[2].Token = 0x00
1044pp_data->cap[21]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1045pp_data->cap[21]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1046pp_data->cap[21]->pp_cap->UnknownTokens[3].Token = 0x00
1047pp_data->cap[21]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1048pp_data->cap[21]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1049pp_data->cap[21]->NotRange.Usage = 0x0020
1050pp_data->cap[21]->NotRange.Reserved1 = 0x0020
1051pp_data->cap[21]->NotRange.StringIndex = 0
1052pp_data->cap[21]->NotRange.Reserved2 = 0
1053pp_data->cap[21]->NotRange.DesignatorIndex = 0
1054pp_data->cap[21]->NotRange.Reserved3 = 0
1055pp_data->cap[21]->NotRange.DataIndex = 5
1056pp_data->cap[21]->NotRange.Reserved4 = 5
1057pp_data->cap[21]->Button.LogicalMin = 0
1058pp_data->cap[21]->Button.LogicalMax = 0
1059pp_data->cap[21]->Units = 0
1060pp_data->cap[21]->UnitsExp = 0
1061
1062pp_data->cap[22]->UsagePage = 0xFFA0
1063pp_data->cap[22]->ReportID = 0x1B
1064pp_data->cap[22]->BitPosition = 3
1065pp_data->cap[22]->BitSize = 1
1066pp_data->cap[22]->ReportCount = 1
1067pp_data->cap[22]->BytePosition = 0x0002
1068pp_data->cap[22]->BitCount = 1
1069pp_data->cap[22]->BitField = 0x22
1070pp_data->cap[22]->NextBytePosition = 0x0003
1071pp_data->cap[22]->LinkCollection = 0x0000
1072pp_data->cap[22]->LinkUsagePage = 0xFFA0
1073pp_data->cap[22]->LinkUsage = 0x0003
1074pp_data->cap[22]->IsMultipleItemsForArray = 0
1075pp_data->cap[22]->IsButtonCap = 1
1076pp_data->cap[22]->IsPadding = 0
1077pp_data->cap[22]->IsAbsolute = 1
1078pp_data->cap[22]->IsRange = 0
1079pp_data->cap[22]->IsAlias = 0
1080pp_data->cap[22]->IsStringRange = 0
1081pp_data->cap[22]->IsDesignatorRange = 0
1082pp_data->cap[22]->Reserved1 = 0x000000
1083pp_data->cap[22]->pp_cap->UnknownTokens[0].Token = 0x00
1084pp_data->cap[22]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1085pp_data->cap[22]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1086pp_data->cap[22]->pp_cap->UnknownTokens[1].Token = 0x00
1087pp_data->cap[22]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1088pp_data->cap[22]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1089pp_data->cap[22]->pp_cap->UnknownTokens[2].Token = 0x00
1090pp_data->cap[22]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1091pp_data->cap[22]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1092pp_data->cap[22]->pp_cap->UnknownTokens[3].Token = 0x00
1093pp_data->cap[22]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1094pp_data->cap[22]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1095pp_data->cap[22]->NotRange.Usage = 0x001E
1096pp_data->cap[22]->NotRange.Reserved1 = 0x001E
1097pp_data->cap[22]->NotRange.StringIndex = 0
1098pp_data->cap[22]->NotRange.Reserved2 = 0
1099pp_data->cap[22]->NotRange.DesignatorIndex = 0
1100pp_data->cap[22]->NotRange.Reserved3 = 0
1101pp_data->cap[22]->NotRange.DataIndex = 6
1102pp_data->cap[22]->NotRange.Reserved4 = 6
1103pp_data->cap[22]->Button.LogicalMin = 0
1104pp_data->cap[22]->Button.LogicalMax = 0
1105pp_data->cap[22]->Units = 0
1106pp_data->cap[22]->UnitsExp = 0
1107
1108pp_data->cap[23]->UsagePage = 0xFFA0
1109pp_data->cap[23]->ReportID = 0x1B
1110pp_data->cap[23]->BitPosition = 2
1111pp_data->cap[23]->BitSize = 1
1112pp_data->cap[23]->ReportCount = 1
1113pp_data->cap[23]->BytePosition = 0x0002
1114pp_data->cap[23]->BitCount = 1
1115pp_data->cap[23]->BitField = 0x22
1116pp_data->cap[23]->NextBytePosition = 0x0003
1117pp_data->cap[23]->LinkCollection = 0x0000
1118pp_data->cap[23]->LinkUsagePage = 0xFFA0
1119pp_data->cap[23]->LinkUsage = 0x0003
1120pp_data->cap[23]->IsMultipleItemsForArray = 0
1121pp_data->cap[23]->IsButtonCap = 1
1122pp_data->cap[23]->IsPadding = 0
1123pp_data->cap[23]->IsAbsolute = 1
1124pp_data->cap[23]->IsRange = 0
1125pp_data->cap[23]->IsAlias = 0
1126pp_data->cap[23]->IsStringRange = 0
1127pp_data->cap[23]->IsDesignatorRange = 0
1128pp_data->cap[23]->Reserved1 = 0x000000
1129pp_data->cap[23]->pp_cap->UnknownTokens[0].Token = 0x00
1130pp_data->cap[23]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1131pp_data->cap[23]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1132pp_data->cap[23]->pp_cap->UnknownTokens[1].Token = 0x00
1133pp_data->cap[23]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1134pp_data->cap[23]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1135pp_data->cap[23]->pp_cap->UnknownTokens[2].Token = 0x00
1136pp_data->cap[23]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1137pp_data->cap[23]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1138pp_data->cap[23]->pp_cap->UnknownTokens[3].Token = 0x00
1139pp_data->cap[23]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1140pp_data->cap[23]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1141pp_data->cap[23]->NotRange.Usage = 0x0018
1142pp_data->cap[23]->NotRange.Reserved1 = 0x0018
1143pp_data->cap[23]->NotRange.StringIndex = 0
1144pp_data->cap[23]->NotRange.Reserved2 = 0
1145pp_data->cap[23]->NotRange.DesignatorIndex = 0
1146pp_data->cap[23]->NotRange.Reserved3 = 0
1147pp_data->cap[23]->NotRange.DataIndex = 7
1148pp_data->cap[23]->NotRange.Reserved4 = 7
1149pp_data->cap[23]->Button.LogicalMin = 0
1150pp_data->cap[23]->Button.LogicalMax = 0
1151pp_data->cap[23]->Units = 0
1152pp_data->cap[23]->UnitsExp = 0
1153
1154pp_data->cap[24]->UsagePage = 0xFFA0
1155pp_data->cap[24]->ReportID = 0x1B
1156pp_data->cap[24]->BitPosition = 1
1157pp_data->cap[24]->BitSize = 1
1158pp_data->cap[24]->ReportCount = 1
1159pp_data->cap[24]->BytePosition = 0x0002
1160pp_data->cap[24]->BitCount = 1
1161pp_data->cap[24]->BitField = 0x22
1162pp_data->cap[24]->NextBytePosition = 0x0003
1163pp_data->cap[24]->LinkCollection = 0x0000
1164pp_data->cap[24]->LinkUsagePage = 0xFFA0
1165pp_data->cap[24]->LinkUsage = 0x0003
1166pp_data->cap[24]->IsMultipleItemsForArray = 0
1167pp_data->cap[24]->IsButtonCap = 1
1168pp_data->cap[24]->IsPadding = 0
1169pp_data->cap[24]->IsAbsolute = 1
1170pp_data->cap[24]->IsRange = 0
1171pp_data->cap[24]->IsAlias = 0
1172pp_data->cap[24]->IsStringRange = 0
1173pp_data->cap[24]->IsDesignatorRange = 0
1174pp_data->cap[24]->Reserved1 = 0x000000
1175pp_data->cap[24]->pp_cap->UnknownTokens[0].Token = 0x00
1176pp_data->cap[24]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1177pp_data->cap[24]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1178pp_data->cap[24]->pp_cap->UnknownTokens[1].Token = 0x00
1179pp_data->cap[24]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1180pp_data->cap[24]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1181pp_data->cap[24]->pp_cap->UnknownTokens[2].Token = 0x00
1182pp_data->cap[24]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1183pp_data->cap[24]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1184pp_data->cap[24]->pp_cap->UnknownTokens[3].Token = 0x00
1185pp_data->cap[24]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1186pp_data->cap[24]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1187pp_data->cap[24]->NotRange.Usage = 0x0017
1188pp_data->cap[24]->NotRange.Reserved1 = 0x0017
1189pp_data->cap[24]->NotRange.StringIndex = 0
1190pp_data->cap[24]->NotRange.Reserved2 = 0
1191pp_data->cap[24]->NotRange.DesignatorIndex = 0
1192pp_data->cap[24]->NotRange.Reserved3 = 0
1193pp_data->cap[24]->NotRange.DataIndex = 8
1194pp_data->cap[24]->NotRange.Reserved4 = 8
1195pp_data->cap[24]->Button.LogicalMin = 0
1196pp_data->cap[24]->Button.LogicalMax = 0
1197pp_data->cap[24]->Units = 0
1198pp_data->cap[24]->UnitsExp = 0
1199
1200pp_data->cap[25]->UsagePage = 0xFFA0
1201pp_data->cap[25]->ReportID = 0x1B
1202pp_data->cap[25]->BitPosition = 0
1203pp_data->cap[25]->BitSize = 1
1204pp_data->cap[25]->ReportCount = 1
1205pp_data->cap[25]->BytePosition = 0x0002
1206pp_data->cap[25]->BitCount = 1
1207pp_data->cap[25]->BitField = 0x22
1208pp_data->cap[25]->NextBytePosition = 0x0003
1209pp_data->cap[25]->LinkCollection = 0x0000
1210pp_data->cap[25]->LinkUsagePage = 0xFFA0
1211pp_data->cap[25]->LinkUsage = 0x0003
1212pp_data->cap[25]->IsMultipleItemsForArray = 0
1213pp_data->cap[25]->IsButtonCap = 1
1214pp_data->cap[25]->IsPadding = 0
1215pp_data->cap[25]->IsAbsolute = 1
1216pp_data->cap[25]->IsRange = 0
1217pp_data->cap[25]->IsAlias = 0
1218pp_data->cap[25]->IsStringRange = 0
1219pp_data->cap[25]->IsDesignatorRange = 0
1220pp_data->cap[25]->Reserved1 = 0x000000
1221pp_data->cap[25]->pp_cap->UnknownTokens[0].Token = 0x00
1222pp_data->cap[25]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1223pp_data->cap[25]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1224pp_data->cap[25]->pp_cap->UnknownTokens[1].Token = 0x00
1225pp_data->cap[25]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1226pp_data->cap[25]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1227pp_data->cap[25]->pp_cap->UnknownTokens[2].Token = 0x00
1228pp_data->cap[25]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1229pp_data->cap[25]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1230pp_data->cap[25]->pp_cap->UnknownTokens[3].Token = 0x00
1231pp_data->cap[25]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1232pp_data->cap[25]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1233pp_data->cap[25]->NotRange.Usage = 0x0009
1234pp_data->cap[25]->NotRange.Reserved1 = 0x0009
1235pp_data->cap[25]->NotRange.StringIndex = 0
1236pp_data->cap[25]->NotRange.Reserved2 = 0
1237pp_data->cap[25]->NotRange.DesignatorIndex = 0
1238pp_data->cap[25]->NotRange.Reserved3 = 0
1239pp_data->cap[25]->NotRange.DataIndex = 9
1240pp_data->cap[25]->NotRange.Reserved4 = 9
1241pp_data->cap[25]->Button.LogicalMin = 0
1242pp_data->cap[25]->Button.LogicalMax = 0
1243pp_data->cap[25]->Units = 0
1244pp_data->cap[25]->UnitsExp = 0
1245
1246# Link Collections:
1247pp_data->LinkCollectionArray[0]->LinkUsage = 0x0003
1248pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFFA0
1249pp_data->LinkCollectionArray[0]->Parent = 0
1250pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
1251pp_data->LinkCollectionArray[0]->NextSibling = 0
1252pp_data->LinkCollectionArray[0]->FirstChild = 0
1253pp_data->LinkCollectionArray[0]->CollectionType = 1
1254pp_data->LinkCollectionArray[0]->IsAlias = 0
1255pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_expected.rpt_desc
new file mode 100644
index 0000000..ef059c4
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_expected.rpt_desc
@@ -0,0 +1,24 @@
10x06, 0xA0, 0xFF, 0x09, 0x03, 0xA1, 0x01, 0x85, 0x03, 0x09,
20x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
30x02, 0x85, 0x14, 0x09, 0xB1, 0x09, 0xB2, 0x09, 0xB5, 0x09,
40xB7, 0x09, 0xB3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
50x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85,
60x15, 0x09, 0x8C, 0x15, 0x00, 0x27, 0xFF, 0xFF, 0x00, 0x00,
70x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1F, 0x09, 0x9C,
80x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
90x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30,
100x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02,
110x85, 0x19, 0x09, 0x8D, 0x09, 0x8F, 0x09, 0x9E, 0x09, 0xDC,
120x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22,
130x09, 0xD2, 0x09, 0xD9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
140x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03,
150x85, 0x1A, 0x09, 0xB5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
160x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
170x85, 0x1B, 0x09, 0xCF, 0x09, 0xB5, 0x15, 0x00, 0x25, 0x01,
180x75, 0x01, 0x95, 0x02, 0xB1, 0x22, 0x09, 0xDE, 0x15, 0x00,
190x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xB1, 0x23, 0x09, 0xD8,
200x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xB1, 0x22,
210x75, 0x04, 0x95, 0x01, 0xB1, 0x03, 0x09, 0x09, 0x09, 0x17,
220x09, 0x18, 0x09, 0x1E, 0x09, 0x20, 0x09, 0x2A, 0x15, 0x00,
230x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xB1, 0x22, 0x75, 0x02,
240x95, 0x01, 0xB1, 0x03, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_real.rpt_desc
new file mode 100644
index 0000000..7532fd1
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0003_FFA0_real.rpt_desc
@@ -0,0 +1,113 @@
1macOS USB Prober about 0x047F/0xC056 "Plantronics Blackwire 3220 Series"
206 A0 FF 09 03 A1 01 85 03 09 30 75
308 95 20 91 02 85 03 09 30 75 08 95 20 81 02 85
414 09 B1 09 B2 09 B5 09 B7 09 B3 15 00 25 01 75
501 95 05 81 06 95 03 81 01 85 15 09 8C 15 00 27
6FF FF 00 00 75 10 95 01 81 22 85 19 09 8D 09 8F
709 9E 09 DC 15 00 25 01 75 01 95 04 91 22 09 D2
809 D9 15 00 25 01 75 01 95 02 91 06 95 02 91 01
985 1A 09 B5 15 00 25 01 75 01 95 01 91 22 95 07
1091 01 85 1B 09 CF 09 B5 75 01 95 02 B1 22 09 DE
1175 01 95 01 B1 23 09 D8 95 01 B1 22 95 04 B1 01
1209 09 09 17 09 18 09 1E 09 20 09 2A 75 01 95 06
13B1 22 95 02 B1 01 85 1F 09 9C 75 01 95 01 81 06
1495 07 81 01 C0
15
16Parser output:
170x06, 0xA0, 0xFF, // Usage Page (Vendor Defined 0xFFA0)
180x09, 0x03, // Usage (0x03)
190xA1, 0x01, // Collection (Application)
200x85, 0x03, // Report ID (3)
210x09, 0x30, // Usage (0x30)
220x75, 0x08, // Report Size (8)
230x95, 0x20, // Report Count (32)
240x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
250x85, 0x03, // Report ID (3)
260x09, 0x30, // Usage (0x30)
270x75, 0x08, // Report Size (8)
280x95, 0x20, // Report Count (32)
290x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
300x85, 0x14, // Report ID (20)
310x09, 0xB1, // Usage (0xB1)
320x09, 0xB2, // Usage (0xB2)
330x09, 0xB5, // Usage (0xB5)
340x09, 0xB7, // Usage (0xB7)
350x09, 0xB3, // Usage (0xB3)
360x15, 0x00, // Logical Minimum (0)
370x25, 0x01, // Logical Maximum (1)
380x75, 0x01, // Report Size (1)
390x95, 0x05, // Report Count (5)
400x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
410x95, 0x03, // Report Count (3)
420x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
430x85, 0x15, // Report ID (21)
440x09, 0x8C, // Usage (0x8C)
450x15, 0x00, // Logical Minimum (0)
460x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65534)
470x75, 0x10, // Report Size (16)
480x95, 0x01, // Report Count (1)
490x81, 0x22, // Input (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position)
500x85, 0x19, // Report ID (25)
510x09, 0x8D, // Usage (0x8D)
520x09, 0x8F, // Usage (0x8F)
530x09, 0x9E, // Usage (0x9E)
540x09, 0xDC, // Usage (0xDC)
550x15, 0x00, // Logical Minimum (0)
560x25, 0x01, // Logical Maximum (1)
570x75, 0x01, // Report Size (1)
580x95, 0x04, // Report Count (4)
590x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
600x09, 0xD2, // Usage (0xD2)
610x09, 0xD9, // Usage (0xD9)
620x15, 0x00, // Logical Minimum (0)
630x25, 0x01, // Logical Maximum (1)
640x75, 0x01, // Report Size (1)
650x95, 0x02, // Report Count (2)
660x91, 0x06, // Output (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
670x95, 0x02, // Report Count (2)
680x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
690x85, 0x1A, // Report ID (26)
700x09, 0xB5, // Usage (0xB5)
710x15, 0x00, // Logical Minimum (0)
720x25, 0x01, // Logical Maximum (1)
730x75, 0x01, // Report Size (1)
740x95, 0x01, // Report Count (1)
750x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
760x95, 0x07, // Report Count (7)
770x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
780x85, 0x1B, // Report ID (27)
790x09, 0xCF, // Usage (0xCF)
800x09, 0xB5, // Usage (0xB5)
810x75, 0x01, // Report Size (1)
820x95, 0x02, // Report Count (2)
830xB1, 0x22, // Feature (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
840x09, 0xDE, // Usage (0xDE)
850x75, 0x01, // Report Size (1)
860x95, 0x01, // Report Count (1)
870xB1, 0x23, // Feature (Const,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
880x09, 0xD8, // Usage (0xD8)
890x95, 0x01, // Report Count (1)
900xB1, 0x22, // Feature (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
910x95, 0x04, // Report Count (4)
920xB1, 0x01, // Feature (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
930x09, 0x09, // Usage (0x09)
940x09, 0x17, // Usage (0x17)
950x09, 0x18, // Usage (0x18)
960x09, 0x1E, // Usage (0x1E)
970x09, 0x20, // Usage (0x20)
980x09, 0x2A, // Usage (0x2A)
990x75, 0x01, // Report Size (1)
1000x95, 0x06, // Report Count (6)
1010xB1, 0x22, // Feature (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
1020x95, 0x02, // Report Count (2)
1030xB1, 0x01, // Feature (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
1040x85, 0x1F, // Report ID (31)
1050x09, 0x9C, // Usage (0x9C)
1060x75, 0x01, // Report Size (1)
1070x95, 0x01, // Report Count (1)
1080x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
1090x95, 0x07, // Report Count (7)
1100x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
1110xC0, // End Collection
112
113// 193 bytes
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B.pp_data
new file mode 100644
index 0000000..583c317
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B.pp_data
@@ -0,0 +1,461 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x047F
3dev->product_id = 0xC056
4dev->manufacturer_string = "Plantronics"
5dev->product_string = "Plantronics Blackwire 3220 Series"
6dev->release_number = 0x0210
7dev->interface_number = 3
8dev->usage = 0x0005
9dev->usage_page = 0x000B
10dev->path = "\\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0005
15pp_data->UsagePage = 0x000B
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 3
20pp_data->caps_info[0]->NumberOfCaps = 3
21pp_data->caps_info[0]->ReportByteLength = 2
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 3
24pp_data->caps_info[1]->LastCap = 9
25pp_data->caps_info[1]->NumberOfCaps = 6
26pp_data->caps_info[1]->ReportByteLength = 2
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 9
29pp_data->caps_info[2]->LastCap = 9
30pp_data->caps_info[2]->NumberOfCaps = 0
31pp_data->caps_info[2]->ReportByteLength = 0
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x03A8
34pp_data->NumberLinkCollectionNodes = 1
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0x000B
37pp_data->cap[0]->ReportID = 0x08
38pp_data->cap[0]->BitPosition = 0
39pp_data->cap[0]->BitSize = 1
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0001
42pp_data->cap[0]->BitCount = 1
43pp_data->cap[0]->BitField = 0x06
44pp_data->cap[0]->NextBytePosition = 0x0002
45pp_data->cap[0]->LinkCollection = 0x0000
46pp_data->cap[0]->LinkUsagePage = 0x000B
47pp_data->cap[0]->LinkUsage = 0x0005
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 1
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 0
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x002F
70pp_data->cap[0]->NotRange.Reserved1 = 0x002F
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->Button.LogicalMin = 0
78pp_data->cap[0]->Button.LogicalMax = 0
79pp_data->cap[0]->Units = 0
80pp_data->cap[0]->UnitsExp = 0
81
82pp_data->cap[1]->UsagePage = 0x000B
83pp_data->cap[1]->ReportID = 0x08
84pp_data->cap[1]->BitPosition = 2
85pp_data->cap[1]->BitSize = 1
86pp_data->cap[1]->ReportCount = 1
87pp_data->cap[1]->BytePosition = 0x0001
88pp_data->cap[1]->BitCount = 1
89pp_data->cap[1]->BitField = 0x22
90pp_data->cap[1]->NextBytePosition = 0x0002
91pp_data->cap[1]->LinkCollection = 0x0000
92pp_data->cap[1]->LinkUsagePage = 0x000B
93pp_data->cap[1]->LinkUsage = 0x0005
94pp_data->cap[1]->IsMultipleItemsForArray = 0
95pp_data->cap[1]->IsButtonCap = 1
96pp_data->cap[1]->IsPadding = 0
97pp_data->cap[1]->IsAbsolute = 1
98pp_data->cap[1]->IsRange = 0
99pp_data->cap[1]->IsAlias = 0
100pp_data->cap[1]->IsStringRange = 0
101pp_data->cap[1]->IsDesignatorRange = 0
102pp_data->cap[1]->Reserved1 = 0x000
103pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
104pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
105pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
106pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
107pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
108pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
109pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
110pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
111pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
112pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
113pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
114pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
115pp_data->cap[1]->NotRange.Usage = 0x0021
116pp_data->cap[1]->NotRange.Reserved1 = 0x0021
117pp_data->cap[1]->NotRange.StringIndex = 0
118pp_data->cap[1]->NotRange.Reserved2 = 0
119pp_data->cap[1]->NotRange.DesignatorIndex = 0
120pp_data->cap[1]->NotRange.Reserved3 = 0
121pp_data->cap[1]->NotRange.DataIndex = 1
122pp_data->cap[1]->NotRange.Reserved4 = 1
123pp_data->cap[1]->Button.LogicalMin = 0
124pp_data->cap[1]->Button.LogicalMax = 0
125pp_data->cap[1]->Units = 0
126pp_data->cap[1]->UnitsExp = 0
127
128pp_data->cap[2]->UsagePage = 0x000B
129pp_data->cap[2]->ReportID = 0x08
130pp_data->cap[2]->BitPosition = 1
131pp_data->cap[2]->BitSize = 1
132pp_data->cap[2]->ReportCount = 1
133pp_data->cap[2]->BytePosition = 0x0001
134pp_data->cap[2]->BitCount = 1
135pp_data->cap[2]->BitField = 0x22
136pp_data->cap[2]->NextBytePosition = 0x0002
137pp_data->cap[2]->LinkCollection = 0x0000
138pp_data->cap[2]->LinkUsagePage = 0x000B
139pp_data->cap[2]->LinkUsage = 0x0005
140pp_data->cap[2]->IsMultipleItemsForArray = 0
141pp_data->cap[2]->IsButtonCap = 1
142pp_data->cap[2]->IsPadding = 0
143pp_data->cap[2]->IsAbsolute = 1
144pp_data->cap[2]->IsRange = 0
145pp_data->cap[2]->IsAlias = 0
146pp_data->cap[2]->IsStringRange = 0
147pp_data->cap[2]->IsDesignatorRange = 0
148pp_data->cap[2]->Reserved1 = 0x000
149pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
150pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
151pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
152pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
153pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
154pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
155pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
156pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
157pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
158pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
159pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
160pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
161pp_data->cap[2]->NotRange.Usage = 0x0020
162pp_data->cap[2]->NotRange.Reserved1 = 0x0020
163pp_data->cap[2]->NotRange.StringIndex = 0
164pp_data->cap[2]->NotRange.Reserved2 = 0
165pp_data->cap[2]->NotRange.DesignatorIndex = 0
166pp_data->cap[2]->NotRange.Reserved3 = 0
167pp_data->cap[2]->NotRange.DataIndex = 2
168pp_data->cap[2]->NotRange.Reserved4 = 2
169pp_data->cap[2]->Button.LogicalMin = 0
170pp_data->cap[2]->Button.LogicalMax = 0
171pp_data->cap[2]->Units = 0
172pp_data->cap[2]->UnitsExp = 0
173
174# Output hid_pp_cap struct:
175pp_data->cap[3]->UsagePage = 0x0008
176pp_data->cap[3]->ReportID = 0x09
177pp_data->cap[3]->BitPosition = 0
178pp_data->cap[3]->BitSize = 1
179pp_data->cap[3]->ReportCount = 1
180pp_data->cap[3]->BytePosition = 0x0001
181pp_data->cap[3]->BitCount = 1
182pp_data->cap[3]->BitField = 0x22
183pp_data->cap[3]->NextBytePosition = 0x0002
184pp_data->cap[3]->LinkCollection = 0x0000
185pp_data->cap[3]->LinkUsagePage = 0x000B
186pp_data->cap[3]->LinkUsage = 0x0005
187pp_data->cap[3]->IsMultipleItemsForArray = 0
188pp_data->cap[3]->IsButtonCap = 1
189pp_data->cap[3]->IsPadding = 0
190pp_data->cap[3]->IsAbsolute = 1
191pp_data->cap[3]->IsRange = 0
192pp_data->cap[3]->IsAlias = 0
193pp_data->cap[3]->IsStringRange = 0
194pp_data->cap[3]->IsDesignatorRange = 0
195pp_data->cap[3]->Reserved1 = 0x000
196pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
197pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
198pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
199pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
200pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
201pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
202pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
203pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
204pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
205pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
206pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
207pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
208pp_data->cap[3]->NotRange.Usage = 0x0009
209pp_data->cap[3]->NotRange.Reserved1 = 0x0009
210pp_data->cap[3]->NotRange.StringIndex = 0
211pp_data->cap[3]->NotRange.Reserved2 = 0
212pp_data->cap[3]->NotRange.DesignatorIndex = 0
213pp_data->cap[3]->NotRange.Reserved3 = 0
214pp_data->cap[3]->NotRange.DataIndex = 0
215pp_data->cap[3]->NotRange.Reserved4 = 0
216pp_data->cap[3]->Button.LogicalMin = 0
217pp_data->cap[3]->Button.LogicalMax = 0
218pp_data->cap[3]->Units = 0
219pp_data->cap[3]->UnitsExp = 0
220
221pp_data->cap[4]->UsagePage = 0x0008
222pp_data->cap[4]->ReportID = 0x17
223pp_data->cap[4]->BitPosition = 0
224pp_data->cap[4]->BitSize = 1
225pp_data->cap[4]->ReportCount = 1
226pp_data->cap[4]->BytePosition = 0x0001
227pp_data->cap[4]->BitCount = 1
228pp_data->cap[4]->BitField = 0x22
229pp_data->cap[4]->NextBytePosition = 0x0002
230pp_data->cap[4]->LinkCollection = 0x0000
231pp_data->cap[4]->LinkUsagePage = 0x000B
232pp_data->cap[4]->LinkUsage = 0x0005
233pp_data->cap[4]->IsMultipleItemsForArray = 0
234pp_data->cap[4]->IsButtonCap = 1
235pp_data->cap[4]->IsPadding = 0
236pp_data->cap[4]->IsAbsolute = 1
237pp_data->cap[4]->IsRange = 0
238pp_data->cap[4]->IsAlias = 0
239pp_data->cap[4]->IsStringRange = 0
240pp_data->cap[4]->IsDesignatorRange = 0
241pp_data->cap[4]->Reserved1 = 0x000
242pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
243pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
244pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
245pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
246pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
247pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
248pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
249pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
250pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
251pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
252pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
253pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
254pp_data->cap[4]->NotRange.Usage = 0x0017
255pp_data->cap[4]->NotRange.Reserved1 = 0x0017
256pp_data->cap[4]->NotRange.StringIndex = 0
257pp_data->cap[4]->NotRange.Reserved2 = 0
258pp_data->cap[4]->NotRange.DesignatorIndex = 0
259pp_data->cap[4]->NotRange.Reserved3 = 0
260pp_data->cap[4]->NotRange.DataIndex = 1
261pp_data->cap[4]->NotRange.Reserved4 = 1
262pp_data->cap[4]->Button.LogicalMin = 0
263pp_data->cap[4]->Button.LogicalMax = 0
264pp_data->cap[4]->Units = 0
265pp_data->cap[4]->UnitsExp = 0
266
267pp_data->cap[5]->UsagePage = 0x0008
268pp_data->cap[5]->ReportID = 0x18
269pp_data->cap[5]->BitPosition = 0
270pp_data->cap[5]->BitSize = 1
271pp_data->cap[5]->ReportCount = 1
272pp_data->cap[5]->BytePosition = 0x0001
273pp_data->cap[5]->BitCount = 1
274pp_data->cap[5]->BitField = 0x22
275pp_data->cap[5]->NextBytePosition = 0x0002
276pp_data->cap[5]->LinkCollection = 0x0000
277pp_data->cap[5]->LinkUsagePage = 0x000B
278pp_data->cap[5]->LinkUsage = 0x0005
279pp_data->cap[5]->IsMultipleItemsForArray = 0
280pp_data->cap[5]->IsButtonCap = 1
281pp_data->cap[5]->IsPadding = 0
282pp_data->cap[5]->IsAbsolute = 1
283pp_data->cap[5]->IsRange = 0
284pp_data->cap[5]->IsAlias = 0
285pp_data->cap[5]->IsStringRange = 0
286pp_data->cap[5]->IsDesignatorRange = 0
287pp_data->cap[5]->Reserved1 = 0x000
288pp_data->cap[5]->pp_cap->UnknownTokens[0].Token = 0x00
289pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
290pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
291pp_data->cap[5]->pp_cap->UnknownTokens[1].Token = 0x00
292pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
293pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
294pp_data->cap[5]->pp_cap->UnknownTokens[2].Token = 0x00
295pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
296pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
297pp_data->cap[5]->pp_cap->UnknownTokens[3].Token = 0x00
298pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
299pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
300pp_data->cap[5]->NotRange.Usage = 0x0018
301pp_data->cap[5]->NotRange.Reserved1 = 0x0018
302pp_data->cap[5]->NotRange.StringIndex = 0
303pp_data->cap[5]->NotRange.Reserved2 = 0
304pp_data->cap[5]->NotRange.DesignatorIndex = 0
305pp_data->cap[5]->NotRange.Reserved3 = 0
306pp_data->cap[5]->NotRange.DataIndex = 2
307pp_data->cap[5]->NotRange.Reserved4 = 2
308pp_data->cap[5]->Button.LogicalMin = 0
309pp_data->cap[5]->Button.LogicalMax = 0
310pp_data->cap[5]->Units = 0
311pp_data->cap[5]->UnitsExp = 0
312
313pp_data->cap[6]->UsagePage = 0x0008
314pp_data->cap[6]->ReportID = 0x1E
315pp_data->cap[6]->BitPosition = 0
316pp_data->cap[6]->BitSize = 1
317pp_data->cap[6]->ReportCount = 1
318pp_data->cap[6]->BytePosition = 0x0001
319pp_data->cap[6]->BitCount = 1
320pp_data->cap[6]->BitField = 0x22
321pp_data->cap[6]->NextBytePosition = 0x0002
322pp_data->cap[6]->LinkCollection = 0x0000
323pp_data->cap[6]->LinkUsagePage = 0x000B
324pp_data->cap[6]->LinkUsage = 0x0005
325pp_data->cap[6]->IsMultipleItemsForArray = 0
326pp_data->cap[6]->IsButtonCap = 1
327pp_data->cap[6]->IsPadding = 0
328pp_data->cap[6]->IsAbsolute = 1
329pp_data->cap[6]->IsRange = 0
330pp_data->cap[6]->IsAlias = 0
331pp_data->cap[6]->IsStringRange = 0
332pp_data->cap[6]->IsDesignatorRange = 0
333pp_data->cap[6]->Reserved1 = 0x000
334pp_data->cap[6]->pp_cap->UnknownTokens[0].Token = 0x00
335pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
336pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
337pp_data->cap[6]->pp_cap->UnknownTokens[1].Token = 0x00
338pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
339pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
340pp_data->cap[6]->pp_cap->UnknownTokens[2].Token = 0x00
341pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
342pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
343pp_data->cap[6]->pp_cap->UnknownTokens[3].Token = 0x00
344pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
345pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
346pp_data->cap[6]->NotRange.Usage = 0x001E
347pp_data->cap[6]->NotRange.Reserved1 = 0x001E
348pp_data->cap[6]->NotRange.StringIndex = 0
349pp_data->cap[6]->NotRange.Reserved2 = 0
350pp_data->cap[6]->NotRange.DesignatorIndex = 0
351pp_data->cap[6]->NotRange.Reserved3 = 0
352pp_data->cap[6]->NotRange.DataIndex = 3
353pp_data->cap[6]->NotRange.Reserved4 = 3
354pp_data->cap[6]->Button.LogicalMin = 0
355pp_data->cap[6]->Button.LogicalMax = 0
356pp_data->cap[6]->Units = 0
357pp_data->cap[6]->UnitsExp = 0
358
359pp_data->cap[7]->UsagePage = 0x0008
360pp_data->cap[7]->ReportID = 0x20
361pp_data->cap[7]->BitPosition = 0
362pp_data->cap[7]->BitSize = 1
363pp_data->cap[7]->ReportCount = 1
364pp_data->cap[7]->BytePosition = 0x0001
365pp_data->cap[7]->BitCount = 1
366pp_data->cap[7]->BitField = 0x22
367pp_data->cap[7]->NextBytePosition = 0x0002
368pp_data->cap[7]->LinkCollection = 0x0000
369pp_data->cap[7]->LinkUsagePage = 0x000B
370pp_data->cap[7]->LinkUsage = 0x0005
371pp_data->cap[7]->IsMultipleItemsForArray = 0
372pp_data->cap[7]->IsButtonCap = 1
373pp_data->cap[7]->IsPadding = 0
374pp_data->cap[7]->IsAbsolute = 1
375pp_data->cap[7]->IsRange = 0
376pp_data->cap[7]->IsAlias = 0
377pp_data->cap[7]->IsStringRange = 0
378pp_data->cap[7]->IsDesignatorRange = 0
379pp_data->cap[7]->Reserved1 = 0x000
380pp_data->cap[7]->pp_cap->UnknownTokens[0].Token = 0x00
381pp_data->cap[7]->pp_cap->UnknownTokens[0].Reserved = 0x000000
382pp_data->cap[7]->pp_cap->UnknownTokens[0].BitField = 0x00000000
383pp_data->cap[7]->pp_cap->UnknownTokens[1].Token = 0x00
384pp_data->cap[7]->pp_cap->UnknownTokens[1].Reserved = 0x000000
385pp_data->cap[7]->pp_cap->UnknownTokens[1].BitField = 0x00000000
386pp_data->cap[7]->pp_cap->UnknownTokens[2].Token = 0x00
387pp_data->cap[7]->pp_cap->UnknownTokens[2].Reserved = 0x000000
388pp_data->cap[7]->pp_cap->UnknownTokens[2].BitField = 0x00000000
389pp_data->cap[7]->pp_cap->UnknownTokens[3].Token = 0x00
390pp_data->cap[7]->pp_cap->UnknownTokens[3].Reserved = 0x000000
391pp_data->cap[7]->pp_cap->UnknownTokens[3].BitField = 0x00000000
392pp_data->cap[7]->NotRange.Usage = 0x0020
393pp_data->cap[7]->NotRange.Reserved1 = 0x0020
394pp_data->cap[7]->NotRange.StringIndex = 0
395pp_data->cap[7]->NotRange.Reserved2 = 0
396pp_data->cap[7]->NotRange.DesignatorIndex = 0
397pp_data->cap[7]->NotRange.Reserved3 = 0
398pp_data->cap[7]->NotRange.DataIndex = 4
399pp_data->cap[7]->NotRange.Reserved4 = 4
400pp_data->cap[7]->Button.LogicalMin = 0
401pp_data->cap[7]->Button.LogicalMax = 0
402pp_data->cap[7]->Units = 0
403pp_data->cap[7]->UnitsExp = 0
404
405pp_data->cap[8]->UsagePage = 0x0008
406pp_data->cap[8]->ReportID = 0x2A
407pp_data->cap[8]->BitPosition = 0
408pp_data->cap[8]->BitSize = 1
409pp_data->cap[8]->ReportCount = 1
410pp_data->cap[8]->BytePosition = 0x0001
411pp_data->cap[8]->BitCount = 1
412pp_data->cap[8]->BitField = 0x22
413pp_data->cap[8]->NextBytePosition = 0x0002
414pp_data->cap[8]->LinkCollection = 0x0000
415pp_data->cap[8]->LinkUsagePage = 0x000B
416pp_data->cap[8]->LinkUsage = 0x0005
417pp_data->cap[8]->IsMultipleItemsForArray = 0
418pp_data->cap[8]->IsButtonCap = 1
419pp_data->cap[8]->IsPadding = 0
420pp_data->cap[8]->IsAbsolute = 1
421pp_data->cap[8]->IsRange = 0
422pp_data->cap[8]->IsAlias = 0
423pp_data->cap[8]->IsStringRange = 0
424pp_data->cap[8]->IsDesignatorRange = 0
425pp_data->cap[8]->Reserved1 = 0x000
426pp_data->cap[8]->pp_cap->UnknownTokens[0].Token = 0x00
427pp_data->cap[8]->pp_cap->UnknownTokens[0].Reserved = 0x000000
428pp_data->cap[8]->pp_cap->UnknownTokens[0].BitField = 0x00000000
429pp_data->cap[8]->pp_cap->UnknownTokens[1].Token = 0x00
430pp_data->cap[8]->pp_cap->UnknownTokens[1].Reserved = 0x000000
431pp_data->cap[8]->pp_cap->UnknownTokens[1].BitField = 0x00000000
432pp_data->cap[8]->pp_cap->UnknownTokens[2].Token = 0x00
433pp_data->cap[8]->pp_cap->UnknownTokens[2].Reserved = 0x000000
434pp_data->cap[8]->pp_cap->UnknownTokens[2].BitField = 0x00000000
435pp_data->cap[8]->pp_cap->UnknownTokens[3].Token = 0x00
436pp_data->cap[8]->pp_cap->UnknownTokens[3].Reserved = 0x000000
437pp_data->cap[8]->pp_cap->UnknownTokens[3].BitField = 0x00000000
438pp_data->cap[8]->NotRange.Usage = 0x002A
439pp_data->cap[8]->NotRange.Reserved1 = 0x002A
440pp_data->cap[8]->NotRange.StringIndex = 0
441pp_data->cap[8]->NotRange.Reserved2 = 0
442pp_data->cap[8]->NotRange.DesignatorIndex = 0
443pp_data->cap[8]->NotRange.Reserved3 = 0
444pp_data->cap[8]->NotRange.DataIndex = 5
445pp_data->cap[8]->NotRange.Reserved4 = 5
446pp_data->cap[8]->Button.LogicalMin = 0
447pp_data->cap[8]->Button.LogicalMax = 0
448pp_data->cap[8]->Units = 0
449pp_data->cap[8]->UnitsExp = 0
450
451# Feature hid_pp_cap struct:
452# Link Collections:
453pp_data->LinkCollectionArray[0]->LinkUsage = 0x0005
454pp_data->LinkCollectionArray[0]->LinkUsagePage = 0x000B
455pp_data->LinkCollectionArray[0]->Parent = 0
456pp_data->LinkCollectionArray[0]->NumberOfChildren = 0
457pp_data->LinkCollectionArray[0]->NextSibling = 0
458pp_data->LinkCollectionArray[0]->FirstChild = 0
459pp_data->LinkCollectionArray[0]->CollectionType = 1
460pp_data->LinkCollectionArray[0]->IsAlias = 0
461pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_expected.rpt_desc
new file mode 100644
index 0000000..40962ac
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_expected.rpt_desc
@@ -0,0 +1,17 @@
10x05, 0x0B, 0x09, 0x05, 0xA1, 0x01, 0x85, 0x08, 0x09, 0x2F,
20x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
30x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
40x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03,
50x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01,
60x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
70x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01,
80x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
90x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01,
100x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
110x91, 0x03, 0x85, 0x1E, 0x09, 0x1E, 0x15, 0x00, 0x25, 0x01,
120x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
130x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
140x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
150x91, 0x03, 0x85, 0x2A, 0x09, 0x2A, 0x15, 0x00, 0x25, 0x01,
160x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
170x91, 0x03, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_real.rpt_desc
new file mode 100644
index 0000000..2fe387e
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/047F_C056_0005_000B_real.rpt_desc
@@ -0,0 +1,68 @@
1macOS USB Prober about 0x047F/0xC056 "Plantronics Blackwire 3220 Series"
205 0B 09 05 A1 01 85 08 15
300 25 01 09 2F 75 01 95 01 81 06 09 20 09 21 75
401 95 02 81 22 95 05 81 01 05 08 85 09 09 09 95
501 91 22 95 07 91 01 85 17 09 17 95 01 91 22 95
607 91 01 85 18 09 18 95 01 91 22 95 07 91 01 85
71E 09 1E 95 01 91 22 95 07 91 01 85 20 09 20 95
801 91 22 95 07 91 01 85 2A 09 2A 95 01 91 22 95
907 91 01 C0
10
11Parser output:
120x05, 0x0B, // Usage Page (Telephony)
130x09, 0x05, // Usage (Headset)
140xA1, 0x01, // Collection (Application)
150x85, 0x08, // Report ID (8)
160x15, 0x00, // Logical Minimum (0)
170x25, 0x01, // Logical Maximum (1)
180x09, 0x2F, // Usage (Phone Mute)
190x75, 0x01, // Report Size (1)
200x95, 0x01, // Report Count (1)
210x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
220x09, 0x20, // Usage (Hook Switch)
230x09, 0x21, // Usage (Flash)
240x75, 0x01, // Report Size (1)
250x95, 0x02, // Report Count (2)
260x81, 0x22, // Input (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position)
270x95, 0x05, // Report Count (5)
280x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
290x05, 0x08, // Usage Page (LEDs)
300x85, 0x09, // Report ID (9)
310x09, 0x09, // Usage (Mute)
320x95, 0x01, // Report Count (1)
330x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
340x95, 0x07, // Report Count (7)
350x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
360x85, 0x17, // Report ID (23)
370x09, 0x17, // Usage (Off-Hook)
380x95, 0x01, // Report Count (1)
390x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
400x95, 0x07, // Report Count (7)
410x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
420x85, 0x18, // Report ID (24)
430x09, 0x18, // Usage (Ring)
440x95, 0x01, // Report Count (1)
450x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
460x95, 0x07, // Report Count (7)
470x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
480x85, 0x1E, // Report ID (30)
490x09, 0x1E, // Usage (Speaker)
500x95, 0x01, // Report Count (1)
510x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
520x95, 0x07, // Report Count (7)
530x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
540x85, 0x20, // Report ID (32)
550x09, 0x20, // Usage (Hold)
560x95, 0x01, // Report Count (1)
570x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
580x95, 0x07, // Report Count (7)
590x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
600x85, 0x2A, // Report ID (42)
610x09, 0x2A, // Usage (On-Line)
620x95, 0x01, // Report Count (1)
630x91, 0x22, // Output (Data,Var,Abs,No Wrap,Linear,No Preferred State,No Null Position,Non-volatile)
640x95, 0x07, // Report Count (7)
650x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
660xC0, // End Collection
67
68// 109 bytes
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01.pp_data b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01.pp_data
new file mode 100644
index 0000000..acab8a6
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01.pp_data
@@ -0,0 +1,11508 @@
1# HIDAPI device info struct:
2dev->vendor_id = 0x17CC
3dev->product_id = 0x1130
4dev->manufacturer_string = "Native Instruments"
5dev->product_string = "Traktor Kontrol Z2"
6dev->release_number = 0x0033
7dev->interface_number = 4
8dev->usage = 0x0000
9dev->usage_page = 0xFF01
10dev->path = "\\?\hid#vid_17cc&pid_1130&mi_04#9&11d406cd&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
11
12# Preparsed Data struct:
13pp_data->MagicKey = 0x48696450204B4452
14pp_data->Usage = 0x0000
15pp_data->UsagePage = 0xFF01
16pp_data->Reserved = 0x00000000
17# Input caps_info struct:
18pp_data->caps_info[0]->FirstCap = 0
19pp_data->caps_info[0]->LastCap = 86
20pp_data->caps_info[0]->NumberOfCaps = 87
21pp_data->caps_info[0]->ReportByteLength = 53
22# Output caps_info struct:
23pp_data->caps_info[1]->FirstCap = 87
24pp_data->caps_info[1]->LastCap = 221
25pp_data->caps_info[1]->NumberOfCaps = 134
26pp_data->caps_info[1]->ReportByteLength = 95
27# Feature caps_info struct:
28pp_data->caps_info[2]->FirstCap = 221
29pp_data->caps_info[2]->LastCap = 232
30pp_data->caps_info[2]->NumberOfCaps = 11
31pp_data->caps_info[2]->ReportByteLength = 33
32# LinkCollectionArray Offset & Size:
33pp_data->FirstByteOfLinkCollectionArray = 0x5E40
34pp_data->NumberLinkCollectionNodes = 16
35# Input hid_pp_cap struct:
36pp_data->cap[0]->UsagePage = 0xFF01
37pp_data->cap[0]->ReportID = 0x01
38pp_data->cap[0]->BitPosition = 4
39pp_data->cap[0]->BitSize = 4
40pp_data->cap[0]->ReportCount = 1
41pp_data->cap[0]->BytePosition = 0x0002
42pp_data->cap[0]->BitCount = 4
43pp_data->cap[0]->BitField = 0x02
44pp_data->cap[0]->NextBytePosition = 0x0003
45pp_data->cap[0]->LinkCollection = 0x0001
46pp_data->cap[0]->LinkUsagePage = 0xFF01
47pp_data->cap[0]->LinkUsage = 0x0001
48pp_data->cap[0]->IsMultipleItemsForArray = 0
49pp_data->cap[0]->IsButtonCap = 0
50pp_data->cap[0]->IsPadding = 0
51pp_data->cap[0]->IsAbsolute = 1
52pp_data->cap[0]->IsRange = 0
53pp_data->cap[0]->IsAlias = 0
54pp_data->cap[0]->IsStringRange = 0
55pp_data->cap[0]->IsDesignatorRange = 0
56pp_data->cap[0]->Reserved1 = 0x000000
57pp_data->cap[0]->pp_cap->UnknownTokens[0].Token = 0x00
58pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
59pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
60pp_data->cap[0]->pp_cap->UnknownTokens[1].Token = 0x00
61pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
62pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
63pp_data->cap[0]->pp_cap->UnknownTokens[2].Token = 0x00
64pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
65pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
66pp_data->cap[0]->pp_cap->UnknownTokens[3].Token = 0x00
67pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
68pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
69pp_data->cap[0]->NotRange.Usage = 0x0003
70pp_data->cap[0]->NotRange.Reserved1 = 0x0003
71pp_data->cap[0]->NotRange.StringIndex = 0
72pp_data->cap[0]->NotRange.Reserved2 = 0
73pp_data->cap[0]->NotRange.DesignatorIndex = 0
74pp_data->cap[0]->NotRange.Reserved3 = 0
75pp_data->cap[0]->NotRange.DataIndex = 0
76pp_data->cap[0]->NotRange.Reserved4 = 0
77pp_data->cap[0]->NotButton.HasNull = 0
78pp_data->cap[0]->NotButton.Reserved4 = 0x000000
79pp_data->cap[0]->NotButton.LogicalMin = 0
80pp_data->cap[0]->NotButton.LogicalMax = 15
81pp_data->cap[0]->NotButton.PhysicalMin = 0
82pp_data->cap[0]->NotButton.PhysicalMax = 0
83pp_data->cap[0]->Units = 0
84pp_data->cap[0]->UnitsExp = 0
85
86pp_data->cap[1]->UsagePage = 0xFF01
87pp_data->cap[1]->ReportID = 0x01
88pp_data->cap[1]->BitPosition = 0
89pp_data->cap[1]->BitSize = 4
90pp_data->cap[1]->ReportCount = 1
91pp_data->cap[1]->BytePosition = 0x0002
92pp_data->cap[1]->BitCount = 4
93pp_data->cap[1]->BitField = 0x02
94pp_data->cap[1]->NextBytePosition = 0x0003
95pp_data->cap[1]->LinkCollection = 0x0001
96pp_data->cap[1]->LinkUsagePage = 0xFF01
97pp_data->cap[1]->LinkUsage = 0x0001
98pp_data->cap[1]->IsMultipleItemsForArray = 0
99pp_data->cap[1]->IsButtonCap = 0
100pp_data->cap[1]->IsPadding = 0
101pp_data->cap[1]->IsAbsolute = 1
102pp_data->cap[1]->IsRange = 0
103pp_data->cap[1]->IsAlias = 0
104pp_data->cap[1]->IsStringRange = 0
105pp_data->cap[1]->IsDesignatorRange = 0
106pp_data->cap[1]->Reserved1 = 0x000000
107pp_data->cap[1]->pp_cap->UnknownTokens[0].Token = 0x00
108pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
109pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
110pp_data->cap[1]->pp_cap->UnknownTokens[1].Token = 0x00
111pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
112pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
113pp_data->cap[1]->pp_cap->UnknownTokens[2].Token = 0x00
114pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
115pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
116pp_data->cap[1]->pp_cap->UnknownTokens[3].Token = 0x00
117pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
118pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
119pp_data->cap[1]->NotRange.Usage = 0x0003
120pp_data->cap[1]->NotRange.Reserved1 = 0x0003
121pp_data->cap[1]->NotRange.StringIndex = 0
122pp_data->cap[1]->NotRange.Reserved2 = 0
123pp_data->cap[1]->NotRange.DesignatorIndex = 0
124pp_data->cap[1]->NotRange.Reserved3 = 0
125pp_data->cap[1]->NotRange.DataIndex = 1
126pp_data->cap[1]->NotRange.Reserved4 = 1
127pp_data->cap[1]->NotButton.HasNull = 0
128pp_data->cap[1]->NotButton.Reserved4 = 0x000000
129pp_data->cap[1]->NotButton.LogicalMin = 0
130pp_data->cap[1]->NotButton.LogicalMax = 15
131pp_data->cap[1]->NotButton.PhysicalMin = 0
132pp_data->cap[1]->NotButton.PhysicalMax = 0
133pp_data->cap[1]->Units = 0
134pp_data->cap[1]->UnitsExp = 0
135
136pp_data->cap[2]->UsagePage = 0xFF01
137pp_data->cap[2]->ReportID = 0x01
138pp_data->cap[2]->BitPosition = 4
139pp_data->cap[2]->BitSize = 4
140pp_data->cap[2]->ReportCount = 1
141pp_data->cap[2]->BytePosition = 0x0001
142pp_data->cap[2]->BitCount = 4
143pp_data->cap[2]->BitField = 0x02
144pp_data->cap[2]->NextBytePosition = 0x0002
145pp_data->cap[2]->LinkCollection = 0x0001
146pp_data->cap[2]->LinkUsagePage = 0xFF01
147pp_data->cap[2]->LinkUsage = 0x0001
148pp_data->cap[2]->IsMultipleItemsForArray = 0
149pp_data->cap[2]->IsButtonCap = 0
150pp_data->cap[2]->IsPadding = 0
151pp_data->cap[2]->IsAbsolute = 1
152pp_data->cap[2]->IsRange = 0
153pp_data->cap[2]->IsAlias = 0
154pp_data->cap[2]->IsStringRange = 0
155pp_data->cap[2]->IsDesignatorRange = 0
156pp_data->cap[2]->Reserved1 = 0x000000
157pp_data->cap[2]->pp_cap->UnknownTokens[0].Token = 0x00
158pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
159pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
160pp_data->cap[2]->pp_cap->UnknownTokens[1].Token = 0x00
161pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
162pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
163pp_data->cap[2]->pp_cap->UnknownTokens[2].Token = 0x00
164pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
165pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
166pp_data->cap[2]->pp_cap->UnknownTokens[3].Token = 0x00
167pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
168pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
169pp_data->cap[2]->NotRange.Usage = 0x0003
170pp_data->cap[2]->NotRange.Reserved1 = 0x0003
171pp_data->cap[2]->NotRange.StringIndex = 0
172pp_data->cap[2]->NotRange.Reserved2 = 0
173pp_data->cap[2]->NotRange.DesignatorIndex = 0
174pp_data->cap[2]->NotRange.Reserved3 = 0
175pp_data->cap[2]->NotRange.DataIndex = 2
176pp_data->cap[2]->NotRange.Reserved4 = 2
177pp_data->cap[2]->NotButton.HasNull = 0
178pp_data->cap[2]->NotButton.Reserved4 = 0x000000
179pp_data->cap[2]->NotButton.LogicalMin = 0
180pp_data->cap[2]->NotButton.LogicalMax = 15
181pp_data->cap[2]->NotButton.PhysicalMin = 0
182pp_data->cap[2]->NotButton.PhysicalMax = 0
183pp_data->cap[2]->Units = 0
184pp_data->cap[2]->UnitsExp = 0
185
186pp_data->cap[3]->UsagePage = 0xFF01
187pp_data->cap[3]->ReportID = 0x01
188pp_data->cap[3]->BitPosition = 0
189pp_data->cap[3]->BitSize = 4
190pp_data->cap[3]->ReportCount = 1
191pp_data->cap[3]->BytePosition = 0x0001
192pp_data->cap[3]->BitCount = 4
193pp_data->cap[3]->BitField = 0x02
194pp_data->cap[3]->NextBytePosition = 0x0002
195pp_data->cap[3]->LinkCollection = 0x0001
196pp_data->cap[3]->LinkUsagePage = 0xFF01
197pp_data->cap[3]->LinkUsage = 0x0001
198pp_data->cap[3]->IsMultipleItemsForArray = 0
199pp_data->cap[3]->IsButtonCap = 0
200pp_data->cap[3]->IsPadding = 0
201pp_data->cap[3]->IsAbsolute = 1
202pp_data->cap[3]->IsRange = 0
203pp_data->cap[3]->IsAlias = 0
204pp_data->cap[3]->IsStringRange = 0
205pp_data->cap[3]->IsDesignatorRange = 0
206pp_data->cap[3]->Reserved1 = 0x000000
207pp_data->cap[3]->pp_cap->UnknownTokens[0].Token = 0x00
208pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
209pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
210pp_data->cap[3]->pp_cap->UnknownTokens[1].Token = 0x00
211pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
212pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
213pp_data->cap[3]->pp_cap->UnknownTokens[2].Token = 0x00
214pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
215pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
216pp_data->cap[3]->pp_cap->UnknownTokens[3].Token = 0x00
217pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
218pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
219pp_data->cap[3]->NotRange.Usage = 0x0003
220pp_data->cap[3]->NotRange.Reserved1 = 0x0003
221pp_data->cap[3]->NotRange.StringIndex = 0
222pp_data->cap[3]->NotRange.Reserved2 = 0
223pp_data->cap[3]->NotRange.DesignatorIndex = 0
224pp_data->cap[3]->NotRange.Reserved3 = 0
225pp_data->cap[3]->NotRange.DataIndex = 3
226pp_data->cap[3]->NotRange.Reserved4 = 3
227pp_data->cap[3]->NotButton.HasNull = 0
228pp_data->cap[3]->NotButton.Reserved4 = 0x000000
229pp_data->cap[3]->NotButton.LogicalMin = 0
230pp_data->cap[3]->NotButton.LogicalMax = 15
231pp_data->cap[3]->NotButton.PhysicalMin = 0
232pp_data->cap[3]->NotButton.PhysicalMax = 0
233pp_data->cap[3]->Units = 0
234pp_data->cap[3]->UnitsExp = 0
235
236pp_data->cap[4]->UsagePage = 0xFF01
237pp_data->cap[4]->ReportID = 0x01
238pp_data->cap[4]->BitPosition = 7
239pp_data->cap[4]->BitSize = 1
240pp_data->cap[4]->ReportCount = 1
241pp_data->cap[4]->BytePosition = 0x0008
242pp_data->cap[4]->BitCount = 1
243pp_data->cap[4]->BitField = 0x02
244pp_data->cap[4]->NextBytePosition = 0x0009
245pp_data->cap[4]->LinkCollection = 0x0001
246pp_data->cap[4]->LinkUsagePage = 0xFF01
247pp_data->cap[4]->LinkUsage = 0x0001
248pp_data->cap[4]->IsMultipleItemsForArray = 0
249pp_data->cap[4]->IsButtonCap = 1
250pp_data->cap[4]->IsPadding = 0
251pp_data->cap[4]->IsAbsolute = 1
252pp_data->cap[4]->IsRange = 0
253pp_data->cap[4]->IsAlias = 0
254pp_data->cap[4]->IsStringRange = 0
255pp_data->cap[4]->IsDesignatorRange = 0
256pp_data->cap[4]->Reserved1 = 0x000000
257pp_data->cap[4]->pp_cap->UnknownTokens[0].Token = 0x00
258pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
259pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
260pp_data->cap[4]->pp_cap->UnknownTokens[1].Token = 0x00
261pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
262pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
263pp_data->cap[4]->pp_cap->UnknownTokens[2].Token = 0x00
264pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
265pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
266pp_data->cap[4]->pp_cap->UnknownTokens[3].Token = 0x00
267pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
268pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
269pp_data->cap[4]->NotRange.Usage = 0x0002
270pp_data->cap[4]->NotRange.Reserved1 = 0x0002
271pp_data->cap[4]->NotRange.StringIndex = 0
272pp_data->cap[4]->NotRange.Reserved2 = 0
273pp_data->cap[4]->NotRange.DesignatorIndex = 0
274pp_data->cap[4]->NotRange.Reserved3 = 0
275pp_data->cap[4]->NotRange.DataIndex = 4
276pp_data->cap[4]->NotRange.Reserved4 = 4
277pp_data->cap[4]->Button.LogicalMin = 0
278pp_data->cap[4]->Button.LogicalMax = 0
279pp_data->cap[4]->Units = 0
280pp_data->cap[4]->UnitsExp = 0
281
282pp_data->cap[5]->UsagePage = 0xFF01
283pp_data->cap[5]->ReportID = 0x01
284pp_data->cap[5]->BitPosition = 6
285pp_data->cap[5]->BitSize = 1
286pp_data->cap[5]->ReportCount = 1
287pp_data->cap[5]->BytePosition = 0x0008
288pp_data->cap[5]->BitCount = 1
289pp_data->cap[5]->BitField = 0x02
290pp_data->cap[5]->NextBytePosition = 0x0009
291pp_data->cap[5]->LinkCollection = 0x0001
292pp_data->cap[5]->LinkUsagePage = 0xFF01
293pp_data->cap[5]->LinkUsage = 0x0001
294pp_data->cap[5]->IsMultipleItemsForArray = 0
295pp_data->cap[5]->IsButtonCap = 1
296pp_data->cap[5]->IsPadding = 0
297pp_data->cap[5]->IsAbsolute = 1
298pp_data->cap[5]->IsRange = 0
299pp_data->cap[5]->IsAlias = 0
300pp_data->cap[5]->IsStringRange = 0
301pp_data->cap[5]->IsDesignatorRange = 0
302pp_data->cap[5]->Reserved1 = 0x000000
303pp_data->cap[5]->pp_cap->UnknownTokens[0].Token = 0x00
304pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
305pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
306pp_data->cap[5]->pp_cap->UnknownTokens[1].Token = 0x00
307pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
308pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
309pp_data->cap[5]->pp_cap->UnknownTokens[2].Token = 0x00
310pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
311pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
312pp_data->cap[5]->pp_cap->UnknownTokens[3].Token = 0x00
313pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
314pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
315pp_data->cap[5]->NotRange.Usage = 0x0002
316pp_data->cap[5]->NotRange.Reserved1 = 0x0002
317pp_data->cap[5]->NotRange.StringIndex = 0
318pp_data->cap[5]->NotRange.Reserved2 = 0
319pp_data->cap[5]->NotRange.DesignatorIndex = 0
320pp_data->cap[5]->NotRange.Reserved3 = 0
321pp_data->cap[5]->NotRange.DataIndex = 5
322pp_data->cap[5]->NotRange.Reserved4 = 5
323pp_data->cap[5]->Button.LogicalMin = 0
324pp_data->cap[5]->Button.LogicalMax = 0
325pp_data->cap[5]->Units = 0
326pp_data->cap[5]->UnitsExp = 0
327
328pp_data->cap[6]->UsagePage = 0xFF01
329pp_data->cap[6]->ReportID = 0x01
330pp_data->cap[6]->BitPosition = 5
331pp_data->cap[6]->BitSize = 1
332pp_data->cap[6]->ReportCount = 1
333pp_data->cap[6]->BytePosition = 0x0008
334pp_data->cap[6]->BitCount = 1
335pp_data->cap[6]->BitField = 0x02
336pp_data->cap[6]->NextBytePosition = 0x0009
337pp_data->cap[6]->LinkCollection = 0x0001
338pp_data->cap[6]->LinkUsagePage = 0xFF01
339pp_data->cap[6]->LinkUsage = 0x0001
340pp_data->cap[6]->IsMultipleItemsForArray = 0
341pp_data->cap[6]->IsButtonCap = 1
342pp_data->cap[6]->IsPadding = 0
343pp_data->cap[6]->IsAbsolute = 1
344pp_data->cap[6]->IsRange = 0
345pp_data->cap[6]->IsAlias = 0
346pp_data->cap[6]->IsStringRange = 0
347pp_data->cap[6]->IsDesignatorRange = 0
348pp_data->cap[6]->Reserved1 = 0x000000
349pp_data->cap[6]->pp_cap->UnknownTokens[0].Token = 0x00
350pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
351pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
352pp_data->cap[6]->pp_cap->UnknownTokens[1].Token = 0x00
353pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
354pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
355pp_data->cap[6]->pp_cap->UnknownTokens[2].Token = 0x00
356pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
357pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
358pp_data->cap[6]->pp_cap->UnknownTokens[3].Token = 0x00
359pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
360pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
361pp_data->cap[6]->NotRange.Usage = 0x0002
362pp_data->cap[6]->NotRange.Reserved1 = 0x0002
363pp_data->cap[6]->NotRange.StringIndex = 0
364pp_data->cap[6]->NotRange.Reserved2 = 0
365pp_data->cap[6]->NotRange.DesignatorIndex = 0
366pp_data->cap[6]->NotRange.Reserved3 = 0
367pp_data->cap[6]->NotRange.DataIndex = 6
368pp_data->cap[6]->NotRange.Reserved4 = 6
369pp_data->cap[6]->Button.LogicalMin = 0
370pp_data->cap[6]->Button.LogicalMax = 0
371pp_data->cap[6]->Units = 0
372pp_data->cap[6]->UnitsExp = 0
373
374pp_data->cap[7]->UsagePage = 0xFF01
375pp_data->cap[7]->ReportID = 0x01
376pp_data->cap[7]->BitPosition = 4
377pp_data->cap[7]->BitSize = 1
378pp_data->cap[7]->ReportCount = 1
379pp_data->cap[7]->BytePosition = 0x0008
380pp_data->cap[7]->BitCount = 1
381pp_data->cap[7]->BitField = 0x02
382pp_data->cap[7]->NextBytePosition = 0x0009
383pp_data->cap[7]->LinkCollection = 0x0001
384pp_data->cap[7]->LinkUsagePage = 0xFF01
385pp_data->cap[7]->LinkUsage = 0x0001
386pp_data->cap[7]->IsMultipleItemsForArray = 0
387pp_data->cap[7]->IsButtonCap = 1
388pp_data->cap[7]->IsPadding = 0
389pp_data->cap[7]->IsAbsolute = 1
390pp_data->cap[7]->IsRange = 0
391pp_data->cap[7]->IsAlias = 0
392pp_data->cap[7]->IsStringRange = 0
393pp_data->cap[7]->IsDesignatorRange = 0
394pp_data->cap[7]->Reserved1 = 0x000000
395pp_data->cap[7]->pp_cap->UnknownTokens[0].Token = 0x00
396pp_data->cap[7]->pp_cap->UnknownTokens[0].Reserved = 0x000000
397pp_data->cap[7]->pp_cap->UnknownTokens[0].BitField = 0x00000000
398pp_data->cap[7]->pp_cap->UnknownTokens[1].Token = 0x00
399pp_data->cap[7]->pp_cap->UnknownTokens[1].Reserved = 0x000000
400pp_data->cap[7]->pp_cap->UnknownTokens[1].BitField = 0x00000000
401pp_data->cap[7]->pp_cap->UnknownTokens[2].Token = 0x00
402pp_data->cap[7]->pp_cap->UnknownTokens[2].Reserved = 0x000000
403pp_data->cap[7]->pp_cap->UnknownTokens[2].BitField = 0x00000000
404pp_data->cap[7]->pp_cap->UnknownTokens[3].Token = 0x00
405pp_data->cap[7]->pp_cap->UnknownTokens[3].Reserved = 0x000000
406pp_data->cap[7]->pp_cap->UnknownTokens[3].BitField = 0x00000000
407pp_data->cap[7]->NotRange.Usage = 0x0002
408pp_data->cap[7]->NotRange.Reserved1 = 0x0002
409pp_data->cap[7]->NotRange.StringIndex = 0
410pp_data->cap[7]->NotRange.Reserved2 = 0
411pp_data->cap[7]->NotRange.DesignatorIndex = 0
412pp_data->cap[7]->NotRange.Reserved3 = 0
413pp_data->cap[7]->NotRange.DataIndex = 7
414pp_data->cap[7]->NotRange.Reserved4 = 7
415pp_data->cap[7]->Button.LogicalMin = 0
416pp_data->cap[7]->Button.LogicalMax = 0
417pp_data->cap[7]->Units = 0
418pp_data->cap[7]->UnitsExp = 0
419
420pp_data->cap[8]->UsagePage = 0xFF01
421pp_data->cap[8]->ReportID = 0x01
422pp_data->cap[8]->BitPosition = 3
423pp_data->cap[8]->BitSize = 1
424pp_data->cap[8]->ReportCount = 1
425pp_data->cap[8]->BytePosition = 0x0008
426pp_data->cap[8]->BitCount = 1
427pp_data->cap[8]->BitField = 0x02
428pp_data->cap[8]->NextBytePosition = 0x0009
429pp_data->cap[8]->LinkCollection = 0x0001
430pp_data->cap[8]->LinkUsagePage = 0xFF01
431pp_data->cap[8]->LinkUsage = 0x0001
432pp_data->cap[8]->IsMultipleItemsForArray = 0
433pp_data->cap[8]->IsButtonCap = 1
434pp_data->cap[8]->IsPadding = 0
435pp_data->cap[8]->IsAbsolute = 1
436pp_data->cap[8]->IsRange = 0
437pp_data->cap[8]->IsAlias = 0
438pp_data->cap[8]->IsStringRange = 0
439pp_data->cap[8]->IsDesignatorRange = 0
440pp_data->cap[8]->Reserved1 = 0x000000
441pp_data->cap[8]->pp_cap->UnknownTokens[0].Token = 0x00
442pp_data->cap[8]->pp_cap->UnknownTokens[0].Reserved = 0x000000
443pp_data->cap[8]->pp_cap->UnknownTokens[0].BitField = 0x00000000
444pp_data->cap[8]->pp_cap->UnknownTokens[1].Token = 0x00
445pp_data->cap[8]->pp_cap->UnknownTokens[1].Reserved = 0x000000
446pp_data->cap[8]->pp_cap->UnknownTokens[1].BitField = 0x00000000
447pp_data->cap[8]->pp_cap->UnknownTokens[2].Token = 0x00
448pp_data->cap[8]->pp_cap->UnknownTokens[2].Reserved = 0x000000
449pp_data->cap[8]->pp_cap->UnknownTokens[2].BitField = 0x00000000
450pp_data->cap[8]->pp_cap->UnknownTokens[3].Token = 0x00
451pp_data->cap[8]->pp_cap->UnknownTokens[3].Reserved = 0x000000
452pp_data->cap[8]->pp_cap->UnknownTokens[3].BitField = 0x00000000
453pp_data->cap[8]->NotRange.Usage = 0x0002
454pp_data->cap[8]->NotRange.Reserved1 = 0x0002
455pp_data->cap[8]->NotRange.StringIndex = 0
456pp_data->cap[8]->NotRange.Reserved2 = 0
457pp_data->cap[8]->NotRange.DesignatorIndex = 0
458pp_data->cap[8]->NotRange.Reserved3 = 0
459pp_data->cap[8]->NotRange.DataIndex = 8
460pp_data->cap[8]->NotRange.Reserved4 = 8
461pp_data->cap[8]->Button.LogicalMin = 0
462pp_data->cap[8]->Button.LogicalMax = 0
463pp_data->cap[8]->Units = 0
464pp_data->cap[8]->UnitsExp = 0
465
466pp_data->cap[9]->UsagePage = 0xFF01
467pp_data->cap[9]->ReportID = 0x01
468pp_data->cap[9]->BitPosition = 2
469pp_data->cap[9]->BitSize = 1
470pp_data->cap[9]->ReportCount = 1
471pp_data->cap[9]->BytePosition = 0x0008
472pp_data->cap[9]->BitCount = 1
473pp_data->cap[9]->BitField = 0x02
474pp_data->cap[9]->NextBytePosition = 0x0009
475pp_data->cap[9]->LinkCollection = 0x0001
476pp_data->cap[9]->LinkUsagePage = 0xFF01
477pp_data->cap[9]->LinkUsage = 0x0001
478pp_data->cap[9]->IsMultipleItemsForArray = 0
479pp_data->cap[9]->IsButtonCap = 1
480pp_data->cap[9]->IsPadding = 0
481pp_data->cap[9]->IsAbsolute = 1
482pp_data->cap[9]->IsRange = 0
483pp_data->cap[9]->IsAlias = 0
484pp_data->cap[9]->IsStringRange = 0
485pp_data->cap[9]->IsDesignatorRange = 0
486pp_data->cap[9]->Reserved1 = 0x000000
487pp_data->cap[9]->pp_cap->UnknownTokens[0].Token = 0x00
488pp_data->cap[9]->pp_cap->UnknownTokens[0].Reserved = 0x000000
489pp_data->cap[9]->pp_cap->UnknownTokens[0].BitField = 0x00000000
490pp_data->cap[9]->pp_cap->UnknownTokens[1].Token = 0x00
491pp_data->cap[9]->pp_cap->UnknownTokens[1].Reserved = 0x000000
492pp_data->cap[9]->pp_cap->UnknownTokens[1].BitField = 0x00000000
493pp_data->cap[9]->pp_cap->UnknownTokens[2].Token = 0x00
494pp_data->cap[9]->pp_cap->UnknownTokens[2].Reserved = 0x000000
495pp_data->cap[9]->pp_cap->UnknownTokens[2].BitField = 0x00000000
496pp_data->cap[9]->pp_cap->UnknownTokens[3].Token = 0x00
497pp_data->cap[9]->pp_cap->UnknownTokens[3].Reserved = 0x000000
498pp_data->cap[9]->pp_cap->UnknownTokens[3].BitField = 0x00000000
499pp_data->cap[9]->NotRange.Usage = 0x0002
500pp_data->cap[9]->NotRange.Reserved1 = 0x0002
501pp_data->cap[9]->NotRange.StringIndex = 0
502pp_data->cap[9]->NotRange.Reserved2 = 0
503pp_data->cap[9]->NotRange.DesignatorIndex = 0
504pp_data->cap[9]->NotRange.Reserved3 = 0
505pp_data->cap[9]->NotRange.DataIndex = 9
506pp_data->cap[9]->NotRange.Reserved4 = 9
507pp_data->cap[9]->Button.LogicalMin = 0
508pp_data->cap[9]->Button.LogicalMax = 0
509pp_data->cap[9]->Units = 0
510pp_data->cap[9]->UnitsExp = 0
511
512pp_data->cap[10]->UsagePage = 0xFF01
513pp_data->cap[10]->ReportID = 0x01
514pp_data->cap[10]->BitPosition = 1
515pp_data->cap[10]->BitSize = 1
516pp_data->cap[10]->ReportCount = 1
517pp_data->cap[10]->BytePosition = 0x0008
518pp_data->cap[10]->BitCount = 1
519pp_data->cap[10]->BitField = 0x02
520pp_data->cap[10]->NextBytePosition = 0x0009
521pp_data->cap[10]->LinkCollection = 0x0001
522pp_data->cap[10]->LinkUsagePage = 0xFF01
523pp_data->cap[10]->LinkUsage = 0x0001
524pp_data->cap[10]->IsMultipleItemsForArray = 0
525pp_data->cap[10]->IsButtonCap = 1
526pp_data->cap[10]->IsPadding = 0
527pp_data->cap[10]->IsAbsolute = 1
528pp_data->cap[10]->IsRange = 0
529pp_data->cap[10]->IsAlias = 0
530pp_data->cap[10]->IsStringRange = 0
531pp_data->cap[10]->IsDesignatorRange = 0
532pp_data->cap[10]->Reserved1 = 0x000000
533pp_data->cap[10]->pp_cap->UnknownTokens[0].Token = 0x00
534pp_data->cap[10]->pp_cap->UnknownTokens[0].Reserved = 0x000000
535pp_data->cap[10]->pp_cap->UnknownTokens[0].BitField = 0x00000000
536pp_data->cap[10]->pp_cap->UnknownTokens[1].Token = 0x00
537pp_data->cap[10]->pp_cap->UnknownTokens[1].Reserved = 0x000000
538pp_data->cap[10]->pp_cap->UnknownTokens[1].BitField = 0x00000000
539pp_data->cap[10]->pp_cap->UnknownTokens[2].Token = 0x00
540pp_data->cap[10]->pp_cap->UnknownTokens[2].Reserved = 0x000000
541pp_data->cap[10]->pp_cap->UnknownTokens[2].BitField = 0x00000000
542pp_data->cap[10]->pp_cap->UnknownTokens[3].Token = 0x00
543pp_data->cap[10]->pp_cap->UnknownTokens[3].Reserved = 0x000000
544pp_data->cap[10]->pp_cap->UnknownTokens[3].BitField = 0x00000000
545pp_data->cap[10]->NotRange.Usage = 0x0002
546pp_data->cap[10]->NotRange.Reserved1 = 0x0002
547pp_data->cap[10]->NotRange.StringIndex = 0
548pp_data->cap[10]->NotRange.Reserved2 = 0
549pp_data->cap[10]->NotRange.DesignatorIndex = 0
550pp_data->cap[10]->NotRange.Reserved3 = 0
551pp_data->cap[10]->NotRange.DataIndex = 10
552pp_data->cap[10]->NotRange.Reserved4 = 10
553pp_data->cap[10]->Button.LogicalMin = 0
554pp_data->cap[10]->Button.LogicalMax = 0
555pp_data->cap[10]->Units = 0
556pp_data->cap[10]->UnitsExp = 0
557
558pp_data->cap[11]->UsagePage = 0xFF01
559pp_data->cap[11]->ReportID = 0x01
560pp_data->cap[11]->BitPosition = 0
561pp_data->cap[11]->BitSize = 1
562pp_data->cap[11]->ReportCount = 1
563pp_data->cap[11]->BytePosition = 0x0008
564pp_data->cap[11]->BitCount = 1
565pp_data->cap[11]->BitField = 0x02
566pp_data->cap[11]->NextBytePosition = 0x0009
567pp_data->cap[11]->LinkCollection = 0x0001
568pp_data->cap[11]->LinkUsagePage = 0xFF01
569pp_data->cap[11]->LinkUsage = 0x0001
570pp_data->cap[11]->IsMultipleItemsForArray = 0
571pp_data->cap[11]->IsButtonCap = 1
572pp_data->cap[11]->IsPadding = 0
573pp_data->cap[11]->IsAbsolute = 1
574pp_data->cap[11]->IsRange = 0
575pp_data->cap[11]->IsAlias = 0
576pp_data->cap[11]->IsStringRange = 0
577pp_data->cap[11]->IsDesignatorRange = 0
578pp_data->cap[11]->Reserved1 = 0x000000
579pp_data->cap[11]->pp_cap->UnknownTokens[0].Token = 0x00
580pp_data->cap[11]->pp_cap->UnknownTokens[0].Reserved = 0x000000
581pp_data->cap[11]->pp_cap->UnknownTokens[0].BitField = 0x00000000
582pp_data->cap[11]->pp_cap->UnknownTokens[1].Token = 0x00
583pp_data->cap[11]->pp_cap->UnknownTokens[1].Reserved = 0x000000
584pp_data->cap[11]->pp_cap->UnknownTokens[1].BitField = 0x00000000
585pp_data->cap[11]->pp_cap->UnknownTokens[2].Token = 0x00
586pp_data->cap[11]->pp_cap->UnknownTokens[2].Reserved = 0x000000
587pp_data->cap[11]->pp_cap->UnknownTokens[2].BitField = 0x00000000
588pp_data->cap[11]->pp_cap->UnknownTokens[3].Token = 0x00
589pp_data->cap[11]->pp_cap->UnknownTokens[3].Reserved = 0x000000
590pp_data->cap[11]->pp_cap->UnknownTokens[3].BitField = 0x00000000
591pp_data->cap[11]->NotRange.Usage = 0x0002
592pp_data->cap[11]->NotRange.Reserved1 = 0x0002
593pp_data->cap[11]->NotRange.StringIndex = 0
594pp_data->cap[11]->NotRange.Reserved2 = 0
595pp_data->cap[11]->NotRange.DesignatorIndex = 0
596pp_data->cap[11]->NotRange.Reserved3 = 0
597pp_data->cap[11]->NotRange.DataIndex = 11
598pp_data->cap[11]->NotRange.Reserved4 = 11
599pp_data->cap[11]->Button.LogicalMin = 0
600pp_data->cap[11]->Button.LogicalMax = 0
601pp_data->cap[11]->Units = 0
602pp_data->cap[11]->UnitsExp = 0
603
604pp_data->cap[12]->UsagePage = 0xFF01
605pp_data->cap[12]->ReportID = 0x01
606pp_data->cap[12]->BitPosition = 7
607pp_data->cap[12]->BitSize = 1
608pp_data->cap[12]->ReportCount = 1
609pp_data->cap[12]->BytePosition = 0x0007
610pp_data->cap[12]->BitCount = 1
611pp_data->cap[12]->BitField = 0x02
612pp_data->cap[12]->NextBytePosition = 0x0008
613pp_data->cap[12]->LinkCollection = 0x0001
614pp_data->cap[12]->LinkUsagePage = 0xFF01
615pp_data->cap[12]->LinkUsage = 0x0001
616pp_data->cap[12]->IsMultipleItemsForArray = 0
617pp_data->cap[12]->IsButtonCap = 1
618pp_data->cap[12]->IsPadding = 0
619pp_data->cap[12]->IsAbsolute = 1
620pp_data->cap[12]->IsRange = 0
621pp_data->cap[12]->IsAlias = 0
622pp_data->cap[12]->IsStringRange = 0
623pp_data->cap[12]->IsDesignatorRange = 0
624pp_data->cap[12]->Reserved1 = 0x000000
625pp_data->cap[12]->pp_cap->UnknownTokens[0].Token = 0x00
626pp_data->cap[12]->pp_cap->UnknownTokens[0].Reserved = 0x000000
627pp_data->cap[12]->pp_cap->UnknownTokens[0].BitField = 0x00000000
628pp_data->cap[12]->pp_cap->UnknownTokens[1].Token = 0x00
629pp_data->cap[12]->pp_cap->UnknownTokens[1].Reserved = 0x000000
630pp_data->cap[12]->pp_cap->UnknownTokens[1].BitField = 0x00000000
631pp_data->cap[12]->pp_cap->UnknownTokens[2].Token = 0x00
632pp_data->cap[12]->pp_cap->UnknownTokens[2].Reserved = 0x000000
633pp_data->cap[12]->pp_cap->UnknownTokens[2].BitField = 0x00000000
634pp_data->cap[12]->pp_cap->UnknownTokens[3].Token = 0x00
635pp_data->cap[12]->pp_cap->UnknownTokens[3].Reserved = 0x000000
636pp_data->cap[12]->pp_cap->UnknownTokens[3].BitField = 0x00000000
637pp_data->cap[12]->NotRange.Usage = 0x0002
638pp_data->cap[12]->NotRange.Reserved1 = 0x0002
639pp_data->cap[12]->NotRange.StringIndex = 0
640pp_data->cap[12]->NotRange.Reserved2 = 0
641pp_data->cap[12]->NotRange.DesignatorIndex = 0
642pp_data->cap[12]->NotRange.Reserved3 = 0
643pp_data->cap[12]->NotRange.DataIndex = 12
644pp_data->cap[12]->NotRange.Reserved4 = 12
645pp_data->cap[12]->Button.LogicalMin = 0
646pp_data->cap[12]->Button.LogicalMax = 0
647pp_data->cap[12]->Units = 0
648pp_data->cap[12]->UnitsExp = 0
649
650pp_data->cap[13]->UsagePage = 0xFF01
651pp_data->cap[13]->ReportID = 0x01
652pp_data->cap[13]->BitPosition = 6
653pp_data->cap[13]->BitSize = 1
654pp_data->cap[13]->ReportCount = 1
655pp_data->cap[13]->BytePosition = 0x0007
656pp_data->cap[13]->BitCount = 1
657pp_data->cap[13]->BitField = 0x02
658pp_data->cap[13]->NextBytePosition = 0x0008
659pp_data->cap[13]->LinkCollection = 0x0001
660pp_data->cap[13]->LinkUsagePage = 0xFF01
661pp_data->cap[13]->LinkUsage = 0x0001
662pp_data->cap[13]->IsMultipleItemsForArray = 0
663pp_data->cap[13]->IsButtonCap = 1
664pp_data->cap[13]->IsPadding = 0
665pp_data->cap[13]->IsAbsolute = 1
666pp_data->cap[13]->IsRange = 0
667pp_data->cap[13]->IsAlias = 0
668pp_data->cap[13]->IsStringRange = 0
669pp_data->cap[13]->IsDesignatorRange = 0
670pp_data->cap[13]->Reserved1 = 0x000000
671pp_data->cap[13]->pp_cap->UnknownTokens[0].Token = 0x00
672pp_data->cap[13]->pp_cap->UnknownTokens[0].Reserved = 0x000000
673pp_data->cap[13]->pp_cap->UnknownTokens[0].BitField = 0x00000000
674pp_data->cap[13]->pp_cap->UnknownTokens[1].Token = 0x00
675pp_data->cap[13]->pp_cap->UnknownTokens[1].Reserved = 0x000000
676pp_data->cap[13]->pp_cap->UnknownTokens[1].BitField = 0x00000000
677pp_data->cap[13]->pp_cap->UnknownTokens[2].Token = 0x00
678pp_data->cap[13]->pp_cap->UnknownTokens[2].Reserved = 0x000000
679pp_data->cap[13]->pp_cap->UnknownTokens[2].BitField = 0x00000000
680pp_data->cap[13]->pp_cap->UnknownTokens[3].Token = 0x00
681pp_data->cap[13]->pp_cap->UnknownTokens[3].Reserved = 0x000000
682pp_data->cap[13]->pp_cap->UnknownTokens[3].BitField = 0x00000000
683pp_data->cap[13]->NotRange.Usage = 0x0002
684pp_data->cap[13]->NotRange.Reserved1 = 0x0002
685pp_data->cap[13]->NotRange.StringIndex = 0
686pp_data->cap[13]->NotRange.Reserved2 = 0
687pp_data->cap[13]->NotRange.DesignatorIndex = 0
688pp_data->cap[13]->NotRange.Reserved3 = 0
689pp_data->cap[13]->NotRange.DataIndex = 13
690pp_data->cap[13]->NotRange.Reserved4 = 13
691pp_data->cap[13]->Button.LogicalMin = 0
692pp_data->cap[13]->Button.LogicalMax = 0
693pp_data->cap[13]->Units = 0
694pp_data->cap[13]->UnitsExp = 0
695
696pp_data->cap[14]->UsagePage = 0xFF01
697pp_data->cap[14]->ReportID = 0x01
698pp_data->cap[14]->BitPosition = 5
699pp_data->cap[14]->BitSize = 1
700pp_data->cap[14]->ReportCount = 1
701pp_data->cap[14]->BytePosition = 0x0007
702pp_data->cap[14]->BitCount = 1
703pp_data->cap[14]->BitField = 0x02
704pp_data->cap[14]->NextBytePosition = 0x0008
705pp_data->cap[14]->LinkCollection = 0x0001
706pp_data->cap[14]->LinkUsagePage = 0xFF01
707pp_data->cap[14]->LinkUsage = 0x0001
708pp_data->cap[14]->IsMultipleItemsForArray = 0
709pp_data->cap[14]->IsButtonCap = 1
710pp_data->cap[14]->IsPadding = 0
711pp_data->cap[14]->IsAbsolute = 1
712pp_data->cap[14]->IsRange = 0
713pp_data->cap[14]->IsAlias = 0
714pp_data->cap[14]->IsStringRange = 0
715pp_data->cap[14]->IsDesignatorRange = 0
716pp_data->cap[14]->Reserved1 = 0x000000
717pp_data->cap[14]->pp_cap->UnknownTokens[0].Token = 0x00
718pp_data->cap[14]->pp_cap->UnknownTokens[0].Reserved = 0x000000
719pp_data->cap[14]->pp_cap->UnknownTokens[0].BitField = 0x00000000
720pp_data->cap[14]->pp_cap->UnknownTokens[1].Token = 0x00
721pp_data->cap[14]->pp_cap->UnknownTokens[1].Reserved = 0x000000
722pp_data->cap[14]->pp_cap->UnknownTokens[1].BitField = 0x00000000
723pp_data->cap[14]->pp_cap->UnknownTokens[2].Token = 0x00
724pp_data->cap[14]->pp_cap->UnknownTokens[2].Reserved = 0x000000
725pp_data->cap[14]->pp_cap->UnknownTokens[2].BitField = 0x00000000
726pp_data->cap[14]->pp_cap->UnknownTokens[3].Token = 0x00
727pp_data->cap[14]->pp_cap->UnknownTokens[3].Reserved = 0x000000
728pp_data->cap[14]->pp_cap->UnknownTokens[3].BitField = 0x00000000
729pp_data->cap[14]->NotRange.Usage = 0x0002
730pp_data->cap[14]->NotRange.Reserved1 = 0x0002
731pp_data->cap[14]->NotRange.StringIndex = 0
732pp_data->cap[14]->NotRange.Reserved2 = 0
733pp_data->cap[14]->NotRange.DesignatorIndex = 0
734pp_data->cap[14]->NotRange.Reserved3 = 0
735pp_data->cap[14]->NotRange.DataIndex = 14
736pp_data->cap[14]->NotRange.Reserved4 = 14
737pp_data->cap[14]->Button.LogicalMin = 0
738pp_data->cap[14]->Button.LogicalMax = 0
739pp_data->cap[14]->Units = 0
740pp_data->cap[14]->UnitsExp = 0
741
742pp_data->cap[15]->UsagePage = 0xFF01
743pp_data->cap[15]->ReportID = 0x01
744pp_data->cap[15]->BitPosition = 4
745pp_data->cap[15]->BitSize = 1
746pp_data->cap[15]->ReportCount = 1
747pp_data->cap[15]->BytePosition = 0x0007
748pp_data->cap[15]->BitCount = 1
749pp_data->cap[15]->BitField = 0x02
750pp_data->cap[15]->NextBytePosition = 0x0008
751pp_data->cap[15]->LinkCollection = 0x0001
752pp_data->cap[15]->LinkUsagePage = 0xFF01
753pp_data->cap[15]->LinkUsage = 0x0001
754pp_data->cap[15]->IsMultipleItemsForArray = 0
755pp_data->cap[15]->IsButtonCap = 1
756pp_data->cap[15]->IsPadding = 0
757pp_data->cap[15]->IsAbsolute = 1
758pp_data->cap[15]->IsRange = 0
759pp_data->cap[15]->IsAlias = 0
760pp_data->cap[15]->IsStringRange = 0
761pp_data->cap[15]->IsDesignatorRange = 0
762pp_data->cap[15]->Reserved1 = 0x000000
763pp_data->cap[15]->pp_cap->UnknownTokens[0].Token = 0x00
764pp_data->cap[15]->pp_cap->UnknownTokens[0].Reserved = 0x000000
765pp_data->cap[15]->pp_cap->UnknownTokens[0].BitField = 0x00000000
766pp_data->cap[15]->pp_cap->UnknownTokens[1].Token = 0x00
767pp_data->cap[15]->pp_cap->UnknownTokens[1].Reserved = 0x000000
768pp_data->cap[15]->pp_cap->UnknownTokens[1].BitField = 0x00000000
769pp_data->cap[15]->pp_cap->UnknownTokens[2].Token = 0x00
770pp_data->cap[15]->pp_cap->UnknownTokens[2].Reserved = 0x000000
771pp_data->cap[15]->pp_cap->UnknownTokens[2].BitField = 0x00000000
772pp_data->cap[15]->pp_cap->UnknownTokens[3].Token = 0x00
773pp_data->cap[15]->pp_cap->UnknownTokens[3].Reserved = 0x000000
774pp_data->cap[15]->pp_cap->UnknownTokens[3].BitField = 0x00000000
775pp_data->cap[15]->NotRange.Usage = 0x0002
776pp_data->cap[15]->NotRange.Reserved1 = 0x0002
777pp_data->cap[15]->NotRange.StringIndex = 0
778pp_data->cap[15]->NotRange.Reserved2 = 0
779pp_data->cap[15]->NotRange.DesignatorIndex = 0
780pp_data->cap[15]->NotRange.Reserved3 = 0
781pp_data->cap[15]->NotRange.DataIndex = 15
782pp_data->cap[15]->NotRange.Reserved4 = 15
783pp_data->cap[15]->Button.LogicalMin = 0
784pp_data->cap[15]->Button.LogicalMax = 0
785pp_data->cap[15]->Units = 0
786pp_data->cap[15]->UnitsExp = 0
787
788pp_data->cap[16]->UsagePage = 0xFF01
789pp_data->cap[16]->ReportID = 0x01
790pp_data->cap[16]->BitPosition = 3
791pp_data->cap[16]->BitSize = 1
792pp_data->cap[16]->ReportCount = 1
793pp_data->cap[16]->BytePosition = 0x0007
794pp_data->cap[16]->BitCount = 1
795pp_data->cap[16]->BitField = 0x02
796pp_data->cap[16]->NextBytePosition = 0x0008
797pp_data->cap[16]->LinkCollection = 0x0001
798pp_data->cap[16]->LinkUsagePage = 0xFF01
799pp_data->cap[16]->LinkUsage = 0x0001
800pp_data->cap[16]->IsMultipleItemsForArray = 0
801pp_data->cap[16]->IsButtonCap = 1
802pp_data->cap[16]->IsPadding = 0
803pp_data->cap[16]->IsAbsolute = 1
804pp_data->cap[16]->IsRange = 0
805pp_data->cap[16]->IsAlias = 0
806pp_data->cap[16]->IsStringRange = 0
807pp_data->cap[16]->IsDesignatorRange = 0
808pp_data->cap[16]->Reserved1 = 0x000000
809pp_data->cap[16]->pp_cap->UnknownTokens[0].Token = 0x00
810pp_data->cap[16]->pp_cap->UnknownTokens[0].Reserved = 0x000000
811pp_data->cap[16]->pp_cap->UnknownTokens[0].BitField = 0x00000000
812pp_data->cap[16]->pp_cap->UnknownTokens[1].Token = 0x00
813pp_data->cap[16]->pp_cap->UnknownTokens[1].Reserved = 0x000000
814pp_data->cap[16]->pp_cap->UnknownTokens[1].BitField = 0x00000000
815pp_data->cap[16]->pp_cap->UnknownTokens[2].Token = 0x00
816pp_data->cap[16]->pp_cap->UnknownTokens[2].Reserved = 0x000000
817pp_data->cap[16]->pp_cap->UnknownTokens[2].BitField = 0x00000000
818pp_data->cap[16]->pp_cap->UnknownTokens[3].Token = 0x00
819pp_data->cap[16]->pp_cap->UnknownTokens[3].Reserved = 0x000000
820pp_data->cap[16]->pp_cap->UnknownTokens[3].BitField = 0x00000000
821pp_data->cap[16]->NotRange.Usage = 0x0002
822pp_data->cap[16]->NotRange.Reserved1 = 0x0002
823pp_data->cap[16]->NotRange.StringIndex = 0
824pp_data->cap[16]->NotRange.Reserved2 = 0
825pp_data->cap[16]->NotRange.DesignatorIndex = 0
826pp_data->cap[16]->NotRange.Reserved3 = 0
827pp_data->cap[16]->NotRange.DataIndex = 16
828pp_data->cap[16]->NotRange.Reserved4 = 16
829pp_data->cap[16]->Button.LogicalMin = 0
830pp_data->cap[16]->Button.LogicalMax = 0
831pp_data->cap[16]->Units = 0
832pp_data->cap[16]->UnitsExp = 0
833
834pp_data->cap[17]->UsagePage = 0xFF01
835pp_data->cap[17]->ReportID = 0x01
836pp_data->cap[17]->BitPosition = 2
837pp_data->cap[17]->BitSize = 1
838pp_data->cap[17]->ReportCount = 1
839pp_data->cap[17]->BytePosition = 0x0007
840pp_data->cap[17]->BitCount = 1
841pp_data->cap[17]->BitField = 0x02
842pp_data->cap[17]->NextBytePosition = 0x0008
843pp_data->cap[17]->LinkCollection = 0x0001
844pp_data->cap[17]->LinkUsagePage = 0xFF01
845pp_data->cap[17]->LinkUsage = 0x0001
846pp_data->cap[17]->IsMultipleItemsForArray = 0
847pp_data->cap[17]->IsButtonCap = 1
848pp_data->cap[17]->IsPadding = 0
849pp_data->cap[17]->IsAbsolute = 1
850pp_data->cap[17]->IsRange = 0
851pp_data->cap[17]->IsAlias = 0
852pp_data->cap[17]->IsStringRange = 0
853pp_data->cap[17]->IsDesignatorRange = 0
854pp_data->cap[17]->Reserved1 = 0x000000
855pp_data->cap[17]->pp_cap->UnknownTokens[0].Token = 0x00
856pp_data->cap[17]->pp_cap->UnknownTokens[0].Reserved = 0x000000
857pp_data->cap[17]->pp_cap->UnknownTokens[0].BitField = 0x00000000
858pp_data->cap[17]->pp_cap->UnknownTokens[1].Token = 0x00
859pp_data->cap[17]->pp_cap->UnknownTokens[1].Reserved = 0x000000
860pp_data->cap[17]->pp_cap->UnknownTokens[1].BitField = 0x00000000
861pp_data->cap[17]->pp_cap->UnknownTokens[2].Token = 0x00
862pp_data->cap[17]->pp_cap->UnknownTokens[2].Reserved = 0x000000
863pp_data->cap[17]->pp_cap->UnknownTokens[2].BitField = 0x00000000
864pp_data->cap[17]->pp_cap->UnknownTokens[3].Token = 0x00
865pp_data->cap[17]->pp_cap->UnknownTokens[3].Reserved = 0x000000
866pp_data->cap[17]->pp_cap->UnknownTokens[3].BitField = 0x00000000
867pp_data->cap[17]->NotRange.Usage = 0x0002
868pp_data->cap[17]->NotRange.Reserved1 = 0x0002
869pp_data->cap[17]->NotRange.StringIndex = 0
870pp_data->cap[17]->NotRange.Reserved2 = 0
871pp_data->cap[17]->NotRange.DesignatorIndex = 0
872pp_data->cap[17]->NotRange.Reserved3 = 0
873pp_data->cap[17]->NotRange.DataIndex = 17
874pp_data->cap[17]->NotRange.Reserved4 = 17
875pp_data->cap[17]->Button.LogicalMin = 0
876pp_data->cap[17]->Button.LogicalMax = 0
877pp_data->cap[17]->Units = 0
878pp_data->cap[17]->UnitsExp = 0
879
880pp_data->cap[18]->UsagePage = 0xFF01
881pp_data->cap[18]->ReportID = 0x01
882pp_data->cap[18]->BitPosition = 1
883pp_data->cap[18]->BitSize = 1
884pp_data->cap[18]->ReportCount = 1
885pp_data->cap[18]->BytePosition = 0x0007
886pp_data->cap[18]->BitCount = 1
887pp_data->cap[18]->BitField = 0x02
888pp_data->cap[18]->NextBytePosition = 0x0008
889pp_data->cap[18]->LinkCollection = 0x0001
890pp_data->cap[18]->LinkUsagePage = 0xFF01
891pp_data->cap[18]->LinkUsage = 0x0001
892pp_data->cap[18]->IsMultipleItemsForArray = 0
893pp_data->cap[18]->IsButtonCap = 1
894pp_data->cap[18]->IsPadding = 0
895pp_data->cap[18]->IsAbsolute = 1
896pp_data->cap[18]->IsRange = 0
897pp_data->cap[18]->IsAlias = 0
898pp_data->cap[18]->IsStringRange = 0
899pp_data->cap[18]->IsDesignatorRange = 0
900pp_data->cap[18]->Reserved1 = 0x000000
901pp_data->cap[18]->pp_cap->UnknownTokens[0].Token = 0x00
902pp_data->cap[18]->pp_cap->UnknownTokens[0].Reserved = 0x000000
903pp_data->cap[18]->pp_cap->UnknownTokens[0].BitField = 0x00000000
904pp_data->cap[18]->pp_cap->UnknownTokens[1].Token = 0x00
905pp_data->cap[18]->pp_cap->UnknownTokens[1].Reserved = 0x000000
906pp_data->cap[18]->pp_cap->UnknownTokens[1].BitField = 0x00000000
907pp_data->cap[18]->pp_cap->UnknownTokens[2].Token = 0x00
908pp_data->cap[18]->pp_cap->UnknownTokens[2].Reserved = 0x000000
909pp_data->cap[18]->pp_cap->UnknownTokens[2].BitField = 0x00000000
910pp_data->cap[18]->pp_cap->UnknownTokens[3].Token = 0x00
911pp_data->cap[18]->pp_cap->UnknownTokens[3].Reserved = 0x000000
912pp_data->cap[18]->pp_cap->UnknownTokens[3].BitField = 0x00000000
913pp_data->cap[18]->NotRange.Usage = 0x0002
914pp_data->cap[18]->NotRange.Reserved1 = 0x0002
915pp_data->cap[18]->NotRange.StringIndex = 0
916pp_data->cap[18]->NotRange.Reserved2 = 0
917pp_data->cap[18]->NotRange.DesignatorIndex = 0
918pp_data->cap[18]->NotRange.Reserved3 = 0
919pp_data->cap[18]->NotRange.DataIndex = 18
920pp_data->cap[18]->NotRange.Reserved4 = 18
921pp_data->cap[18]->Button.LogicalMin = 0
922pp_data->cap[18]->Button.LogicalMax = 0
923pp_data->cap[18]->Units = 0
924pp_data->cap[18]->UnitsExp = 0
925
926pp_data->cap[19]->UsagePage = 0xFF01
927pp_data->cap[19]->ReportID = 0x01
928pp_data->cap[19]->BitPosition = 0
929pp_data->cap[19]->BitSize = 1
930pp_data->cap[19]->ReportCount = 1
931pp_data->cap[19]->BytePosition = 0x0007
932pp_data->cap[19]->BitCount = 1
933pp_data->cap[19]->BitField = 0x02
934pp_data->cap[19]->NextBytePosition = 0x0008
935pp_data->cap[19]->LinkCollection = 0x0001
936pp_data->cap[19]->LinkUsagePage = 0xFF01
937pp_data->cap[19]->LinkUsage = 0x0001
938pp_data->cap[19]->IsMultipleItemsForArray = 0
939pp_data->cap[19]->IsButtonCap = 1
940pp_data->cap[19]->IsPadding = 0
941pp_data->cap[19]->IsAbsolute = 1
942pp_data->cap[19]->IsRange = 0
943pp_data->cap[19]->IsAlias = 0
944pp_data->cap[19]->IsStringRange = 0
945pp_data->cap[19]->IsDesignatorRange = 0
946pp_data->cap[19]->Reserved1 = 0x000000
947pp_data->cap[19]->pp_cap->UnknownTokens[0].Token = 0x00
948pp_data->cap[19]->pp_cap->UnknownTokens[0].Reserved = 0x000000
949pp_data->cap[19]->pp_cap->UnknownTokens[0].BitField = 0x00000000
950pp_data->cap[19]->pp_cap->UnknownTokens[1].Token = 0x00
951pp_data->cap[19]->pp_cap->UnknownTokens[1].Reserved = 0x000000
952pp_data->cap[19]->pp_cap->UnknownTokens[1].BitField = 0x00000000
953pp_data->cap[19]->pp_cap->UnknownTokens[2].Token = 0x00
954pp_data->cap[19]->pp_cap->UnknownTokens[2].Reserved = 0x000000
955pp_data->cap[19]->pp_cap->UnknownTokens[2].BitField = 0x00000000
956pp_data->cap[19]->pp_cap->UnknownTokens[3].Token = 0x00
957pp_data->cap[19]->pp_cap->UnknownTokens[3].Reserved = 0x000000
958pp_data->cap[19]->pp_cap->UnknownTokens[3].BitField = 0x00000000
959pp_data->cap[19]->NotRange.Usage = 0x0002
960pp_data->cap[19]->NotRange.Reserved1 = 0x0002
961pp_data->cap[19]->NotRange.StringIndex = 0
962pp_data->cap[19]->NotRange.Reserved2 = 0
963pp_data->cap[19]->NotRange.DesignatorIndex = 0
964pp_data->cap[19]->NotRange.Reserved3 = 0
965pp_data->cap[19]->NotRange.DataIndex = 19
966pp_data->cap[19]->NotRange.Reserved4 = 19
967pp_data->cap[19]->Button.LogicalMin = 0
968pp_data->cap[19]->Button.LogicalMax = 0
969pp_data->cap[19]->Units = 0
970pp_data->cap[19]->UnitsExp = 0
971
972pp_data->cap[20]->UsagePage = 0xFF01
973pp_data->cap[20]->ReportID = 0x01
974pp_data->cap[20]->BitPosition = 7
975pp_data->cap[20]->BitSize = 1
976pp_data->cap[20]->ReportCount = 1
977pp_data->cap[20]->BytePosition = 0x0006
978pp_data->cap[20]->BitCount = 1
979pp_data->cap[20]->BitField = 0x02
980pp_data->cap[20]->NextBytePosition = 0x0007
981pp_data->cap[20]->LinkCollection = 0x0001
982pp_data->cap[20]->LinkUsagePage = 0xFF01
983pp_data->cap[20]->LinkUsage = 0x0001
984pp_data->cap[20]->IsMultipleItemsForArray = 0
985pp_data->cap[20]->IsButtonCap = 1
986pp_data->cap[20]->IsPadding = 0
987pp_data->cap[20]->IsAbsolute = 1
988pp_data->cap[20]->IsRange = 0
989pp_data->cap[20]->IsAlias = 0
990pp_data->cap[20]->IsStringRange = 0
991pp_data->cap[20]->IsDesignatorRange = 0
992pp_data->cap[20]->Reserved1 = 0x000000
993pp_data->cap[20]->pp_cap->UnknownTokens[0].Token = 0x00
994pp_data->cap[20]->pp_cap->UnknownTokens[0].Reserved = 0x000000
995pp_data->cap[20]->pp_cap->UnknownTokens[0].BitField = 0x00000000
996pp_data->cap[20]->pp_cap->UnknownTokens[1].Token = 0x00
997pp_data->cap[20]->pp_cap->UnknownTokens[1].Reserved = 0x000000
998pp_data->cap[20]->pp_cap->UnknownTokens[1].BitField = 0x00000000
999pp_data->cap[20]->pp_cap->UnknownTokens[2].Token = 0x00
1000pp_data->cap[20]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1001pp_data->cap[20]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1002pp_data->cap[20]->pp_cap->UnknownTokens[3].Token = 0x00
1003pp_data->cap[20]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1004pp_data->cap[20]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1005pp_data->cap[20]->NotRange.Usage = 0x0002
1006pp_data->cap[20]->NotRange.Reserved1 = 0x0002
1007pp_data->cap[20]->NotRange.StringIndex = 0
1008pp_data->cap[20]->NotRange.Reserved2 = 0
1009pp_data->cap[20]->NotRange.DesignatorIndex = 0
1010pp_data->cap[20]->NotRange.Reserved3 = 0
1011pp_data->cap[20]->NotRange.DataIndex = 20
1012pp_data->cap[20]->NotRange.Reserved4 = 20
1013pp_data->cap[20]->Button.LogicalMin = 0
1014pp_data->cap[20]->Button.LogicalMax = 0
1015pp_data->cap[20]->Units = 0
1016pp_data->cap[20]->UnitsExp = 0
1017
1018pp_data->cap[21]->UsagePage = 0xFF01
1019pp_data->cap[21]->ReportID = 0x01
1020pp_data->cap[21]->BitPosition = 6
1021pp_data->cap[21]->BitSize = 1
1022pp_data->cap[21]->ReportCount = 1
1023pp_data->cap[21]->BytePosition = 0x0006
1024pp_data->cap[21]->BitCount = 1
1025pp_data->cap[21]->BitField = 0x02
1026pp_data->cap[21]->NextBytePosition = 0x0007
1027pp_data->cap[21]->LinkCollection = 0x0001
1028pp_data->cap[21]->LinkUsagePage = 0xFF01
1029pp_data->cap[21]->LinkUsage = 0x0001
1030pp_data->cap[21]->IsMultipleItemsForArray = 0
1031pp_data->cap[21]->IsButtonCap = 1
1032pp_data->cap[21]->IsPadding = 0
1033pp_data->cap[21]->IsAbsolute = 1
1034pp_data->cap[21]->IsRange = 0
1035pp_data->cap[21]->IsAlias = 0
1036pp_data->cap[21]->IsStringRange = 0
1037pp_data->cap[21]->IsDesignatorRange = 0
1038pp_data->cap[21]->Reserved1 = 0x000000
1039pp_data->cap[21]->pp_cap->UnknownTokens[0].Token = 0x00
1040pp_data->cap[21]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1041pp_data->cap[21]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1042pp_data->cap[21]->pp_cap->UnknownTokens[1].Token = 0x00
1043pp_data->cap[21]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1044pp_data->cap[21]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1045pp_data->cap[21]->pp_cap->UnknownTokens[2].Token = 0x00
1046pp_data->cap[21]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1047pp_data->cap[21]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1048pp_data->cap[21]->pp_cap->UnknownTokens[3].Token = 0x00
1049pp_data->cap[21]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1050pp_data->cap[21]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1051pp_data->cap[21]->NotRange.Usage = 0x0002
1052pp_data->cap[21]->NotRange.Reserved1 = 0x0002
1053pp_data->cap[21]->NotRange.StringIndex = 0
1054pp_data->cap[21]->NotRange.Reserved2 = 0
1055pp_data->cap[21]->NotRange.DesignatorIndex = 0
1056pp_data->cap[21]->NotRange.Reserved3 = 0
1057pp_data->cap[21]->NotRange.DataIndex = 21
1058pp_data->cap[21]->NotRange.Reserved4 = 21
1059pp_data->cap[21]->Button.LogicalMin = 0
1060pp_data->cap[21]->Button.LogicalMax = 0
1061pp_data->cap[21]->Units = 0
1062pp_data->cap[21]->UnitsExp = 0
1063
1064pp_data->cap[22]->UsagePage = 0xFF01
1065pp_data->cap[22]->ReportID = 0x01
1066pp_data->cap[22]->BitPosition = 5
1067pp_data->cap[22]->BitSize = 1
1068pp_data->cap[22]->ReportCount = 1
1069pp_data->cap[22]->BytePosition = 0x0006
1070pp_data->cap[22]->BitCount = 1
1071pp_data->cap[22]->BitField = 0x02
1072pp_data->cap[22]->NextBytePosition = 0x0007
1073pp_data->cap[22]->LinkCollection = 0x0001
1074pp_data->cap[22]->LinkUsagePage = 0xFF01
1075pp_data->cap[22]->LinkUsage = 0x0001
1076pp_data->cap[22]->IsMultipleItemsForArray = 0
1077pp_data->cap[22]->IsButtonCap = 1
1078pp_data->cap[22]->IsPadding = 0
1079pp_data->cap[22]->IsAbsolute = 1
1080pp_data->cap[22]->IsRange = 0
1081pp_data->cap[22]->IsAlias = 0
1082pp_data->cap[22]->IsStringRange = 0
1083pp_data->cap[22]->IsDesignatorRange = 0
1084pp_data->cap[22]->Reserved1 = 0x000000
1085pp_data->cap[22]->pp_cap->UnknownTokens[0].Token = 0x00
1086pp_data->cap[22]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1087pp_data->cap[22]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1088pp_data->cap[22]->pp_cap->UnknownTokens[1].Token = 0x00
1089pp_data->cap[22]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1090pp_data->cap[22]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1091pp_data->cap[22]->pp_cap->UnknownTokens[2].Token = 0x00
1092pp_data->cap[22]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1093pp_data->cap[22]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1094pp_data->cap[22]->pp_cap->UnknownTokens[3].Token = 0x00
1095pp_data->cap[22]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1096pp_data->cap[22]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1097pp_data->cap[22]->NotRange.Usage = 0x0002
1098pp_data->cap[22]->NotRange.Reserved1 = 0x0002
1099pp_data->cap[22]->NotRange.StringIndex = 0
1100pp_data->cap[22]->NotRange.Reserved2 = 0
1101pp_data->cap[22]->NotRange.DesignatorIndex = 0
1102pp_data->cap[22]->NotRange.Reserved3 = 0
1103pp_data->cap[22]->NotRange.DataIndex = 22
1104pp_data->cap[22]->NotRange.Reserved4 = 22
1105pp_data->cap[22]->Button.LogicalMin = 0
1106pp_data->cap[22]->Button.LogicalMax = 0
1107pp_data->cap[22]->Units = 0
1108pp_data->cap[22]->UnitsExp = 0
1109
1110pp_data->cap[23]->UsagePage = 0xFF01
1111pp_data->cap[23]->ReportID = 0x01
1112pp_data->cap[23]->BitPosition = 4
1113pp_data->cap[23]->BitSize = 1
1114pp_data->cap[23]->ReportCount = 1
1115pp_data->cap[23]->BytePosition = 0x0006
1116pp_data->cap[23]->BitCount = 1
1117pp_data->cap[23]->BitField = 0x02
1118pp_data->cap[23]->NextBytePosition = 0x0007
1119pp_data->cap[23]->LinkCollection = 0x0001
1120pp_data->cap[23]->LinkUsagePage = 0xFF01
1121pp_data->cap[23]->LinkUsage = 0x0001
1122pp_data->cap[23]->IsMultipleItemsForArray = 0
1123pp_data->cap[23]->IsButtonCap = 1
1124pp_data->cap[23]->IsPadding = 0
1125pp_data->cap[23]->IsAbsolute = 1
1126pp_data->cap[23]->IsRange = 0
1127pp_data->cap[23]->IsAlias = 0
1128pp_data->cap[23]->IsStringRange = 0
1129pp_data->cap[23]->IsDesignatorRange = 0
1130pp_data->cap[23]->Reserved1 = 0x000000
1131pp_data->cap[23]->pp_cap->UnknownTokens[0].Token = 0x00
1132pp_data->cap[23]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1133pp_data->cap[23]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1134pp_data->cap[23]->pp_cap->UnknownTokens[1].Token = 0x00
1135pp_data->cap[23]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1136pp_data->cap[23]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1137pp_data->cap[23]->pp_cap->UnknownTokens[2].Token = 0x00
1138pp_data->cap[23]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1139pp_data->cap[23]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1140pp_data->cap[23]->pp_cap->UnknownTokens[3].Token = 0x00
1141pp_data->cap[23]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1142pp_data->cap[23]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1143pp_data->cap[23]->NotRange.Usage = 0x0002
1144pp_data->cap[23]->NotRange.Reserved1 = 0x0002
1145pp_data->cap[23]->NotRange.StringIndex = 0
1146pp_data->cap[23]->NotRange.Reserved2 = 0
1147pp_data->cap[23]->NotRange.DesignatorIndex = 0
1148pp_data->cap[23]->NotRange.Reserved3 = 0
1149pp_data->cap[23]->NotRange.DataIndex = 23
1150pp_data->cap[23]->NotRange.Reserved4 = 23
1151pp_data->cap[23]->Button.LogicalMin = 0
1152pp_data->cap[23]->Button.LogicalMax = 0
1153pp_data->cap[23]->Units = 0
1154pp_data->cap[23]->UnitsExp = 0
1155
1156pp_data->cap[24]->UsagePage = 0xFF01
1157pp_data->cap[24]->ReportID = 0x01
1158pp_data->cap[24]->BitPosition = 3
1159pp_data->cap[24]->BitSize = 1
1160pp_data->cap[24]->ReportCount = 1
1161pp_data->cap[24]->BytePosition = 0x0006
1162pp_data->cap[24]->BitCount = 1
1163pp_data->cap[24]->BitField = 0x02
1164pp_data->cap[24]->NextBytePosition = 0x0007
1165pp_data->cap[24]->LinkCollection = 0x0001
1166pp_data->cap[24]->LinkUsagePage = 0xFF01
1167pp_data->cap[24]->LinkUsage = 0x0001
1168pp_data->cap[24]->IsMultipleItemsForArray = 0
1169pp_data->cap[24]->IsButtonCap = 1
1170pp_data->cap[24]->IsPadding = 0
1171pp_data->cap[24]->IsAbsolute = 1
1172pp_data->cap[24]->IsRange = 0
1173pp_data->cap[24]->IsAlias = 0
1174pp_data->cap[24]->IsStringRange = 0
1175pp_data->cap[24]->IsDesignatorRange = 0
1176pp_data->cap[24]->Reserved1 = 0x000000
1177pp_data->cap[24]->pp_cap->UnknownTokens[0].Token = 0x00
1178pp_data->cap[24]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1179pp_data->cap[24]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1180pp_data->cap[24]->pp_cap->UnknownTokens[1].Token = 0x00
1181pp_data->cap[24]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1182pp_data->cap[24]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1183pp_data->cap[24]->pp_cap->UnknownTokens[2].Token = 0x00
1184pp_data->cap[24]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1185pp_data->cap[24]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1186pp_data->cap[24]->pp_cap->UnknownTokens[3].Token = 0x00
1187pp_data->cap[24]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1188pp_data->cap[24]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1189pp_data->cap[24]->NotRange.Usage = 0x0002
1190pp_data->cap[24]->NotRange.Reserved1 = 0x0002
1191pp_data->cap[24]->NotRange.StringIndex = 0
1192pp_data->cap[24]->NotRange.Reserved2 = 0
1193pp_data->cap[24]->NotRange.DesignatorIndex = 0
1194pp_data->cap[24]->NotRange.Reserved3 = 0
1195pp_data->cap[24]->NotRange.DataIndex = 24
1196pp_data->cap[24]->NotRange.Reserved4 = 24
1197pp_data->cap[24]->Button.LogicalMin = 0
1198pp_data->cap[24]->Button.LogicalMax = 0
1199pp_data->cap[24]->Units = 0
1200pp_data->cap[24]->UnitsExp = 0
1201
1202pp_data->cap[25]->UsagePage = 0xFF01
1203pp_data->cap[25]->ReportID = 0x01
1204pp_data->cap[25]->BitPosition = 2
1205pp_data->cap[25]->BitSize = 1
1206pp_data->cap[25]->ReportCount = 1
1207pp_data->cap[25]->BytePosition = 0x0006
1208pp_data->cap[25]->BitCount = 1
1209pp_data->cap[25]->BitField = 0x02
1210pp_data->cap[25]->NextBytePosition = 0x0007
1211pp_data->cap[25]->LinkCollection = 0x0001
1212pp_data->cap[25]->LinkUsagePage = 0xFF01
1213pp_data->cap[25]->LinkUsage = 0x0001
1214pp_data->cap[25]->IsMultipleItemsForArray = 0
1215pp_data->cap[25]->IsButtonCap = 1
1216pp_data->cap[25]->IsPadding = 0
1217pp_data->cap[25]->IsAbsolute = 1
1218pp_data->cap[25]->IsRange = 0
1219pp_data->cap[25]->IsAlias = 0
1220pp_data->cap[25]->IsStringRange = 0
1221pp_data->cap[25]->IsDesignatorRange = 0
1222pp_data->cap[25]->Reserved1 = 0x000000
1223pp_data->cap[25]->pp_cap->UnknownTokens[0].Token = 0x00
1224pp_data->cap[25]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1225pp_data->cap[25]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1226pp_data->cap[25]->pp_cap->UnknownTokens[1].Token = 0x00
1227pp_data->cap[25]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1228pp_data->cap[25]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1229pp_data->cap[25]->pp_cap->UnknownTokens[2].Token = 0x00
1230pp_data->cap[25]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1231pp_data->cap[25]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1232pp_data->cap[25]->pp_cap->UnknownTokens[3].Token = 0x00
1233pp_data->cap[25]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1234pp_data->cap[25]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1235pp_data->cap[25]->NotRange.Usage = 0x0002
1236pp_data->cap[25]->NotRange.Reserved1 = 0x0002
1237pp_data->cap[25]->NotRange.StringIndex = 0
1238pp_data->cap[25]->NotRange.Reserved2 = 0
1239pp_data->cap[25]->NotRange.DesignatorIndex = 0
1240pp_data->cap[25]->NotRange.Reserved3 = 0
1241pp_data->cap[25]->NotRange.DataIndex = 25
1242pp_data->cap[25]->NotRange.Reserved4 = 25
1243pp_data->cap[25]->Button.LogicalMin = 0
1244pp_data->cap[25]->Button.LogicalMax = 0
1245pp_data->cap[25]->Units = 0
1246pp_data->cap[25]->UnitsExp = 0
1247
1248pp_data->cap[26]->UsagePage = 0xFF01
1249pp_data->cap[26]->ReportID = 0x01
1250pp_data->cap[26]->BitPosition = 1
1251pp_data->cap[26]->BitSize = 1
1252pp_data->cap[26]->ReportCount = 1
1253pp_data->cap[26]->BytePosition = 0x0006
1254pp_data->cap[26]->BitCount = 1
1255pp_data->cap[26]->BitField = 0x02
1256pp_data->cap[26]->NextBytePosition = 0x0007
1257pp_data->cap[26]->LinkCollection = 0x0001
1258pp_data->cap[26]->LinkUsagePage = 0xFF01
1259pp_data->cap[26]->LinkUsage = 0x0001
1260pp_data->cap[26]->IsMultipleItemsForArray = 0
1261pp_data->cap[26]->IsButtonCap = 1
1262pp_data->cap[26]->IsPadding = 0
1263pp_data->cap[26]->IsAbsolute = 1
1264pp_data->cap[26]->IsRange = 0
1265pp_data->cap[26]->IsAlias = 0
1266pp_data->cap[26]->IsStringRange = 0
1267pp_data->cap[26]->IsDesignatorRange = 0
1268pp_data->cap[26]->Reserved1 = 0x000000
1269pp_data->cap[26]->pp_cap->UnknownTokens[0].Token = 0x00
1270pp_data->cap[26]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1271pp_data->cap[26]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1272pp_data->cap[26]->pp_cap->UnknownTokens[1].Token = 0x00
1273pp_data->cap[26]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1274pp_data->cap[26]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1275pp_data->cap[26]->pp_cap->UnknownTokens[2].Token = 0x00
1276pp_data->cap[26]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1277pp_data->cap[26]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1278pp_data->cap[26]->pp_cap->UnknownTokens[3].Token = 0x00
1279pp_data->cap[26]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1280pp_data->cap[26]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1281pp_data->cap[26]->NotRange.Usage = 0x0002
1282pp_data->cap[26]->NotRange.Reserved1 = 0x0002
1283pp_data->cap[26]->NotRange.StringIndex = 0
1284pp_data->cap[26]->NotRange.Reserved2 = 0
1285pp_data->cap[26]->NotRange.DesignatorIndex = 0
1286pp_data->cap[26]->NotRange.Reserved3 = 0
1287pp_data->cap[26]->NotRange.DataIndex = 26
1288pp_data->cap[26]->NotRange.Reserved4 = 26
1289pp_data->cap[26]->Button.LogicalMin = 0
1290pp_data->cap[26]->Button.LogicalMax = 0
1291pp_data->cap[26]->Units = 0
1292pp_data->cap[26]->UnitsExp = 0
1293
1294pp_data->cap[27]->UsagePage = 0xFF01
1295pp_data->cap[27]->ReportID = 0x01
1296pp_data->cap[27]->BitPosition = 0
1297pp_data->cap[27]->BitSize = 1
1298pp_data->cap[27]->ReportCount = 1
1299pp_data->cap[27]->BytePosition = 0x0006
1300pp_data->cap[27]->BitCount = 1
1301pp_data->cap[27]->BitField = 0x02
1302pp_data->cap[27]->NextBytePosition = 0x0007
1303pp_data->cap[27]->LinkCollection = 0x0001
1304pp_data->cap[27]->LinkUsagePage = 0xFF01
1305pp_data->cap[27]->LinkUsage = 0x0001
1306pp_data->cap[27]->IsMultipleItemsForArray = 0
1307pp_data->cap[27]->IsButtonCap = 1
1308pp_data->cap[27]->IsPadding = 0
1309pp_data->cap[27]->IsAbsolute = 1
1310pp_data->cap[27]->IsRange = 0
1311pp_data->cap[27]->IsAlias = 0
1312pp_data->cap[27]->IsStringRange = 0
1313pp_data->cap[27]->IsDesignatorRange = 0
1314pp_data->cap[27]->Reserved1 = 0x000000
1315pp_data->cap[27]->pp_cap->UnknownTokens[0].Token = 0x00
1316pp_data->cap[27]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1317pp_data->cap[27]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1318pp_data->cap[27]->pp_cap->UnknownTokens[1].Token = 0x00
1319pp_data->cap[27]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1320pp_data->cap[27]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1321pp_data->cap[27]->pp_cap->UnknownTokens[2].Token = 0x00
1322pp_data->cap[27]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1323pp_data->cap[27]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1324pp_data->cap[27]->pp_cap->UnknownTokens[3].Token = 0x00
1325pp_data->cap[27]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1326pp_data->cap[27]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1327pp_data->cap[27]->NotRange.Usage = 0x0002
1328pp_data->cap[27]->NotRange.Reserved1 = 0x0002
1329pp_data->cap[27]->NotRange.StringIndex = 0
1330pp_data->cap[27]->NotRange.Reserved2 = 0
1331pp_data->cap[27]->NotRange.DesignatorIndex = 0
1332pp_data->cap[27]->NotRange.Reserved3 = 0
1333pp_data->cap[27]->NotRange.DataIndex = 27
1334pp_data->cap[27]->NotRange.Reserved4 = 27
1335pp_data->cap[27]->Button.LogicalMin = 0
1336pp_data->cap[27]->Button.LogicalMax = 0
1337pp_data->cap[27]->Units = 0
1338pp_data->cap[27]->UnitsExp = 0
1339
1340pp_data->cap[28]->UsagePage = 0xFF01
1341pp_data->cap[28]->ReportID = 0x01
1342pp_data->cap[28]->BitPosition = 7
1343pp_data->cap[28]->BitSize = 1
1344pp_data->cap[28]->ReportCount = 1
1345pp_data->cap[28]->BytePosition = 0x0005
1346pp_data->cap[28]->BitCount = 1
1347pp_data->cap[28]->BitField = 0x02
1348pp_data->cap[28]->NextBytePosition = 0x0006
1349pp_data->cap[28]->LinkCollection = 0x0001
1350pp_data->cap[28]->LinkUsagePage = 0xFF01
1351pp_data->cap[28]->LinkUsage = 0x0001
1352pp_data->cap[28]->IsMultipleItemsForArray = 0
1353pp_data->cap[28]->IsButtonCap = 1
1354pp_data->cap[28]->IsPadding = 0
1355pp_data->cap[28]->IsAbsolute = 1
1356pp_data->cap[28]->IsRange = 0
1357pp_data->cap[28]->IsAlias = 0
1358pp_data->cap[28]->IsStringRange = 0
1359pp_data->cap[28]->IsDesignatorRange = 0
1360pp_data->cap[28]->Reserved1 = 0x000000
1361pp_data->cap[28]->pp_cap->UnknownTokens[0].Token = 0x00
1362pp_data->cap[28]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1363pp_data->cap[28]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1364pp_data->cap[28]->pp_cap->UnknownTokens[1].Token = 0x00
1365pp_data->cap[28]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1366pp_data->cap[28]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1367pp_data->cap[28]->pp_cap->UnknownTokens[2].Token = 0x00
1368pp_data->cap[28]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1369pp_data->cap[28]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1370pp_data->cap[28]->pp_cap->UnknownTokens[3].Token = 0x00
1371pp_data->cap[28]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1372pp_data->cap[28]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1373pp_data->cap[28]->NotRange.Usage = 0x0002
1374pp_data->cap[28]->NotRange.Reserved1 = 0x0002
1375pp_data->cap[28]->NotRange.StringIndex = 0
1376pp_data->cap[28]->NotRange.Reserved2 = 0
1377pp_data->cap[28]->NotRange.DesignatorIndex = 0
1378pp_data->cap[28]->NotRange.Reserved3 = 0
1379pp_data->cap[28]->NotRange.DataIndex = 28
1380pp_data->cap[28]->NotRange.Reserved4 = 28
1381pp_data->cap[28]->Button.LogicalMin = 0
1382pp_data->cap[28]->Button.LogicalMax = 0
1383pp_data->cap[28]->Units = 0
1384pp_data->cap[28]->UnitsExp = 0
1385
1386pp_data->cap[29]->UsagePage = 0xFF01
1387pp_data->cap[29]->ReportID = 0x01
1388pp_data->cap[29]->BitPosition = 6
1389pp_data->cap[29]->BitSize = 1
1390pp_data->cap[29]->ReportCount = 1
1391pp_data->cap[29]->BytePosition = 0x0005
1392pp_data->cap[29]->BitCount = 1
1393pp_data->cap[29]->BitField = 0x02
1394pp_data->cap[29]->NextBytePosition = 0x0006
1395pp_data->cap[29]->LinkCollection = 0x0001
1396pp_data->cap[29]->LinkUsagePage = 0xFF01
1397pp_data->cap[29]->LinkUsage = 0x0001
1398pp_data->cap[29]->IsMultipleItemsForArray = 0
1399pp_data->cap[29]->IsButtonCap = 1
1400pp_data->cap[29]->IsPadding = 0
1401pp_data->cap[29]->IsAbsolute = 1
1402pp_data->cap[29]->IsRange = 0
1403pp_data->cap[29]->IsAlias = 0
1404pp_data->cap[29]->IsStringRange = 0
1405pp_data->cap[29]->IsDesignatorRange = 0
1406pp_data->cap[29]->Reserved1 = 0x000000
1407pp_data->cap[29]->pp_cap->UnknownTokens[0].Token = 0x00
1408pp_data->cap[29]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1409pp_data->cap[29]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1410pp_data->cap[29]->pp_cap->UnknownTokens[1].Token = 0x00
1411pp_data->cap[29]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1412pp_data->cap[29]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1413pp_data->cap[29]->pp_cap->UnknownTokens[2].Token = 0x00
1414pp_data->cap[29]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1415pp_data->cap[29]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1416pp_data->cap[29]->pp_cap->UnknownTokens[3].Token = 0x00
1417pp_data->cap[29]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1418pp_data->cap[29]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1419pp_data->cap[29]->NotRange.Usage = 0x0002
1420pp_data->cap[29]->NotRange.Reserved1 = 0x0002
1421pp_data->cap[29]->NotRange.StringIndex = 0
1422pp_data->cap[29]->NotRange.Reserved2 = 0
1423pp_data->cap[29]->NotRange.DesignatorIndex = 0
1424pp_data->cap[29]->NotRange.Reserved3 = 0
1425pp_data->cap[29]->NotRange.DataIndex = 29
1426pp_data->cap[29]->NotRange.Reserved4 = 29
1427pp_data->cap[29]->Button.LogicalMin = 0
1428pp_data->cap[29]->Button.LogicalMax = 0
1429pp_data->cap[29]->Units = 0
1430pp_data->cap[29]->UnitsExp = 0
1431
1432pp_data->cap[30]->UsagePage = 0xFF01
1433pp_data->cap[30]->ReportID = 0x01
1434pp_data->cap[30]->BitPosition = 5
1435pp_data->cap[30]->BitSize = 1
1436pp_data->cap[30]->ReportCount = 1
1437pp_data->cap[30]->BytePosition = 0x0005
1438pp_data->cap[30]->BitCount = 1
1439pp_data->cap[30]->BitField = 0x02
1440pp_data->cap[30]->NextBytePosition = 0x0006
1441pp_data->cap[30]->LinkCollection = 0x0001
1442pp_data->cap[30]->LinkUsagePage = 0xFF01
1443pp_data->cap[30]->LinkUsage = 0x0001
1444pp_data->cap[30]->IsMultipleItemsForArray = 0
1445pp_data->cap[30]->IsButtonCap = 1
1446pp_data->cap[30]->IsPadding = 0
1447pp_data->cap[30]->IsAbsolute = 1
1448pp_data->cap[30]->IsRange = 0
1449pp_data->cap[30]->IsAlias = 0
1450pp_data->cap[30]->IsStringRange = 0
1451pp_data->cap[30]->IsDesignatorRange = 0
1452pp_data->cap[30]->Reserved1 = 0x000000
1453pp_data->cap[30]->pp_cap->UnknownTokens[0].Token = 0x00
1454pp_data->cap[30]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1455pp_data->cap[30]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1456pp_data->cap[30]->pp_cap->UnknownTokens[1].Token = 0x00
1457pp_data->cap[30]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1458pp_data->cap[30]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1459pp_data->cap[30]->pp_cap->UnknownTokens[2].Token = 0x00
1460pp_data->cap[30]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1461pp_data->cap[30]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1462pp_data->cap[30]->pp_cap->UnknownTokens[3].Token = 0x00
1463pp_data->cap[30]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1464pp_data->cap[30]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1465pp_data->cap[30]->NotRange.Usage = 0x0002
1466pp_data->cap[30]->NotRange.Reserved1 = 0x0002
1467pp_data->cap[30]->NotRange.StringIndex = 0
1468pp_data->cap[30]->NotRange.Reserved2 = 0
1469pp_data->cap[30]->NotRange.DesignatorIndex = 0
1470pp_data->cap[30]->NotRange.Reserved3 = 0
1471pp_data->cap[30]->NotRange.DataIndex = 30
1472pp_data->cap[30]->NotRange.Reserved4 = 30
1473pp_data->cap[30]->Button.LogicalMin = 0
1474pp_data->cap[30]->Button.LogicalMax = 0
1475pp_data->cap[30]->Units = 0
1476pp_data->cap[30]->UnitsExp = 0
1477
1478pp_data->cap[31]->UsagePage = 0xFF01
1479pp_data->cap[31]->ReportID = 0x01
1480pp_data->cap[31]->BitPosition = 4
1481pp_data->cap[31]->BitSize = 1
1482pp_data->cap[31]->ReportCount = 1
1483pp_data->cap[31]->BytePosition = 0x0005
1484pp_data->cap[31]->BitCount = 1
1485pp_data->cap[31]->BitField = 0x02
1486pp_data->cap[31]->NextBytePosition = 0x0006
1487pp_data->cap[31]->LinkCollection = 0x0001
1488pp_data->cap[31]->LinkUsagePage = 0xFF01
1489pp_data->cap[31]->LinkUsage = 0x0001
1490pp_data->cap[31]->IsMultipleItemsForArray = 0
1491pp_data->cap[31]->IsButtonCap = 1
1492pp_data->cap[31]->IsPadding = 0
1493pp_data->cap[31]->IsAbsolute = 1
1494pp_data->cap[31]->IsRange = 0
1495pp_data->cap[31]->IsAlias = 0
1496pp_data->cap[31]->IsStringRange = 0
1497pp_data->cap[31]->IsDesignatorRange = 0
1498pp_data->cap[31]->Reserved1 = 0x000000
1499pp_data->cap[31]->pp_cap->UnknownTokens[0].Token = 0x00
1500pp_data->cap[31]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1501pp_data->cap[31]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1502pp_data->cap[31]->pp_cap->UnknownTokens[1].Token = 0x00
1503pp_data->cap[31]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1504pp_data->cap[31]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1505pp_data->cap[31]->pp_cap->UnknownTokens[2].Token = 0x00
1506pp_data->cap[31]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1507pp_data->cap[31]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1508pp_data->cap[31]->pp_cap->UnknownTokens[3].Token = 0x00
1509pp_data->cap[31]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1510pp_data->cap[31]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1511pp_data->cap[31]->NotRange.Usage = 0x0002
1512pp_data->cap[31]->NotRange.Reserved1 = 0x0002
1513pp_data->cap[31]->NotRange.StringIndex = 0
1514pp_data->cap[31]->NotRange.Reserved2 = 0
1515pp_data->cap[31]->NotRange.DesignatorIndex = 0
1516pp_data->cap[31]->NotRange.Reserved3 = 0
1517pp_data->cap[31]->NotRange.DataIndex = 31
1518pp_data->cap[31]->NotRange.Reserved4 = 31
1519pp_data->cap[31]->Button.LogicalMin = 0
1520pp_data->cap[31]->Button.LogicalMax = 0
1521pp_data->cap[31]->Units = 0
1522pp_data->cap[31]->UnitsExp = 0
1523
1524pp_data->cap[32]->UsagePage = 0xFF01
1525pp_data->cap[32]->ReportID = 0x01
1526pp_data->cap[32]->BitPosition = 3
1527pp_data->cap[32]->BitSize = 1
1528pp_data->cap[32]->ReportCount = 1
1529pp_data->cap[32]->BytePosition = 0x0005
1530pp_data->cap[32]->BitCount = 1
1531pp_data->cap[32]->BitField = 0x02
1532pp_data->cap[32]->NextBytePosition = 0x0006
1533pp_data->cap[32]->LinkCollection = 0x0001
1534pp_data->cap[32]->LinkUsagePage = 0xFF01
1535pp_data->cap[32]->LinkUsage = 0x0001
1536pp_data->cap[32]->IsMultipleItemsForArray = 0
1537pp_data->cap[32]->IsButtonCap = 1
1538pp_data->cap[32]->IsPadding = 0
1539pp_data->cap[32]->IsAbsolute = 1
1540pp_data->cap[32]->IsRange = 0
1541pp_data->cap[32]->IsAlias = 0
1542pp_data->cap[32]->IsStringRange = 0
1543pp_data->cap[32]->IsDesignatorRange = 0
1544pp_data->cap[32]->Reserved1 = 0x000000
1545pp_data->cap[32]->pp_cap->UnknownTokens[0].Token = 0x00
1546pp_data->cap[32]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1547pp_data->cap[32]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1548pp_data->cap[32]->pp_cap->UnknownTokens[1].Token = 0x00
1549pp_data->cap[32]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1550pp_data->cap[32]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1551pp_data->cap[32]->pp_cap->UnknownTokens[2].Token = 0x00
1552pp_data->cap[32]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1553pp_data->cap[32]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1554pp_data->cap[32]->pp_cap->UnknownTokens[3].Token = 0x00
1555pp_data->cap[32]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1556pp_data->cap[32]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1557pp_data->cap[32]->NotRange.Usage = 0x0002
1558pp_data->cap[32]->NotRange.Reserved1 = 0x0002
1559pp_data->cap[32]->NotRange.StringIndex = 0
1560pp_data->cap[32]->NotRange.Reserved2 = 0
1561pp_data->cap[32]->NotRange.DesignatorIndex = 0
1562pp_data->cap[32]->NotRange.Reserved3 = 0
1563pp_data->cap[32]->NotRange.DataIndex = 32
1564pp_data->cap[32]->NotRange.Reserved4 = 32
1565pp_data->cap[32]->Button.LogicalMin = 0
1566pp_data->cap[32]->Button.LogicalMax = 0
1567pp_data->cap[32]->Units = 0
1568pp_data->cap[32]->UnitsExp = 0
1569
1570pp_data->cap[33]->UsagePage = 0xFF01
1571pp_data->cap[33]->ReportID = 0x01
1572pp_data->cap[33]->BitPosition = 2
1573pp_data->cap[33]->BitSize = 1
1574pp_data->cap[33]->ReportCount = 1
1575pp_data->cap[33]->BytePosition = 0x0005
1576pp_data->cap[33]->BitCount = 1
1577pp_data->cap[33]->BitField = 0x02
1578pp_data->cap[33]->NextBytePosition = 0x0006
1579pp_data->cap[33]->LinkCollection = 0x0001
1580pp_data->cap[33]->LinkUsagePage = 0xFF01
1581pp_data->cap[33]->LinkUsage = 0x0001
1582pp_data->cap[33]->IsMultipleItemsForArray = 0
1583pp_data->cap[33]->IsButtonCap = 1
1584pp_data->cap[33]->IsPadding = 0
1585pp_data->cap[33]->IsAbsolute = 1
1586pp_data->cap[33]->IsRange = 0
1587pp_data->cap[33]->IsAlias = 0
1588pp_data->cap[33]->IsStringRange = 0
1589pp_data->cap[33]->IsDesignatorRange = 0
1590pp_data->cap[33]->Reserved1 = 0x000000
1591pp_data->cap[33]->pp_cap->UnknownTokens[0].Token = 0x00
1592pp_data->cap[33]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1593pp_data->cap[33]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1594pp_data->cap[33]->pp_cap->UnknownTokens[1].Token = 0x00
1595pp_data->cap[33]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1596pp_data->cap[33]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1597pp_data->cap[33]->pp_cap->UnknownTokens[2].Token = 0x00
1598pp_data->cap[33]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1599pp_data->cap[33]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1600pp_data->cap[33]->pp_cap->UnknownTokens[3].Token = 0x00
1601pp_data->cap[33]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1602pp_data->cap[33]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1603pp_data->cap[33]->NotRange.Usage = 0x0002
1604pp_data->cap[33]->NotRange.Reserved1 = 0x0002
1605pp_data->cap[33]->NotRange.StringIndex = 0
1606pp_data->cap[33]->NotRange.Reserved2 = 0
1607pp_data->cap[33]->NotRange.DesignatorIndex = 0
1608pp_data->cap[33]->NotRange.Reserved3 = 0
1609pp_data->cap[33]->NotRange.DataIndex = 33
1610pp_data->cap[33]->NotRange.Reserved4 = 33
1611pp_data->cap[33]->Button.LogicalMin = 0
1612pp_data->cap[33]->Button.LogicalMax = 0
1613pp_data->cap[33]->Units = 0
1614pp_data->cap[33]->UnitsExp = 0
1615
1616pp_data->cap[34]->UsagePage = 0xFF01
1617pp_data->cap[34]->ReportID = 0x01
1618pp_data->cap[34]->BitPosition = 1
1619pp_data->cap[34]->BitSize = 1
1620pp_data->cap[34]->ReportCount = 1
1621pp_data->cap[34]->BytePosition = 0x0005
1622pp_data->cap[34]->BitCount = 1
1623pp_data->cap[34]->BitField = 0x02
1624pp_data->cap[34]->NextBytePosition = 0x0006
1625pp_data->cap[34]->LinkCollection = 0x0001
1626pp_data->cap[34]->LinkUsagePage = 0xFF01
1627pp_data->cap[34]->LinkUsage = 0x0001
1628pp_data->cap[34]->IsMultipleItemsForArray = 0
1629pp_data->cap[34]->IsButtonCap = 1
1630pp_data->cap[34]->IsPadding = 0
1631pp_data->cap[34]->IsAbsolute = 1
1632pp_data->cap[34]->IsRange = 0
1633pp_data->cap[34]->IsAlias = 0
1634pp_data->cap[34]->IsStringRange = 0
1635pp_data->cap[34]->IsDesignatorRange = 0
1636pp_data->cap[34]->Reserved1 = 0x000000
1637pp_data->cap[34]->pp_cap->UnknownTokens[0].Token = 0x00
1638pp_data->cap[34]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1639pp_data->cap[34]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1640pp_data->cap[34]->pp_cap->UnknownTokens[1].Token = 0x00
1641pp_data->cap[34]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1642pp_data->cap[34]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1643pp_data->cap[34]->pp_cap->UnknownTokens[2].Token = 0x00
1644pp_data->cap[34]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1645pp_data->cap[34]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1646pp_data->cap[34]->pp_cap->UnknownTokens[3].Token = 0x00
1647pp_data->cap[34]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1648pp_data->cap[34]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1649pp_data->cap[34]->NotRange.Usage = 0x0002
1650pp_data->cap[34]->NotRange.Reserved1 = 0x0002
1651pp_data->cap[34]->NotRange.StringIndex = 0
1652pp_data->cap[34]->NotRange.Reserved2 = 0
1653pp_data->cap[34]->NotRange.DesignatorIndex = 0
1654pp_data->cap[34]->NotRange.Reserved3 = 0
1655pp_data->cap[34]->NotRange.DataIndex = 34
1656pp_data->cap[34]->NotRange.Reserved4 = 34
1657pp_data->cap[34]->Button.LogicalMin = 0
1658pp_data->cap[34]->Button.LogicalMax = 0
1659pp_data->cap[34]->Units = 0
1660pp_data->cap[34]->UnitsExp = 0
1661
1662pp_data->cap[35]->UsagePage = 0xFF01
1663pp_data->cap[35]->ReportID = 0x01
1664pp_data->cap[35]->BitPosition = 0
1665pp_data->cap[35]->BitSize = 1
1666pp_data->cap[35]->ReportCount = 1
1667pp_data->cap[35]->BytePosition = 0x0005
1668pp_data->cap[35]->BitCount = 1
1669pp_data->cap[35]->BitField = 0x02
1670pp_data->cap[35]->NextBytePosition = 0x0006
1671pp_data->cap[35]->LinkCollection = 0x0001
1672pp_data->cap[35]->LinkUsagePage = 0xFF01
1673pp_data->cap[35]->LinkUsage = 0x0001
1674pp_data->cap[35]->IsMultipleItemsForArray = 0
1675pp_data->cap[35]->IsButtonCap = 1
1676pp_data->cap[35]->IsPadding = 0
1677pp_data->cap[35]->IsAbsolute = 1
1678pp_data->cap[35]->IsRange = 0
1679pp_data->cap[35]->IsAlias = 0
1680pp_data->cap[35]->IsStringRange = 0
1681pp_data->cap[35]->IsDesignatorRange = 0
1682pp_data->cap[35]->Reserved1 = 0x000000
1683pp_data->cap[35]->pp_cap->UnknownTokens[0].Token = 0x00
1684pp_data->cap[35]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1685pp_data->cap[35]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1686pp_data->cap[35]->pp_cap->UnknownTokens[1].Token = 0x00
1687pp_data->cap[35]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1688pp_data->cap[35]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1689pp_data->cap[35]->pp_cap->UnknownTokens[2].Token = 0x00
1690pp_data->cap[35]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1691pp_data->cap[35]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1692pp_data->cap[35]->pp_cap->UnknownTokens[3].Token = 0x00
1693pp_data->cap[35]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1694pp_data->cap[35]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1695pp_data->cap[35]->NotRange.Usage = 0x0002
1696pp_data->cap[35]->NotRange.Reserved1 = 0x0002
1697pp_data->cap[35]->NotRange.StringIndex = 0
1698pp_data->cap[35]->NotRange.Reserved2 = 0
1699pp_data->cap[35]->NotRange.DesignatorIndex = 0
1700pp_data->cap[35]->NotRange.Reserved3 = 0
1701pp_data->cap[35]->NotRange.DataIndex = 35
1702pp_data->cap[35]->NotRange.Reserved4 = 35
1703pp_data->cap[35]->Button.LogicalMin = 0
1704pp_data->cap[35]->Button.LogicalMax = 0
1705pp_data->cap[35]->Units = 0
1706pp_data->cap[35]->UnitsExp = 0
1707
1708pp_data->cap[36]->UsagePage = 0xFF01
1709pp_data->cap[36]->ReportID = 0x01
1710pp_data->cap[36]->BitPosition = 7
1711pp_data->cap[36]->BitSize = 1
1712pp_data->cap[36]->ReportCount = 1
1713pp_data->cap[36]->BytePosition = 0x0004
1714pp_data->cap[36]->BitCount = 1
1715pp_data->cap[36]->BitField = 0x02
1716pp_data->cap[36]->NextBytePosition = 0x0005
1717pp_data->cap[36]->LinkCollection = 0x0001
1718pp_data->cap[36]->LinkUsagePage = 0xFF01
1719pp_data->cap[36]->LinkUsage = 0x0001
1720pp_data->cap[36]->IsMultipleItemsForArray = 0
1721pp_data->cap[36]->IsButtonCap = 1
1722pp_data->cap[36]->IsPadding = 0
1723pp_data->cap[36]->IsAbsolute = 1
1724pp_data->cap[36]->IsRange = 0
1725pp_data->cap[36]->IsAlias = 0
1726pp_data->cap[36]->IsStringRange = 0
1727pp_data->cap[36]->IsDesignatorRange = 0
1728pp_data->cap[36]->Reserved1 = 0x000000
1729pp_data->cap[36]->pp_cap->UnknownTokens[0].Token = 0x00
1730pp_data->cap[36]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1731pp_data->cap[36]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1732pp_data->cap[36]->pp_cap->UnknownTokens[1].Token = 0x00
1733pp_data->cap[36]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1734pp_data->cap[36]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1735pp_data->cap[36]->pp_cap->UnknownTokens[2].Token = 0x00
1736pp_data->cap[36]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1737pp_data->cap[36]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1738pp_data->cap[36]->pp_cap->UnknownTokens[3].Token = 0x00
1739pp_data->cap[36]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1740pp_data->cap[36]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1741pp_data->cap[36]->NotRange.Usage = 0x0002
1742pp_data->cap[36]->NotRange.Reserved1 = 0x0002
1743pp_data->cap[36]->NotRange.StringIndex = 0
1744pp_data->cap[36]->NotRange.Reserved2 = 0
1745pp_data->cap[36]->NotRange.DesignatorIndex = 0
1746pp_data->cap[36]->NotRange.Reserved3 = 0
1747pp_data->cap[36]->NotRange.DataIndex = 36
1748pp_data->cap[36]->NotRange.Reserved4 = 36
1749pp_data->cap[36]->Button.LogicalMin = 0
1750pp_data->cap[36]->Button.LogicalMax = 0
1751pp_data->cap[36]->Units = 0
1752pp_data->cap[36]->UnitsExp = 0
1753
1754pp_data->cap[37]->UsagePage = 0xFF01
1755pp_data->cap[37]->ReportID = 0x01
1756pp_data->cap[37]->BitPosition = 6
1757pp_data->cap[37]->BitSize = 1
1758pp_data->cap[37]->ReportCount = 1
1759pp_data->cap[37]->BytePosition = 0x0004
1760pp_data->cap[37]->BitCount = 1
1761pp_data->cap[37]->BitField = 0x02
1762pp_data->cap[37]->NextBytePosition = 0x0005
1763pp_data->cap[37]->LinkCollection = 0x0001
1764pp_data->cap[37]->LinkUsagePage = 0xFF01
1765pp_data->cap[37]->LinkUsage = 0x0001
1766pp_data->cap[37]->IsMultipleItemsForArray = 0
1767pp_data->cap[37]->IsButtonCap = 1
1768pp_data->cap[37]->IsPadding = 0
1769pp_data->cap[37]->IsAbsolute = 1
1770pp_data->cap[37]->IsRange = 0
1771pp_data->cap[37]->IsAlias = 0
1772pp_data->cap[37]->IsStringRange = 0
1773pp_data->cap[37]->IsDesignatorRange = 0
1774pp_data->cap[37]->Reserved1 = 0x000000
1775pp_data->cap[37]->pp_cap->UnknownTokens[0].Token = 0x00
1776pp_data->cap[37]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1777pp_data->cap[37]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1778pp_data->cap[37]->pp_cap->UnknownTokens[1].Token = 0x00
1779pp_data->cap[37]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1780pp_data->cap[37]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1781pp_data->cap[37]->pp_cap->UnknownTokens[2].Token = 0x00
1782pp_data->cap[37]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1783pp_data->cap[37]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1784pp_data->cap[37]->pp_cap->UnknownTokens[3].Token = 0x00
1785pp_data->cap[37]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1786pp_data->cap[37]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1787pp_data->cap[37]->NotRange.Usage = 0x0002
1788pp_data->cap[37]->NotRange.Reserved1 = 0x0002
1789pp_data->cap[37]->NotRange.StringIndex = 0
1790pp_data->cap[37]->NotRange.Reserved2 = 0
1791pp_data->cap[37]->NotRange.DesignatorIndex = 0
1792pp_data->cap[37]->NotRange.Reserved3 = 0
1793pp_data->cap[37]->NotRange.DataIndex = 37
1794pp_data->cap[37]->NotRange.Reserved4 = 37
1795pp_data->cap[37]->Button.LogicalMin = 0
1796pp_data->cap[37]->Button.LogicalMax = 0
1797pp_data->cap[37]->Units = 0
1798pp_data->cap[37]->UnitsExp = 0
1799
1800pp_data->cap[38]->UsagePage = 0xFF01
1801pp_data->cap[38]->ReportID = 0x01
1802pp_data->cap[38]->BitPosition = 5
1803pp_data->cap[38]->BitSize = 1
1804pp_data->cap[38]->ReportCount = 1
1805pp_data->cap[38]->BytePosition = 0x0004
1806pp_data->cap[38]->BitCount = 1
1807pp_data->cap[38]->BitField = 0x02
1808pp_data->cap[38]->NextBytePosition = 0x0005
1809pp_data->cap[38]->LinkCollection = 0x0001
1810pp_data->cap[38]->LinkUsagePage = 0xFF01
1811pp_data->cap[38]->LinkUsage = 0x0001
1812pp_data->cap[38]->IsMultipleItemsForArray = 0
1813pp_data->cap[38]->IsButtonCap = 1
1814pp_data->cap[38]->IsPadding = 0
1815pp_data->cap[38]->IsAbsolute = 1
1816pp_data->cap[38]->IsRange = 0
1817pp_data->cap[38]->IsAlias = 0
1818pp_data->cap[38]->IsStringRange = 0
1819pp_data->cap[38]->IsDesignatorRange = 0
1820pp_data->cap[38]->Reserved1 = 0x000000
1821pp_data->cap[38]->pp_cap->UnknownTokens[0].Token = 0x00
1822pp_data->cap[38]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1823pp_data->cap[38]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1824pp_data->cap[38]->pp_cap->UnknownTokens[1].Token = 0x00
1825pp_data->cap[38]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1826pp_data->cap[38]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1827pp_data->cap[38]->pp_cap->UnknownTokens[2].Token = 0x00
1828pp_data->cap[38]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1829pp_data->cap[38]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1830pp_data->cap[38]->pp_cap->UnknownTokens[3].Token = 0x00
1831pp_data->cap[38]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1832pp_data->cap[38]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1833pp_data->cap[38]->NotRange.Usage = 0x0002
1834pp_data->cap[38]->NotRange.Reserved1 = 0x0002
1835pp_data->cap[38]->NotRange.StringIndex = 0
1836pp_data->cap[38]->NotRange.Reserved2 = 0
1837pp_data->cap[38]->NotRange.DesignatorIndex = 0
1838pp_data->cap[38]->NotRange.Reserved3 = 0
1839pp_data->cap[38]->NotRange.DataIndex = 38
1840pp_data->cap[38]->NotRange.Reserved4 = 38
1841pp_data->cap[38]->Button.LogicalMin = 0
1842pp_data->cap[38]->Button.LogicalMax = 0
1843pp_data->cap[38]->Units = 0
1844pp_data->cap[38]->UnitsExp = 0
1845
1846pp_data->cap[39]->UsagePage = 0xFF01
1847pp_data->cap[39]->ReportID = 0x01
1848pp_data->cap[39]->BitPosition = 4
1849pp_data->cap[39]->BitSize = 1
1850pp_data->cap[39]->ReportCount = 1
1851pp_data->cap[39]->BytePosition = 0x0004
1852pp_data->cap[39]->BitCount = 1
1853pp_data->cap[39]->BitField = 0x02
1854pp_data->cap[39]->NextBytePosition = 0x0005
1855pp_data->cap[39]->LinkCollection = 0x0001
1856pp_data->cap[39]->LinkUsagePage = 0xFF01
1857pp_data->cap[39]->LinkUsage = 0x0001
1858pp_data->cap[39]->IsMultipleItemsForArray = 0
1859pp_data->cap[39]->IsButtonCap = 1
1860pp_data->cap[39]->IsPadding = 0
1861pp_data->cap[39]->IsAbsolute = 1
1862pp_data->cap[39]->IsRange = 0
1863pp_data->cap[39]->IsAlias = 0
1864pp_data->cap[39]->IsStringRange = 0
1865pp_data->cap[39]->IsDesignatorRange = 0
1866pp_data->cap[39]->Reserved1 = 0x000000
1867pp_data->cap[39]->pp_cap->UnknownTokens[0].Token = 0x00
1868pp_data->cap[39]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1869pp_data->cap[39]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1870pp_data->cap[39]->pp_cap->UnknownTokens[1].Token = 0x00
1871pp_data->cap[39]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1872pp_data->cap[39]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1873pp_data->cap[39]->pp_cap->UnknownTokens[2].Token = 0x00
1874pp_data->cap[39]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1875pp_data->cap[39]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1876pp_data->cap[39]->pp_cap->UnknownTokens[3].Token = 0x00
1877pp_data->cap[39]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1878pp_data->cap[39]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1879pp_data->cap[39]->NotRange.Usage = 0x0002
1880pp_data->cap[39]->NotRange.Reserved1 = 0x0002
1881pp_data->cap[39]->NotRange.StringIndex = 0
1882pp_data->cap[39]->NotRange.Reserved2 = 0
1883pp_data->cap[39]->NotRange.DesignatorIndex = 0
1884pp_data->cap[39]->NotRange.Reserved3 = 0
1885pp_data->cap[39]->NotRange.DataIndex = 39
1886pp_data->cap[39]->NotRange.Reserved4 = 39
1887pp_data->cap[39]->Button.LogicalMin = 0
1888pp_data->cap[39]->Button.LogicalMax = 0
1889pp_data->cap[39]->Units = 0
1890pp_data->cap[39]->UnitsExp = 0
1891
1892pp_data->cap[40]->UsagePage = 0xFF01
1893pp_data->cap[40]->ReportID = 0x01
1894pp_data->cap[40]->BitPosition = 3
1895pp_data->cap[40]->BitSize = 1
1896pp_data->cap[40]->ReportCount = 1
1897pp_data->cap[40]->BytePosition = 0x0004
1898pp_data->cap[40]->BitCount = 1
1899pp_data->cap[40]->BitField = 0x02
1900pp_data->cap[40]->NextBytePosition = 0x0005
1901pp_data->cap[40]->LinkCollection = 0x0001
1902pp_data->cap[40]->LinkUsagePage = 0xFF01
1903pp_data->cap[40]->LinkUsage = 0x0001
1904pp_data->cap[40]->IsMultipleItemsForArray = 0
1905pp_data->cap[40]->IsButtonCap = 1
1906pp_data->cap[40]->IsPadding = 0
1907pp_data->cap[40]->IsAbsolute = 1
1908pp_data->cap[40]->IsRange = 0
1909pp_data->cap[40]->IsAlias = 0
1910pp_data->cap[40]->IsStringRange = 0
1911pp_data->cap[40]->IsDesignatorRange = 0
1912pp_data->cap[40]->Reserved1 = 0x000000
1913pp_data->cap[40]->pp_cap->UnknownTokens[0].Token = 0x00
1914pp_data->cap[40]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1915pp_data->cap[40]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1916pp_data->cap[40]->pp_cap->UnknownTokens[1].Token = 0x00
1917pp_data->cap[40]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1918pp_data->cap[40]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1919pp_data->cap[40]->pp_cap->UnknownTokens[2].Token = 0x00
1920pp_data->cap[40]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1921pp_data->cap[40]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1922pp_data->cap[40]->pp_cap->UnknownTokens[3].Token = 0x00
1923pp_data->cap[40]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1924pp_data->cap[40]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1925pp_data->cap[40]->NotRange.Usage = 0x0002
1926pp_data->cap[40]->NotRange.Reserved1 = 0x0002
1927pp_data->cap[40]->NotRange.StringIndex = 0
1928pp_data->cap[40]->NotRange.Reserved2 = 0
1929pp_data->cap[40]->NotRange.DesignatorIndex = 0
1930pp_data->cap[40]->NotRange.Reserved3 = 0
1931pp_data->cap[40]->NotRange.DataIndex = 40
1932pp_data->cap[40]->NotRange.Reserved4 = 40
1933pp_data->cap[40]->Button.LogicalMin = 0
1934pp_data->cap[40]->Button.LogicalMax = 0
1935pp_data->cap[40]->Units = 0
1936pp_data->cap[40]->UnitsExp = 0
1937
1938pp_data->cap[41]->UsagePage = 0xFF01
1939pp_data->cap[41]->ReportID = 0x01
1940pp_data->cap[41]->BitPosition = 2
1941pp_data->cap[41]->BitSize = 1
1942pp_data->cap[41]->ReportCount = 1
1943pp_data->cap[41]->BytePosition = 0x0004
1944pp_data->cap[41]->BitCount = 1
1945pp_data->cap[41]->BitField = 0x02
1946pp_data->cap[41]->NextBytePosition = 0x0005
1947pp_data->cap[41]->LinkCollection = 0x0001
1948pp_data->cap[41]->LinkUsagePage = 0xFF01
1949pp_data->cap[41]->LinkUsage = 0x0001
1950pp_data->cap[41]->IsMultipleItemsForArray = 0
1951pp_data->cap[41]->IsButtonCap = 1
1952pp_data->cap[41]->IsPadding = 0
1953pp_data->cap[41]->IsAbsolute = 1
1954pp_data->cap[41]->IsRange = 0
1955pp_data->cap[41]->IsAlias = 0
1956pp_data->cap[41]->IsStringRange = 0
1957pp_data->cap[41]->IsDesignatorRange = 0
1958pp_data->cap[41]->Reserved1 = 0x000000
1959pp_data->cap[41]->pp_cap->UnknownTokens[0].Token = 0x00
1960pp_data->cap[41]->pp_cap->UnknownTokens[0].Reserved = 0x000000
1961pp_data->cap[41]->pp_cap->UnknownTokens[0].BitField = 0x00000000
1962pp_data->cap[41]->pp_cap->UnknownTokens[1].Token = 0x00
1963pp_data->cap[41]->pp_cap->UnknownTokens[1].Reserved = 0x000000
1964pp_data->cap[41]->pp_cap->UnknownTokens[1].BitField = 0x00000000
1965pp_data->cap[41]->pp_cap->UnknownTokens[2].Token = 0x00
1966pp_data->cap[41]->pp_cap->UnknownTokens[2].Reserved = 0x000000
1967pp_data->cap[41]->pp_cap->UnknownTokens[2].BitField = 0x00000000
1968pp_data->cap[41]->pp_cap->UnknownTokens[3].Token = 0x00
1969pp_data->cap[41]->pp_cap->UnknownTokens[3].Reserved = 0x000000
1970pp_data->cap[41]->pp_cap->UnknownTokens[3].BitField = 0x00000000
1971pp_data->cap[41]->NotRange.Usage = 0x0002
1972pp_data->cap[41]->NotRange.Reserved1 = 0x0002
1973pp_data->cap[41]->NotRange.StringIndex = 0
1974pp_data->cap[41]->NotRange.Reserved2 = 0
1975pp_data->cap[41]->NotRange.DesignatorIndex = 0
1976pp_data->cap[41]->NotRange.Reserved3 = 0
1977pp_data->cap[41]->NotRange.DataIndex = 41
1978pp_data->cap[41]->NotRange.Reserved4 = 41
1979pp_data->cap[41]->Button.LogicalMin = 0
1980pp_data->cap[41]->Button.LogicalMax = 0
1981pp_data->cap[41]->Units = 0
1982pp_data->cap[41]->UnitsExp = 0
1983
1984pp_data->cap[42]->UsagePage = 0xFF01
1985pp_data->cap[42]->ReportID = 0x01
1986pp_data->cap[42]->BitPosition = 1
1987pp_data->cap[42]->BitSize = 1
1988pp_data->cap[42]->ReportCount = 1
1989pp_data->cap[42]->BytePosition = 0x0004
1990pp_data->cap[42]->BitCount = 1
1991pp_data->cap[42]->BitField = 0x02
1992pp_data->cap[42]->NextBytePosition = 0x0005
1993pp_data->cap[42]->LinkCollection = 0x0001
1994pp_data->cap[42]->LinkUsagePage = 0xFF01
1995pp_data->cap[42]->LinkUsage = 0x0001
1996pp_data->cap[42]->IsMultipleItemsForArray = 0
1997pp_data->cap[42]->IsButtonCap = 1
1998pp_data->cap[42]->IsPadding = 0
1999pp_data->cap[42]->IsAbsolute = 1
2000pp_data->cap[42]->IsRange = 0
2001pp_data->cap[42]->IsAlias = 0
2002pp_data->cap[42]->IsStringRange = 0
2003pp_data->cap[42]->IsDesignatorRange = 0
2004pp_data->cap[42]->Reserved1 = 0x000000
2005pp_data->cap[42]->pp_cap->UnknownTokens[0].Token = 0x00
2006pp_data->cap[42]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2007pp_data->cap[42]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2008pp_data->cap[42]->pp_cap->UnknownTokens[1].Token = 0x00
2009pp_data->cap[42]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2010pp_data->cap[42]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2011pp_data->cap[42]->pp_cap->UnknownTokens[2].Token = 0x00
2012pp_data->cap[42]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2013pp_data->cap[42]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2014pp_data->cap[42]->pp_cap->UnknownTokens[3].Token = 0x00
2015pp_data->cap[42]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2016pp_data->cap[42]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2017pp_data->cap[42]->NotRange.Usage = 0x0002
2018pp_data->cap[42]->NotRange.Reserved1 = 0x0002
2019pp_data->cap[42]->NotRange.StringIndex = 0
2020pp_data->cap[42]->NotRange.Reserved2 = 0
2021pp_data->cap[42]->NotRange.DesignatorIndex = 0
2022pp_data->cap[42]->NotRange.Reserved3 = 0
2023pp_data->cap[42]->NotRange.DataIndex = 42
2024pp_data->cap[42]->NotRange.Reserved4 = 42
2025pp_data->cap[42]->Button.LogicalMin = 0
2026pp_data->cap[42]->Button.LogicalMax = 0
2027pp_data->cap[42]->Units = 0
2028pp_data->cap[42]->UnitsExp = 0
2029
2030pp_data->cap[43]->UsagePage = 0xFF01
2031pp_data->cap[43]->ReportID = 0x01
2032pp_data->cap[43]->BitPosition = 0
2033pp_data->cap[43]->BitSize = 1
2034pp_data->cap[43]->ReportCount = 1
2035pp_data->cap[43]->BytePosition = 0x0004
2036pp_data->cap[43]->BitCount = 1
2037pp_data->cap[43]->BitField = 0x02
2038pp_data->cap[43]->NextBytePosition = 0x0005
2039pp_data->cap[43]->LinkCollection = 0x0001
2040pp_data->cap[43]->LinkUsagePage = 0xFF01
2041pp_data->cap[43]->LinkUsage = 0x0001
2042pp_data->cap[43]->IsMultipleItemsForArray = 0
2043pp_data->cap[43]->IsButtonCap = 1
2044pp_data->cap[43]->IsPadding = 0
2045pp_data->cap[43]->IsAbsolute = 1
2046pp_data->cap[43]->IsRange = 0
2047pp_data->cap[43]->IsAlias = 0
2048pp_data->cap[43]->IsStringRange = 0
2049pp_data->cap[43]->IsDesignatorRange = 0
2050pp_data->cap[43]->Reserved1 = 0x000000
2051pp_data->cap[43]->pp_cap->UnknownTokens[0].Token = 0x00
2052pp_data->cap[43]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2053pp_data->cap[43]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2054pp_data->cap[43]->pp_cap->UnknownTokens[1].Token = 0x00
2055pp_data->cap[43]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2056pp_data->cap[43]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2057pp_data->cap[43]->pp_cap->UnknownTokens[2].Token = 0x00
2058pp_data->cap[43]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2059pp_data->cap[43]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2060pp_data->cap[43]->pp_cap->UnknownTokens[3].Token = 0x00
2061pp_data->cap[43]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2062pp_data->cap[43]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2063pp_data->cap[43]->NotRange.Usage = 0x0002
2064pp_data->cap[43]->NotRange.Reserved1 = 0x0002
2065pp_data->cap[43]->NotRange.StringIndex = 0
2066pp_data->cap[43]->NotRange.Reserved2 = 0
2067pp_data->cap[43]->NotRange.DesignatorIndex = 0
2068pp_data->cap[43]->NotRange.Reserved3 = 0
2069pp_data->cap[43]->NotRange.DataIndex = 43
2070pp_data->cap[43]->NotRange.Reserved4 = 43
2071pp_data->cap[43]->Button.LogicalMin = 0
2072pp_data->cap[43]->Button.LogicalMax = 0
2073pp_data->cap[43]->Units = 0
2074pp_data->cap[43]->UnitsExp = 0
2075
2076pp_data->cap[44]->UsagePage = 0xFF01
2077pp_data->cap[44]->ReportID = 0x01
2078pp_data->cap[44]->BitPosition = 7
2079pp_data->cap[44]->BitSize = 1
2080pp_data->cap[44]->ReportCount = 1
2081pp_data->cap[44]->BytePosition = 0x0003
2082pp_data->cap[44]->BitCount = 1
2083pp_data->cap[44]->BitField = 0x02
2084pp_data->cap[44]->NextBytePosition = 0x0004
2085pp_data->cap[44]->LinkCollection = 0x0001
2086pp_data->cap[44]->LinkUsagePage = 0xFF01
2087pp_data->cap[44]->LinkUsage = 0x0001
2088pp_data->cap[44]->IsMultipleItemsForArray = 0
2089pp_data->cap[44]->IsButtonCap = 1
2090pp_data->cap[44]->IsPadding = 0
2091pp_data->cap[44]->IsAbsolute = 1
2092pp_data->cap[44]->IsRange = 0
2093pp_data->cap[44]->IsAlias = 0
2094pp_data->cap[44]->IsStringRange = 0
2095pp_data->cap[44]->IsDesignatorRange = 0
2096pp_data->cap[44]->Reserved1 = 0x000000
2097pp_data->cap[44]->pp_cap->UnknownTokens[0].Token = 0x00
2098pp_data->cap[44]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2099pp_data->cap[44]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2100pp_data->cap[44]->pp_cap->UnknownTokens[1].Token = 0x00
2101pp_data->cap[44]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2102pp_data->cap[44]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2103pp_data->cap[44]->pp_cap->UnknownTokens[2].Token = 0x00
2104pp_data->cap[44]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2105pp_data->cap[44]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2106pp_data->cap[44]->pp_cap->UnknownTokens[3].Token = 0x00
2107pp_data->cap[44]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2108pp_data->cap[44]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2109pp_data->cap[44]->NotRange.Usage = 0x0002
2110pp_data->cap[44]->NotRange.Reserved1 = 0x0002
2111pp_data->cap[44]->NotRange.StringIndex = 0
2112pp_data->cap[44]->NotRange.Reserved2 = 0
2113pp_data->cap[44]->NotRange.DesignatorIndex = 0
2114pp_data->cap[44]->NotRange.Reserved3 = 0
2115pp_data->cap[44]->NotRange.DataIndex = 44
2116pp_data->cap[44]->NotRange.Reserved4 = 44
2117pp_data->cap[44]->Button.LogicalMin = 0
2118pp_data->cap[44]->Button.LogicalMax = 0
2119pp_data->cap[44]->Units = 0
2120pp_data->cap[44]->UnitsExp = 0
2121
2122pp_data->cap[45]->UsagePage = 0xFF01
2123pp_data->cap[45]->ReportID = 0x01
2124pp_data->cap[45]->BitPosition = 6
2125pp_data->cap[45]->BitSize = 1
2126pp_data->cap[45]->ReportCount = 1
2127pp_data->cap[45]->BytePosition = 0x0003
2128pp_data->cap[45]->BitCount = 1
2129pp_data->cap[45]->BitField = 0x02
2130pp_data->cap[45]->NextBytePosition = 0x0004
2131pp_data->cap[45]->LinkCollection = 0x0001
2132pp_data->cap[45]->LinkUsagePage = 0xFF01
2133pp_data->cap[45]->LinkUsage = 0x0001
2134pp_data->cap[45]->IsMultipleItemsForArray = 0
2135pp_data->cap[45]->IsButtonCap = 1
2136pp_data->cap[45]->IsPadding = 0
2137pp_data->cap[45]->IsAbsolute = 1
2138pp_data->cap[45]->IsRange = 0
2139pp_data->cap[45]->IsAlias = 0
2140pp_data->cap[45]->IsStringRange = 0
2141pp_data->cap[45]->IsDesignatorRange = 0
2142pp_data->cap[45]->Reserved1 = 0x000000
2143pp_data->cap[45]->pp_cap->UnknownTokens[0].Token = 0x00
2144pp_data->cap[45]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2145pp_data->cap[45]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2146pp_data->cap[45]->pp_cap->UnknownTokens[1].Token = 0x00
2147pp_data->cap[45]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2148pp_data->cap[45]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2149pp_data->cap[45]->pp_cap->UnknownTokens[2].Token = 0x00
2150pp_data->cap[45]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2151pp_data->cap[45]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2152pp_data->cap[45]->pp_cap->UnknownTokens[3].Token = 0x00
2153pp_data->cap[45]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2154pp_data->cap[45]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2155pp_data->cap[45]->NotRange.Usage = 0x0002
2156pp_data->cap[45]->NotRange.Reserved1 = 0x0002
2157pp_data->cap[45]->NotRange.StringIndex = 0
2158pp_data->cap[45]->NotRange.Reserved2 = 0
2159pp_data->cap[45]->NotRange.DesignatorIndex = 0
2160pp_data->cap[45]->NotRange.Reserved3 = 0
2161pp_data->cap[45]->NotRange.DataIndex = 45
2162pp_data->cap[45]->NotRange.Reserved4 = 45
2163pp_data->cap[45]->Button.LogicalMin = 0
2164pp_data->cap[45]->Button.LogicalMax = 0
2165pp_data->cap[45]->Units = 0
2166pp_data->cap[45]->UnitsExp = 0
2167
2168pp_data->cap[46]->UsagePage = 0xFF01
2169pp_data->cap[46]->ReportID = 0x01
2170pp_data->cap[46]->BitPosition = 5
2171pp_data->cap[46]->BitSize = 1
2172pp_data->cap[46]->ReportCount = 1
2173pp_data->cap[46]->BytePosition = 0x0003
2174pp_data->cap[46]->BitCount = 1
2175pp_data->cap[46]->BitField = 0x02
2176pp_data->cap[46]->NextBytePosition = 0x0004
2177pp_data->cap[46]->LinkCollection = 0x0001
2178pp_data->cap[46]->LinkUsagePage = 0xFF01
2179pp_data->cap[46]->LinkUsage = 0x0001
2180pp_data->cap[46]->IsMultipleItemsForArray = 0
2181pp_data->cap[46]->IsButtonCap = 1
2182pp_data->cap[46]->IsPadding = 0
2183pp_data->cap[46]->IsAbsolute = 1
2184pp_data->cap[46]->IsRange = 0
2185pp_data->cap[46]->IsAlias = 0
2186pp_data->cap[46]->IsStringRange = 0
2187pp_data->cap[46]->IsDesignatorRange = 0
2188pp_data->cap[46]->Reserved1 = 0x000000
2189pp_data->cap[46]->pp_cap->UnknownTokens[0].Token = 0x00
2190pp_data->cap[46]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2191pp_data->cap[46]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2192pp_data->cap[46]->pp_cap->UnknownTokens[1].Token = 0x00
2193pp_data->cap[46]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2194pp_data->cap[46]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2195pp_data->cap[46]->pp_cap->UnknownTokens[2].Token = 0x00
2196pp_data->cap[46]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2197pp_data->cap[46]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2198pp_data->cap[46]->pp_cap->UnknownTokens[3].Token = 0x00
2199pp_data->cap[46]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2200pp_data->cap[46]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2201pp_data->cap[46]->NotRange.Usage = 0x0002
2202pp_data->cap[46]->NotRange.Reserved1 = 0x0002
2203pp_data->cap[46]->NotRange.StringIndex = 0
2204pp_data->cap[46]->NotRange.Reserved2 = 0
2205pp_data->cap[46]->NotRange.DesignatorIndex = 0
2206pp_data->cap[46]->NotRange.Reserved3 = 0
2207pp_data->cap[46]->NotRange.DataIndex = 46
2208pp_data->cap[46]->NotRange.Reserved4 = 46
2209pp_data->cap[46]->Button.LogicalMin = 0
2210pp_data->cap[46]->Button.LogicalMax = 0
2211pp_data->cap[46]->Units = 0
2212pp_data->cap[46]->UnitsExp = 0
2213
2214pp_data->cap[47]->UsagePage = 0xFF01
2215pp_data->cap[47]->ReportID = 0x01
2216pp_data->cap[47]->BitPosition = 4
2217pp_data->cap[47]->BitSize = 1
2218pp_data->cap[47]->ReportCount = 1
2219pp_data->cap[47]->BytePosition = 0x0003
2220pp_data->cap[47]->BitCount = 1
2221pp_data->cap[47]->BitField = 0x02
2222pp_data->cap[47]->NextBytePosition = 0x0004
2223pp_data->cap[47]->LinkCollection = 0x0001
2224pp_data->cap[47]->LinkUsagePage = 0xFF01
2225pp_data->cap[47]->LinkUsage = 0x0001
2226pp_data->cap[47]->IsMultipleItemsForArray = 0
2227pp_data->cap[47]->IsButtonCap = 1
2228pp_data->cap[47]->IsPadding = 0
2229pp_data->cap[47]->IsAbsolute = 1
2230pp_data->cap[47]->IsRange = 0
2231pp_data->cap[47]->IsAlias = 0
2232pp_data->cap[47]->IsStringRange = 0
2233pp_data->cap[47]->IsDesignatorRange = 0
2234pp_data->cap[47]->Reserved1 = 0x000000
2235pp_data->cap[47]->pp_cap->UnknownTokens[0].Token = 0x00
2236pp_data->cap[47]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2237pp_data->cap[47]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2238pp_data->cap[47]->pp_cap->UnknownTokens[1].Token = 0x00
2239pp_data->cap[47]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2240pp_data->cap[47]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2241pp_data->cap[47]->pp_cap->UnknownTokens[2].Token = 0x00
2242pp_data->cap[47]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2243pp_data->cap[47]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2244pp_data->cap[47]->pp_cap->UnknownTokens[3].Token = 0x00
2245pp_data->cap[47]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2246pp_data->cap[47]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2247pp_data->cap[47]->NotRange.Usage = 0x0002
2248pp_data->cap[47]->NotRange.Reserved1 = 0x0002
2249pp_data->cap[47]->NotRange.StringIndex = 0
2250pp_data->cap[47]->NotRange.Reserved2 = 0
2251pp_data->cap[47]->NotRange.DesignatorIndex = 0
2252pp_data->cap[47]->NotRange.Reserved3 = 0
2253pp_data->cap[47]->NotRange.DataIndex = 47
2254pp_data->cap[47]->NotRange.Reserved4 = 47
2255pp_data->cap[47]->Button.LogicalMin = 0
2256pp_data->cap[47]->Button.LogicalMax = 0
2257pp_data->cap[47]->Units = 0
2258pp_data->cap[47]->UnitsExp = 0
2259
2260pp_data->cap[48]->UsagePage = 0xFF01
2261pp_data->cap[48]->ReportID = 0x01
2262pp_data->cap[48]->BitPosition = 3
2263pp_data->cap[48]->BitSize = 1
2264pp_data->cap[48]->ReportCount = 1
2265pp_data->cap[48]->BytePosition = 0x0003
2266pp_data->cap[48]->BitCount = 1
2267pp_data->cap[48]->BitField = 0x02
2268pp_data->cap[48]->NextBytePosition = 0x0004
2269pp_data->cap[48]->LinkCollection = 0x0001
2270pp_data->cap[48]->LinkUsagePage = 0xFF01
2271pp_data->cap[48]->LinkUsage = 0x0001
2272pp_data->cap[48]->IsMultipleItemsForArray = 0
2273pp_data->cap[48]->IsButtonCap = 1
2274pp_data->cap[48]->IsPadding = 0
2275pp_data->cap[48]->IsAbsolute = 1
2276pp_data->cap[48]->IsRange = 0
2277pp_data->cap[48]->IsAlias = 0
2278pp_data->cap[48]->IsStringRange = 0
2279pp_data->cap[48]->IsDesignatorRange = 0
2280pp_data->cap[48]->Reserved1 = 0x000000
2281pp_data->cap[48]->pp_cap->UnknownTokens[0].Token = 0x00
2282pp_data->cap[48]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2283pp_data->cap[48]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2284pp_data->cap[48]->pp_cap->UnknownTokens[1].Token = 0x00
2285pp_data->cap[48]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2286pp_data->cap[48]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2287pp_data->cap[48]->pp_cap->UnknownTokens[2].Token = 0x00
2288pp_data->cap[48]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2289pp_data->cap[48]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2290pp_data->cap[48]->pp_cap->UnknownTokens[3].Token = 0x00
2291pp_data->cap[48]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2292pp_data->cap[48]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2293pp_data->cap[48]->NotRange.Usage = 0x0002
2294pp_data->cap[48]->NotRange.Reserved1 = 0x0002
2295pp_data->cap[48]->NotRange.StringIndex = 0
2296pp_data->cap[48]->NotRange.Reserved2 = 0
2297pp_data->cap[48]->NotRange.DesignatorIndex = 0
2298pp_data->cap[48]->NotRange.Reserved3 = 0
2299pp_data->cap[48]->NotRange.DataIndex = 48
2300pp_data->cap[48]->NotRange.Reserved4 = 48
2301pp_data->cap[48]->Button.LogicalMin = 0
2302pp_data->cap[48]->Button.LogicalMax = 0
2303pp_data->cap[48]->Units = 0
2304pp_data->cap[48]->UnitsExp = 0
2305
2306pp_data->cap[49]->UsagePage = 0xFF01
2307pp_data->cap[49]->ReportID = 0x01
2308pp_data->cap[49]->BitPosition = 2
2309pp_data->cap[49]->BitSize = 1
2310pp_data->cap[49]->ReportCount = 1
2311pp_data->cap[49]->BytePosition = 0x0003
2312pp_data->cap[49]->BitCount = 1
2313pp_data->cap[49]->BitField = 0x02
2314pp_data->cap[49]->NextBytePosition = 0x0004
2315pp_data->cap[49]->LinkCollection = 0x0001
2316pp_data->cap[49]->LinkUsagePage = 0xFF01
2317pp_data->cap[49]->LinkUsage = 0x0001
2318pp_data->cap[49]->IsMultipleItemsForArray = 0
2319pp_data->cap[49]->IsButtonCap = 1
2320pp_data->cap[49]->IsPadding = 0
2321pp_data->cap[49]->IsAbsolute = 1
2322pp_data->cap[49]->IsRange = 0
2323pp_data->cap[49]->IsAlias = 0
2324pp_data->cap[49]->IsStringRange = 0
2325pp_data->cap[49]->IsDesignatorRange = 0
2326pp_data->cap[49]->Reserved1 = 0x000000
2327pp_data->cap[49]->pp_cap->UnknownTokens[0].Token = 0x00
2328pp_data->cap[49]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2329pp_data->cap[49]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2330pp_data->cap[49]->pp_cap->UnknownTokens[1].Token = 0x00
2331pp_data->cap[49]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2332pp_data->cap[49]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2333pp_data->cap[49]->pp_cap->UnknownTokens[2].Token = 0x00
2334pp_data->cap[49]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2335pp_data->cap[49]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2336pp_data->cap[49]->pp_cap->UnknownTokens[3].Token = 0x00
2337pp_data->cap[49]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2338pp_data->cap[49]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2339pp_data->cap[49]->NotRange.Usage = 0x0002
2340pp_data->cap[49]->NotRange.Reserved1 = 0x0002
2341pp_data->cap[49]->NotRange.StringIndex = 0
2342pp_data->cap[49]->NotRange.Reserved2 = 0
2343pp_data->cap[49]->NotRange.DesignatorIndex = 0
2344pp_data->cap[49]->NotRange.Reserved3 = 0
2345pp_data->cap[49]->NotRange.DataIndex = 49
2346pp_data->cap[49]->NotRange.Reserved4 = 49
2347pp_data->cap[49]->Button.LogicalMin = 0
2348pp_data->cap[49]->Button.LogicalMax = 0
2349pp_data->cap[49]->Units = 0
2350pp_data->cap[49]->UnitsExp = 0
2351
2352pp_data->cap[50]->UsagePage = 0xFF01
2353pp_data->cap[50]->ReportID = 0x01
2354pp_data->cap[50]->BitPosition = 1
2355pp_data->cap[50]->BitSize = 1
2356pp_data->cap[50]->ReportCount = 1
2357pp_data->cap[50]->BytePosition = 0x0003
2358pp_data->cap[50]->BitCount = 1
2359pp_data->cap[50]->BitField = 0x02
2360pp_data->cap[50]->NextBytePosition = 0x0004
2361pp_data->cap[50]->LinkCollection = 0x0001
2362pp_data->cap[50]->LinkUsagePage = 0xFF01
2363pp_data->cap[50]->LinkUsage = 0x0001
2364pp_data->cap[50]->IsMultipleItemsForArray = 0
2365pp_data->cap[50]->IsButtonCap = 1
2366pp_data->cap[50]->IsPadding = 0
2367pp_data->cap[50]->IsAbsolute = 1
2368pp_data->cap[50]->IsRange = 0
2369pp_data->cap[50]->IsAlias = 0
2370pp_data->cap[50]->IsStringRange = 0
2371pp_data->cap[50]->IsDesignatorRange = 0
2372pp_data->cap[50]->Reserved1 = 0x000000
2373pp_data->cap[50]->pp_cap->UnknownTokens[0].Token = 0x00
2374pp_data->cap[50]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2375pp_data->cap[50]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2376pp_data->cap[50]->pp_cap->UnknownTokens[1].Token = 0x00
2377pp_data->cap[50]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2378pp_data->cap[50]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2379pp_data->cap[50]->pp_cap->UnknownTokens[2].Token = 0x00
2380pp_data->cap[50]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2381pp_data->cap[50]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2382pp_data->cap[50]->pp_cap->UnknownTokens[3].Token = 0x00
2383pp_data->cap[50]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2384pp_data->cap[50]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2385pp_data->cap[50]->NotRange.Usage = 0x0002
2386pp_data->cap[50]->NotRange.Reserved1 = 0x0002
2387pp_data->cap[50]->NotRange.StringIndex = 0
2388pp_data->cap[50]->NotRange.Reserved2 = 0
2389pp_data->cap[50]->NotRange.DesignatorIndex = 0
2390pp_data->cap[50]->NotRange.Reserved3 = 0
2391pp_data->cap[50]->NotRange.DataIndex = 50
2392pp_data->cap[50]->NotRange.Reserved4 = 50
2393pp_data->cap[50]->Button.LogicalMin = 0
2394pp_data->cap[50]->Button.LogicalMax = 0
2395pp_data->cap[50]->Units = 0
2396pp_data->cap[50]->UnitsExp = 0
2397
2398pp_data->cap[51]->UsagePage = 0xFF01
2399pp_data->cap[51]->ReportID = 0x01
2400pp_data->cap[51]->BitPosition = 0
2401pp_data->cap[51]->BitSize = 1
2402pp_data->cap[51]->ReportCount = 1
2403pp_data->cap[51]->BytePosition = 0x0003
2404pp_data->cap[51]->BitCount = 1
2405pp_data->cap[51]->BitField = 0x02
2406pp_data->cap[51]->NextBytePosition = 0x0004
2407pp_data->cap[51]->LinkCollection = 0x0001
2408pp_data->cap[51]->LinkUsagePage = 0xFF01
2409pp_data->cap[51]->LinkUsage = 0x0001
2410pp_data->cap[51]->IsMultipleItemsForArray = 0
2411pp_data->cap[51]->IsButtonCap = 1
2412pp_data->cap[51]->IsPadding = 0
2413pp_data->cap[51]->IsAbsolute = 1
2414pp_data->cap[51]->IsRange = 0
2415pp_data->cap[51]->IsAlias = 0
2416pp_data->cap[51]->IsStringRange = 0
2417pp_data->cap[51]->IsDesignatorRange = 0
2418pp_data->cap[51]->Reserved1 = 0x000000
2419pp_data->cap[51]->pp_cap->UnknownTokens[0].Token = 0x00
2420pp_data->cap[51]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2421pp_data->cap[51]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2422pp_data->cap[51]->pp_cap->UnknownTokens[1].Token = 0x00
2423pp_data->cap[51]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2424pp_data->cap[51]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2425pp_data->cap[51]->pp_cap->UnknownTokens[2].Token = 0x00
2426pp_data->cap[51]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2427pp_data->cap[51]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2428pp_data->cap[51]->pp_cap->UnknownTokens[3].Token = 0x00
2429pp_data->cap[51]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2430pp_data->cap[51]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2431pp_data->cap[51]->NotRange.Usage = 0x0002
2432pp_data->cap[51]->NotRange.Reserved1 = 0x0002
2433pp_data->cap[51]->NotRange.StringIndex = 0
2434pp_data->cap[51]->NotRange.Reserved2 = 0
2435pp_data->cap[51]->NotRange.DesignatorIndex = 0
2436pp_data->cap[51]->NotRange.Reserved3 = 0
2437pp_data->cap[51]->NotRange.DataIndex = 51
2438pp_data->cap[51]->NotRange.Reserved4 = 51
2439pp_data->cap[51]->Button.LogicalMin = 0
2440pp_data->cap[51]->Button.LogicalMax = 0
2441pp_data->cap[51]->Units = 0
2442pp_data->cap[51]->UnitsExp = 0
2443
2444pp_data->cap[52]->UsagePage = 0xFF01
2445pp_data->cap[52]->ReportID = 0x01
2446pp_data->cap[52]->BitPosition = 7
2447pp_data->cap[52]->BitSize = 1
2448pp_data->cap[52]->ReportCount = 1
2449pp_data->cap[52]->BytePosition = 0x0009
2450pp_data->cap[52]->BitCount = 1
2451pp_data->cap[52]->BitField = 0x02
2452pp_data->cap[52]->NextBytePosition = 0x000A
2453pp_data->cap[52]->LinkCollection = 0x0001
2454pp_data->cap[52]->LinkUsagePage = 0xFF01
2455pp_data->cap[52]->LinkUsage = 0x0001
2456pp_data->cap[52]->IsMultipleItemsForArray = 0
2457pp_data->cap[52]->IsButtonCap = 1
2458pp_data->cap[52]->IsPadding = 0
2459pp_data->cap[52]->IsAbsolute = 1
2460pp_data->cap[52]->IsRange = 0
2461pp_data->cap[52]->IsAlias = 0
2462pp_data->cap[52]->IsStringRange = 0
2463pp_data->cap[52]->IsDesignatorRange = 0
2464pp_data->cap[52]->Reserved1 = 0x000000
2465pp_data->cap[52]->pp_cap->UnknownTokens[0].Token = 0x00
2466pp_data->cap[52]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2467pp_data->cap[52]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2468pp_data->cap[52]->pp_cap->UnknownTokens[1].Token = 0x00
2469pp_data->cap[52]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2470pp_data->cap[52]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2471pp_data->cap[52]->pp_cap->UnknownTokens[2].Token = 0x00
2472pp_data->cap[52]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2473pp_data->cap[52]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2474pp_data->cap[52]->pp_cap->UnknownTokens[3].Token = 0x00
2475pp_data->cap[52]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2476pp_data->cap[52]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2477pp_data->cap[52]->NotRange.Usage = 0x000B
2478pp_data->cap[52]->NotRange.Reserved1 = 0x000B
2479pp_data->cap[52]->NotRange.StringIndex = 0
2480pp_data->cap[52]->NotRange.Reserved2 = 0
2481pp_data->cap[52]->NotRange.DesignatorIndex = 0
2482pp_data->cap[52]->NotRange.Reserved3 = 0
2483pp_data->cap[52]->NotRange.DataIndex = 52
2484pp_data->cap[52]->NotRange.Reserved4 = 52
2485pp_data->cap[52]->Button.LogicalMin = 0
2486pp_data->cap[52]->Button.LogicalMax = 0
2487pp_data->cap[52]->Units = 0
2488pp_data->cap[52]->UnitsExp = 0
2489
2490pp_data->cap[53]->UsagePage = 0xFF01
2491pp_data->cap[53]->ReportID = 0x01
2492pp_data->cap[53]->BitPosition = 6
2493pp_data->cap[53]->BitSize = 1
2494pp_data->cap[53]->ReportCount = 1
2495pp_data->cap[53]->BytePosition = 0x0009
2496pp_data->cap[53]->BitCount = 1
2497pp_data->cap[53]->BitField = 0x02
2498pp_data->cap[53]->NextBytePosition = 0x000A
2499pp_data->cap[53]->LinkCollection = 0x0001
2500pp_data->cap[53]->LinkUsagePage = 0xFF01
2501pp_data->cap[53]->LinkUsage = 0x0001
2502pp_data->cap[53]->IsMultipleItemsForArray = 0
2503pp_data->cap[53]->IsButtonCap = 1
2504pp_data->cap[53]->IsPadding = 0
2505pp_data->cap[53]->IsAbsolute = 1
2506pp_data->cap[53]->IsRange = 0
2507pp_data->cap[53]->IsAlias = 0
2508pp_data->cap[53]->IsStringRange = 0
2509pp_data->cap[53]->IsDesignatorRange = 0
2510pp_data->cap[53]->Reserved1 = 0x000000
2511pp_data->cap[53]->pp_cap->UnknownTokens[0].Token = 0x00
2512pp_data->cap[53]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2513pp_data->cap[53]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2514pp_data->cap[53]->pp_cap->UnknownTokens[1].Token = 0x00
2515pp_data->cap[53]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2516pp_data->cap[53]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2517pp_data->cap[53]->pp_cap->UnknownTokens[2].Token = 0x00
2518pp_data->cap[53]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2519pp_data->cap[53]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2520pp_data->cap[53]->pp_cap->UnknownTokens[3].Token = 0x00
2521pp_data->cap[53]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2522pp_data->cap[53]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2523pp_data->cap[53]->NotRange.Usage = 0x000B
2524pp_data->cap[53]->NotRange.Reserved1 = 0x000B
2525pp_data->cap[53]->NotRange.StringIndex = 0
2526pp_data->cap[53]->NotRange.Reserved2 = 0
2527pp_data->cap[53]->NotRange.DesignatorIndex = 0
2528pp_data->cap[53]->NotRange.Reserved3 = 0
2529pp_data->cap[53]->NotRange.DataIndex = 53
2530pp_data->cap[53]->NotRange.Reserved4 = 53
2531pp_data->cap[53]->Button.LogicalMin = 0
2532pp_data->cap[53]->Button.LogicalMax = 0
2533pp_data->cap[53]->Units = 0
2534pp_data->cap[53]->UnitsExp = 0
2535
2536pp_data->cap[54]->UsagePage = 0xFF01
2537pp_data->cap[54]->ReportID = 0x01
2538pp_data->cap[54]->BitPosition = 5
2539pp_data->cap[54]->BitSize = 1
2540pp_data->cap[54]->ReportCount = 1
2541pp_data->cap[54]->BytePosition = 0x0009
2542pp_data->cap[54]->BitCount = 1
2543pp_data->cap[54]->BitField = 0x02
2544pp_data->cap[54]->NextBytePosition = 0x000A
2545pp_data->cap[54]->LinkCollection = 0x0001
2546pp_data->cap[54]->LinkUsagePage = 0xFF01
2547pp_data->cap[54]->LinkUsage = 0x0001
2548pp_data->cap[54]->IsMultipleItemsForArray = 0
2549pp_data->cap[54]->IsButtonCap = 1
2550pp_data->cap[54]->IsPadding = 0
2551pp_data->cap[54]->IsAbsolute = 1
2552pp_data->cap[54]->IsRange = 0
2553pp_data->cap[54]->IsAlias = 0
2554pp_data->cap[54]->IsStringRange = 0
2555pp_data->cap[54]->IsDesignatorRange = 0
2556pp_data->cap[54]->Reserved1 = 0x000000
2557pp_data->cap[54]->pp_cap->UnknownTokens[0].Token = 0x00
2558pp_data->cap[54]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2559pp_data->cap[54]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2560pp_data->cap[54]->pp_cap->UnknownTokens[1].Token = 0x00
2561pp_data->cap[54]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2562pp_data->cap[54]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2563pp_data->cap[54]->pp_cap->UnknownTokens[2].Token = 0x00
2564pp_data->cap[54]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2565pp_data->cap[54]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2566pp_data->cap[54]->pp_cap->UnknownTokens[3].Token = 0x00
2567pp_data->cap[54]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2568pp_data->cap[54]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2569pp_data->cap[54]->NotRange.Usage = 0x000B
2570pp_data->cap[54]->NotRange.Reserved1 = 0x000B
2571pp_data->cap[54]->NotRange.StringIndex = 0
2572pp_data->cap[54]->NotRange.Reserved2 = 0
2573pp_data->cap[54]->NotRange.DesignatorIndex = 0
2574pp_data->cap[54]->NotRange.Reserved3 = 0
2575pp_data->cap[54]->NotRange.DataIndex = 54
2576pp_data->cap[54]->NotRange.Reserved4 = 54
2577pp_data->cap[54]->Button.LogicalMin = 0
2578pp_data->cap[54]->Button.LogicalMax = 0
2579pp_data->cap[54]->Units = 0
2580pp_data->cap[54]->UnitsExp = 0
2581
2582pp_data->cap[55]->UsagePage = 0xFF01
2583pp_data->cap[55]->ReportID = 0x01
2584pp_data->cap[55]->BitPosition = 4
2585pp_data->cap[55]->BitSize = 1
2586pp_data->cap[55]->ReportCount = 1
2587pp_data->cap[55]->BytePosition = 0x0009
2588pp_data->cap[55]->BitCount = 1
2589pp_data->cap[55]->BitField = 0x02
2590pp_data->cap[55]->NextBytePosition = 0x000A
2591pp_data->cap[55]->LinkCollection = 0x0001
2592pp_data->cap[55]->LinkUsagePage = 0xFF01
2593pp_data->cap[55]->LinkUsage = 0x0001
2594pp_data->cap[55]->IsMultipleItemsForArray = 0
2595pp_data->cap[55]->IsButtonCap = 1
2596pp_data->cap[55]->IsPadding = 0
2597pp_data->cap[55]->IsAbsolute = 1
2598pp_data->cap[55]->IsRange = 0
2599pp_data->cap[55]->IsAlias = 0
2600pp_data->cap[55]->IsStringRange = 0
2601pp_data->cap[55]->IsDesignatorRange = 0
2602pp_data->cap[55]->Reserved1 = 0x000000
2603pp_data->cap[55]->pp_cap->UnknownTokens[0].Token = 0x00
2604pp_data->cap[55]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2605pp_data->cap[55]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2606pp_data->cap[55]->pp_cap->UnknownTokens[1].Token = 0x00
2607pp_data->cap[55]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2608pp_data->cap[55]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2609pp_data->cap[55]->pp_cap->UnknownTokens[2].Token = 0x00
2610pp_data->cap[55]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2611pp_data->cap[55]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2612pp_data->cap[55]->pp_cap->UnknownTokens[3].Token = 0x00
2613pp_data->cap[55]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2614pp_data->cap[55]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2615pp_data->cap[55]->NotRange.Usage = 0x000B
2616pp_data->cap[55]->NotRange.Reserved1 = 0x000B
2617pp_data->cap[55]->NotRange.StringIndex = 0
2618pp_data->cap[55]->NotRange.Reserved2 = 0
2619pp_data->cap[55]->NotRange.DesignatorIndex = 0
2620pp_data->cap[55]->NotRange.Reserved3 = 0
2621pp_data->cap[55]->NotRange.DataIndex = 55
2622pp_data->cap[55]->NotRange.Reserved4 = 55
2623pp_data->cap[55]->Button.LogicalMin = 0
2624pp_data->cap[55]->Button.LogicalMax = 0
2625pp_data->cap[55]->Units = 0
2626pp_data->cap[55]->UnitsExp = 0
2627
2628pp_data->cap[56]->UsagePage = 0xFF01
2629pp_data->cap[56]->ReportID = 0x01
2630pp_data->cap[56]->BitPosition = 3
2631pp_data->cap[56]->BitSize = 1
2632pp_data->cap[56]->ReportCount = 1
2633pp_data->cap[56]->BytePosition = 0x0009
2634pp_data->cap[56]->BitCount = 1
2635pp_data->cap[56]->BitField = 0x02
2636pp_data->cap[56]->NextBytePosition = 0x000A
2637pp_data->cap[56]->LinkCollection = 0x0001
2638pp_data->cap[56]->LinkUsagePage = 0xFF01
2639pp_data->cap[56]->LinkUsage = 0x0001
2640pp_data->cap[56]->IsMultipleItemsForArray = 0
2641pp_data->cap[56]->IsButtonCap = 1
2642pp_data->cap[56]->IsPadding = 0
2643pp_data->cap[56]->IsAbsolute = 1
2644pp_data->cap[56]->IsRange = 0
2645pp_data->cap[56]->IsAlias = 0
2646pp_data->cap[56]->IsStringRange = 0
2647pp_data->cap[56]->IsDesignatorRange = 0
2648pp_data->cap[56]->Reserved1 = 0x000000
2649pp_data->cap[56]->pp_cap->UnknownTokens[0].Token = 0x00
2650pp_data->cap[56]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2651pp_data->cap[56]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2652pp_data->cap[56]->pp_cap->UnknownTokens[1].Token = 0x00
2653pp_data->cap[56]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2654pp_data->cap[56]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2655pp_data->cap[56]->pp_cap->UnknownTokens[2].Token = 0x00
2656pp_data->cap[56]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2657pp_data->cap[56]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2658pp_data->cap[56]->pp_cap->UnknownTokens[3].Token = 0x00
2659pp_data->cap[56]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2660pp_data->cap[56]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2661pp_data->cap[56]->NotRange.Usage = 0x000B
2662pp_data->cap[56]->NotRange.Reserved1 = 0x000B
2663pp_data->cap[56]->NotRange.StringIndex = 0
2664pp_data->cap[56]->NotRange.Reserved2 = 0
2665pp_data->cap[56]->NotRange.DesignatorIndex = 0
2666pp_data->cap[56]->NotRange.Reserved3 = 0
2667pp_data->cap[56]->NotRange.DataIndex = 56
2668pp_data->cap[56]->NotRange.Reserved4 = 56
2669pp_data->cap[56]->Button.LogicalMin = 0
2670pp_data->cap[56]->Button.LogicalMax = 0
2671pp_data->cap[56]->Units = 0
2672pp_data->cap[56]->UnitsExp = 0
2673
2674pp_data->cap[57]->UsagePage = 0xFF01
2675pp_data->cap[57]->ReportID = 0x01
2676pp_data->cap[57]->BitPosition = 2
2677pp_data->cap[57]->BitSize = 1
2678pp_data->cap[57]->ReportCount = 1
2679pp_data->cap[57]->BytePosition = 0x0009
2680pp_data->cap[57]->BitCount = 1
2681pp_data->cap[57]->BitField = 0x02
2682pp_data->cap[57]->NextBytePosition = 0x000A
2683pp_data->cap[57]->LinkCollection = 0x0001
2684pp_data->cap[57]->LinkUsagePage = 0xFF01
2685pp_data->cap[57]->LinkUsage = 0x0001
2686pp_data->cap[57]->IsMultipleItemsForArray = 0
2687pp_data->cap[57]->IsButtonCap = 1
2688pp_data->cap[57]->IsPadding = 0
2689pp_data->cap[57]->IsAbsolute = 1
2690pp_data->cap[57]->IsRange = 0
2691pp_data->cap[57]->IsAlias = 0
2692pp_data->cap[57]->IsStringRange = 0
2693pp_data->cap[57]->IsDesignatorRange = 0
2694pp_data->cap[57]->Reserved1 = 0x000000
2695pp_data->cap[57]->pp_cap->UnknownTokens[0].Token = 0x00
2696pp_data->cap[57]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2697pp_data->cap[57]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2698pp_data->cap[57]->pp_cap->UnknownTokens[1].Token = 0x00
2699pp_data->cap[57]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2700pp_data->cap[57]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2701pp_data->cap[57]->pp_cap->UnknownTokens[2].Token = 0x00
2702pp_data->cap[57]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2703pp_data->cap[57]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2704pp_data->cap[57]->pp_cap->UnknownTokens[3].Token = 0x00
2705pp_data->cap[57]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2706pp_data->cap[57]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2707pp_data->cap[57]->NotRange.Usage = 0x000B
2708pp_data->cap[57]->NotRange.Reserved1 = 0x000B
2709pp_data->cap[57]->NotRange.StringIndex = 0
2710pp_data->cap[57]->NotRange.Reserved2 = 0
2711pp_data->cap[57]->NotRange.DesignatorIndex = 0
2712pp_data->cap[57]->NotRange.Reserved3 = 0
2713pp_data->cap[57]->NotRange.DataIndex = 57
2714pp_data->cap[57]->NotRange.Reserved4 = 57
2715pp_data->cap[57]->Button.LogicalMin = 0
2716pp_data->cap[57]->Button.LogicalMax = 0
2717pp_data->cap[57]->Units = 0
2718pp_data->cap[57]->UnitsExp = 0
2719
2720pp_data->cap[58]->UsagePage = 0xFF01
2721pp_data->cap[58]->ReportID = 0x01
2722pp_data->cap[58]->BitPosition = 1
2723pp_data->cap[58]->BitSize = 1
2724pp_data->cap[58]->ReportCount = 1
2725pp_data->cap[58]->BytePosition = 0x0009
2726pp_data->cap[58]->BitCount = 1
2727pp_data->cap[58]->BitField = 0x02
2728pp_data->cap[58]->NextBytePosition = 0x000A
2729pp_data->cap[58]->LinkCollection = 0x0001
2730pp_data->cap[58]->LinkUsagePage = 0xFF01
2731pp_data->cap[58]->LinkUsage = 0x0001
2732pp_data->cap[58]->IsMultipleItemsForArray = 0
2733pp_data->cap[58]->IsButtonCap = 1
2734pp_data->cap[58]->IsPadding = 0
2735pp_data->cap[58]->IsAbsolute = 1
2736pp_data->cap[58]->IsRange = 0
2737pp_data->cap[58]->IsAlias = 0
2738pp_data->cap[58]->IsStringRange = 0
2739pp_data->cap[58]->IsDesignatorRange = 0
2740pp_data->cap[58]->Reserved1 = 0x000000
2741pp_data->cap[58]->pp_cap->UnknownTokens[0].Token = 0x00
2742pp_data->cap[58]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2743pp_data->cap[58]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2744pp_data->cap[58]->pp_cap->UnknownTokens[1].Token = 0x00
2745pp_data->cap[58]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2746pp_data->cap[58]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2747pp_data->cap[58]->pp_cap->UnknownTokens[2].Token = 0x00
2748pp_data->cap[58]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2749pp_data->cap[58]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2750pp_data->cap[58]->pp_cap->UnknownTokens[3].Token = 0x00
2751pp_data->cap[58]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2752pp_data->cap[58]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2753pp_data->cap[58]->NotRange.Usage = 0x000B
2754pp_data->cap[58]->NotRange.Reserved1 = 0x000B
2755pp_data->cap[58]->NotRange.StringIndex = 0
2756pp_data->cap[58]->NotRange.Reserved2 = 0
2757pp_data->cap[58]->NotRange.DesignatorIndex = 0
2758pp_data->cap[58]->NotRange.Reserved3 = 0
2759pp_data->cap[58]->NotRange.DataIndex = 58
2760pp_data->cap[58]->NotRange.Reserved4 = 58
2761pp_data->cap[58]->Button.LogicalMin = 0
2762pp_data->cap[58]->Button.LogicalMax = 0
2763pp_data->cap[58]->Units = 0
2764pp_data->cap[58]->UnitsExp = 0
2765
2766pp_data->cap[59]->UsagePage = 0xFF01
2767pp_data->cap[59]->ReportID = 0x01
2768pp_data->cap[59]->BitPosition = 0
2769pp_data->cap[59]->BitSize = 1
2770pp_data->cap[59]->ReportCount = 1
2771pp_data->cap[59]->BytePosition = 0x0009
2772pp_data->cap[59]->BitCount = 1
2773pp_data->cap[59]->BitField = 0x02
2774pp_data->cap[59]->NextBytePosition = 0x000A
2775pp_data->cap[59]->LinkCollection = 0x0001
2776pp_data->cap[59]->LinkUsagePage = 0xFF01
2777pp_data->cap[59]->LinkUsage = 0x0001
2778pp_data->cap[59]->IsMultipleItemsForArray = 0
2779pp_data->cap[59]->IsButtonCap = 1
2780pp_data->cap[59]->IsPadding = 0
2781pp_data->cap[59]->IsAbsolute = 1
2782pp_data->cap[59]->IsRange = 0
2783pp_data->cap[59]->IsAlias = 0
2784pp_data->cap[59]->IsStringRange = 0
2785pp_data->cap[59]->IsDesignatorRange = 0
2786pp_data->cap[59]->Reserved1 = 0x000000
2787pp_data->cap[59]->pp_cap->UnknownTokens[0].Token = 0x00
2788pp_data->cap[59]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2789pp_data->cap[59]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2790pp_data->cap[59]->pp_cap->UnknownTokens[1].Token = 0x00
2791pp_data->cap[59]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2792pp_data->cap[59]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2793pp_data->cap[59]->pp_cap->UnknownTokens[2].Token = 0x00
2794pp_data->cap[59]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2795pp_data->cap[59]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2796pp_data->cap[59]->pp_cap->UnknownTokens[3].Token = 0x00
2797pp_data->cap[59]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2798pp_data->cap[59]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2799pp_data->cap[59]->NotRange.Usage = 0x000B
2800pp_data->cap[59]->NotRange.Reserved1 = 0x000B
2801pp_data->cap[59]->NotRange.StringIndex = 0
2802pp_data->cap[59]->NotRange.Reserved2 = 0
2803pp_data->cap[59]->NotRange.DesignatorIndex = 0
2804pp_data->cap[59]->NotRange.Reserved3 = 0
2805pp_data->cap[59]->NotRange.DataIndex = 59
2806pp_data->cap[59]->NotRange.Reserved4 = 59
2807pp_data->cap[59]->Button.LogicalMin = 0
2808pp_data->cap[59]->Button.LogicalMax = 0
2809pp_data->cap[59]->Units = 0
2810pp_data->cap[59]->UnitsExp = 0
2811
2812pp_data->cap[60]->UsagePage = 0xFF01
2813pp_data->cap[60]->ReportID = 0x02
2814pp_data->cap[60]->BitPosition = 0
2815pp_data->cap[60]->BitSize = 16
2816pp_data->cap[60]->ReportCount = 1
2817pp_data->cap[60]->BytePosition = 0x0033
2818pp_data->cap[60]->BitCount = 16
2819pp_data->cap[60]->BitField = 0x02
2820pp_data->cap[60]->NextBytePosition = 0x0035
2821pp_data->cap[60]->LinkCollection = 0x0002
2822pp_data->cap[60]->LinkUsagePage = 0xFF01
2823pp_data->cap[60]->LinkUsage = 0x0002
2824pp_data->cap[60]->IsMultipleItemsForArray = 0
2825pp_data->cap[60]->IsButtonCap = 0
2826pp_data->cap[60]->IsPadding = 0
2827pp_data->cap[60]->IsAbsolute = 1
2828pp_data->cap[60]->IsRange = 0
2829pp_data->cap[60]->IsAlias = 0
2830pp_data->cap[60]->IsStringRange = 0
2831pp_data->cap[60]->IsDesignatorRange = 0
2832pp_data->cap[60]->Reserved1 = 0x000000
2833pp_data->cap[60]->pp_cap->UnknownTokens[0].Token = 0x00
2834pp_data->cap[60]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2835pp_data->cap[60]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2836pp_data->cap[60]->pp_cap->UnknownTokens[1].Token = 0x00
2837pp_data->cap[60]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2838pp_data->cap[60]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2839pp_data->cap[60]->pp_cap->UnknownTokens[2].Token = 0x00
2840pp_data->cap[60]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2841pp_data->cap[60]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2842pp_data->cap[60]->pp_cap->UnknownTokens[3].Token = 0x00
2843pp_data->cap[60]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2844pp_data->cap[60]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2845pp_data->cap[60]->NotRange.Usage = 0x0004
2846pp_data->cap[60]->NotRange.Reserved1 = 0x0004
2847pp_data->cap[60]->NotRange.StringIndex = 0
2848pp_data->cap[60]->NotRange.Reserved2 = 0
2849pp_data->cap[60]->NotRange.DesignatorIndex = 0
2850pp_data->cap[60]->NotRange.Reserved3 = 0
2851pp_data->cap[60]->NotRange.DataIndex = 60
2852pp_data->cap[60]->NotRange.Reserved4 = 60
2853pp_data->cap[60]->NotButton.HasNull = 0
2854pp_data->cap[60]->NotButton.Reserved4 = 0x000000
2855pp_data->cap[60]->NotButton.LogicalMin = 0
2856pp_data->cap[60]->NotButton.LogicalMax = 4095
2857pp_data->cap[60]->NotButton.PhysicalMin = 0
2858pp_data->cap[60]->NotButton.PhysicalMax = 0
2859pp_data->cap[60]->Units = 0
2860pp_data->cap[60]->UnitsExp = 0
2861
2862pp_data->cap[61]->UsagePage = 0xFF01
2863pp_data->cap[61]->ReportID = 0x02
2864pp_data->cap[61]->BitPosition = 0
2865pp_data->cap[61]->BitSize = 16
2866pp_data->cap[61]->ReportCount = 1
2867pp_data->cap[61]->BytePosition = 0x0031
2868pp_data->cap[61]->BitCount = 16
2869pp_data->cap[61]->BitField = 0x02
2870pp_data->cap[61]->NextBytePosition = 0x0033
2871pp_data->cap[61]->LinkCollection = 0x0002
2872pp_data->cap[61]->LinkUsagePage = 0xFF01
2873pp_data->cap[61]->LinkUsage = 0x0002
2874pp_data->cap[61]->IsMultipleItemsForArray = 0
2875pp_data->cap[61]->IsButtonCap = 0
2876pp_data->cap[61]->IsPadding = 0
2877pp_data->cap[61]->IsAbsolute = 1
2878pp_data->cap[61]->IsRange = 0
2879pp_data->cap[61]->IsAlias = 0
2880pp_data->cap[61]->IsStringRange = 0
2881pp_data->cap[61]->IsDesignatorRange = 0
2882pp_data->cap[61]->Reserved1 = 0x000000
2883pp_data->cap[61]->pp_cap->UnknownTokens[0].Token = 0x00
2884pp_data->cap[61]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2885pp_data->cap[61]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2886pp_data->cap[61]->pp_cap->UnknownTokens[1].Token = 0x00
2887pp_data->cap[61]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2888pp_data->cap[61]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2889pp_data->cap[61]->pp_cap->UnknownTokens[2].Token = 0x00
2890pp_data->cap[61]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2891pp_data->cap[61]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2892pp_data->cap[61]->pp_cap->UnknownTokens[3].Token = 0x00
2893pp_data->cap[61]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2894pp_data->cap[61]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2895pp_data->cap[61]->NotRange.Usage = 0x0004
2896pp_data->cap[61]->NotRange.Reserved1 = 0x0004
2897pp_data->cap[61]->NotRange.StringIndex = 0
2898pp_data->cap[61]->NotRange.Reserved2 = 0
2899pp_data->cap[61]->NotRange.DesignatorIndex = 0
2900pp_data->cap[61]->NotRange.Reserved3 = 0
2901pp_data->cap[61]->NotRange.DataIndex = 61
2902pp_data->cap[61]->NotRange.Reserved4 = 61
2903pp_data->cap[61]->NotButton.HasNull = 0
2904pp_data->cap[61]->NotButton.Reserved4 = 0x000000
2905pp_data->cap[61]->NotButton.LogicalMin = 0
2906pp_data->cap[61]->NotButton.LogicalMax = 4095
2907pp_data->cap[61]->NotButton.PhysicalMin = 0
2908pp_data->cap[61]->NotButton.PhysicalMax = 0
2909pp_data->cap[61]->Units = 0
2910pp_data->cap[61]->UnitsExp = 0
2911
2912pp_data->cap[62]->UsagePage = 0xFF01
2913pp_data->cap[62]->ReportID = 0x02
2914pp_data->cap[62]->BitPosition = 0
2915pp_data->cap[62]->BitSize = 16
2916pp_data->cap[62]->ReportCount = 1
2917pp_data->cap[62]->BytePosition = 0x002F
2918pp_data->cap[62]->BitCount = 16
2919pp_data->cap[62]->BitField = 0x02
2920pp_data->cap[62]->NextBytePosition = 0x0031
2921pp_data->cap[62]->LinkCollection = 0x0002
2922pp_data->cap[62]->LinkUsagePage = 0xFF01
2923pp_data->cap[62]->LinkUsage = 0x0002
2924pp_data->cap[62]->IsMultipleItemsForArray = 0
2925pp_data->cap[62]->IsButtonCap = 0
2926pp_data->cap[62]->IsPadding = 0
2927pp_data->cap[62]->IsAbsolute = 1
2928pp_data->cap[62]->IsRange = 0
2929pp_data->cap[62]->IsAlias = 0
2930pp_data->cap[62]->IsStringRange = 0
2931pp_data->cap[62]->IsDesignatorRange = 0
2932pp_data->cap[62]->Reserved1 = 0x000000
2933pp_data->cap[62]->pp_cap->UnknownTokens[0].Token = 0x00
2934pp_data->cap[62]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2935pp_data->cap[62]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2936pp_data->cap[62]->pp_cap->UnknownTokens[1].Token = 0x00
2937pp_data->cap[62]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2938pp_data->cap[62]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2939pp_data->cap[62]->pp_cap->UnknownTokens[2].Token = 0x00
2940pp_data->cap[62]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2941pp_data->cap[62]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2942pp_data->cap[62]->pp_cap->UnknownTokens[3].Token = 0x00
2943pp_data->cap[62]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2944pp_data->cap[62]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2945pp_data->cap[62]->NotRange.Usage = 0x0004
2946pp_data->cap[62]->NotRange.Reserved1 = 0x0004
2947pp_data->cap[62]->NotRange.StringIndex = 0
2948pp_data->cap[62]->NotRange.Reserved2 = 0
2949pp_data->cap[62]->NotRange.DesignatorIndex = 0
2950pp_data->cap[62]->NotRange.Reserved3 = 0
2951pp_data->cap[62]->NotRange.DataIndex = 62
2952pp_data->cap[62]->NotRange.Reserved4 = 62
2953pp_data->cap[62]->NotButton.HasNull = 0
2954pp_data->cap[62]->NotButton.Reserved4 = 0x000000
2955pp_data->cap[62]->NotButton.LogicalMin = 0
2956pp_data->cap[62]->NotButton.LogicalMax = 4095
2957pp_data->cap[62]->NotButton.PhysicalMin = 0
2958pp_data->cap[62]->NotButton.PhysicalMax = 0
2959pp_data->cap[62]->Units = 0
2960pp_data->cap[62]->UnitsExp = 0
2961
2962pp_data->cap[63]->UsagePage = 0xFF01
2963pp_data->cap[63]->ReportID = 0x02
2964pp_data->cap[63]->BitPosition = 0
2965pp_data->cap[63]->BitSize = 16
2966pp_data->cap[63]->ReportCount = 1
2967pp_data->cap[63]->BytePosition = 0x002D
2968pp_data->cap[63]->BitCount = 16
2969pp_data->cap[63]->BitField = 0x02
2970pp_data->cap[63]->NextBytePosition = 0x002F
2971pp_data->cap[63]->LinkCollection = 0x0002
2972pp_data->cap[63]->LinkUsagePage = 0xFF01
2973pp_data->cap[63]->LinkUsage = 0x0002
2974pp_data->cap[63]->IsMultipleItemsForArray = 0
2975pp_data->cap[63]->IsButtonCap = 0
2976pp_data->cap[63]->IsPadding = 0
2977pp_data->cap[63]->IsAbsolute = 1
2978pp_data->cap[63]->IsRange = 0
2979pp_data->cap[63]->IsAlias = 0
2980pp_data->cap[63]->IsStringRange = 0
2981pp_data->cap[63]->IsDesignatorRange = 0
2982pp_data->cap[63]->Reserved1 = 0x000000
2983pp_data->cap[63]->pp_cap->UnknownTokens[0].Token = 0x00
2984pp_data->cap[63]->pp_cap->UnknownTokens[0].Reserved = 0x000000
2985pp_data->cap[63]->pp_cap->UnknownTokens[0].BitField = 0x00000000
2986pp_data->cap[63]->pp_cap->UnknownTokens[1].Token = 0x00
2987pp_data->cap[63]->pp_cap->UnknownTokens[1].Reserved = 0x000000
2988pp_data->cap[63]->pp_cap->UnknownTokens[1].BitField = 0x00000000
2989pp_data->cap[63]->pp_cap->UnknownTokens[2].Token = 0x00
2990pp_data->cap[63]->pp_cap->UnknownTokens[2].Reserved = 0x000000
2991pp_data->cap[63]->pp_cap->UnknownTokens[2].BitField = 0x00000000
2992pp_data->cap[63]->pp_cap->UnknownTokens[3].Token = 0x00
2993pp_data->cap[63]->pp_cap->UnknownTokens[3].Reserved = 0x000000
2994pp_data->cap[63]->pp_cap->UnknownTokens[3].BitField = 0x00000000
2995pp_data->cap[63]->NotRange.Usage = 0x0004
2996pp_data->cap[63]->NotRange.Reserved1 = 0x0004
2997pp_data->cap[63]->NotRange.StringIndex = 0
2998pp_data->cap[63]->NotRange.Reserved2 = 0
2999pp_data->cap[63]->NotRange.DesignatorIndex = 0
3000pp_data->cap[63]->NotRange.Reserved3 = 0
3001pp_data->cap[63]->NotRange.DataIndex = 63
3002pp_data->cap[63]->NotRange.Reserved4 = 63
3003pp_data->cap[63]->NotButton.HasNull = 0
3004pp_data->cap[63]->NotButton.Reserved4 = 0x000000
3005pp_data->cap[63]->NotButton.LogicalMin = 0
3006pp_data->cap[63]->NotButton.LogicalMax = 4095
3007pp_data->cap[63]->NotButton.PhysicalMin = 0
3008pp_data->cap[63]->NotButton.PhysicalMax = 0
3009pp_data->cap[63]->Units = 0
3010pp_data->cap[63]->UnitsExp = 0
3011
3012pp_data->cap[64]->UsagePage = 0xFF01
3013pp_data->cap[64]->ReportID = 0x02
3014pp_data->cap[64]->BitPosition = 0
3015pp_data->cap[64]->BitSize = 16
3016pp_data->cap[64]->ReportCount = 1
3017pp_data->cap[64]->BytePosition = 0x002B
3018pp_data->cap[64]->BitCount = 16
3019pp_data->cap[64]->BitField = 0x02
3020pp_data->cap[64]->NextBytePosition = 0x002D
3021pp_data->cap[64]->LinkCollection = 0x0002
3022pp_data->cap[64]->LinkUsagePage = 0xFF01
3023pp_data->cap[64]->LinkUsage = 0x0002
3024pp_data->cap[64]->IsMultipleItemsForArray = 0
3025pp_data->cap[64]->IsButtonCap = 0
3026pp_data->cap[64]->IsPadding = 0
3027pp_data->cap[64]->IsAbsolute = 1
3028pp_data->cap[64]->IsRange = 0
3029pp_data->cap[64]->IsAlias = 0
3030pp_data->cap[64]->IsStringRange = 0
3031pp_data->cap[64]->IsDesignatorRange = 0
3032pp_data->cap[64]->Reserved1 = 0x000000
3033pp_data->cap[64]->pp_cap->UnknownTokens[0].Token = 0x00
3034pp_data->cap[64]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3035pp_data->cap[64]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3036pp_data->cap[64]->pp_cap->UnknownTokens[1].Token = 0x00
3037pp_data->cap[64]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3038pp_data->cap[64]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3039pp_data->cap[64]->pp_cap->UnknownTokens[2].Token = 0x00
3040pp_data->cap[64]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3041pp_data->cap[64]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3042pp_data->cap[64]->pp_cap->UnknownTokens[3].Token = 0x00
3043pp_data->cap[64]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3044pp_data->cap[64]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3045pp_data->cap[64]->NotRange.Usage = 0x0004
3046pp_data->cap[64]->NotRange.Reserved1 = 0x0004
3047pp_data->cap[64]->NotRange.StringIndex = 0
3048pp_data->cap[64]->NotRange.Reserved2 = 0
3049pp_data->cap[64]->NotRange.DesignatorIndex = 0
3050pp_data->cap[64]->NotRange.Reserved3 = 0
3051pp_data->cap[64]->NotRange.DataIndex = 64
3052pp_data->cap[64]->NotRange.Reserved4 = 64
3053pp_data->cap[64]->NotButton.HasNull = 0
3054pp_data->cap[64]->NotButton.Reserved4 = 0x000000
3055pp_data->cap[64]->NotButton.LogicalMin = 0
3056pp_data->cap[64]->NotButton.LogicalMax = 4095
3057pp_data->cap[64]->NotButton.PhysicalMin = 0
3058pp_data->cap[64]->NotButton.PhysicalMax = 0
3059pp_data->cap[64]->Units = 0
3060pp_data->cap[64]->UnitsExp = 0
3061
3062pp_data->cap[65]->UsagePage = 0xFF01
3063pp_data->cap[65]->ReportID = 0x02
3064pp_data->cap[65]->BitPosition = 0
3065pp_data->cap[65]->BitSize = 16
3066pp_data->cap[65]->ReportCount = 1
3067pp_data->cap[65]->BytePosition = 0x0029
3068pp_data->cap[65]->BitCount = 16
3069pp_data->cap[65]->BitField = 0x02
3070pp_data->cap[65]->NextBytePosition = 0x002B
3071pp_data->cap[65]->LinkCollection = 0x0002
3072pp_data->cap[65]->LinkUsagePage = 0xFF01
3073pp_data->cap[65]->LinkUsage = 0x0002
3074pp_data->cap[65]->IsMultipleItemsForArray = 0
3075pp_data->cap[65]->IsButtonCap = 0
3076pp_data->cap[65]->IsPadding = 0
3077pp_data->cap[65]->IsAbsolute = 1
3078pp_data->cap[65]->IsRange = 0
3079pp_data->cap[65]->IsAlias = 0
3080pp_data->cap[65]->IsStringRange = 0
3081pp_data->cap[65]->IsDesignatorRange = 0
3082pp_data->cap[65]->Reserved1 = 0x000000
3083pp_data->cap[65]->pp_cap->UnknownTokens[0].Token = 0x00
3084pp_data->cap[65]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3085pp_data->cap[65]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3086pp_data->cap[65]->pp_cap->UnknownTokens[1].Token = 0x00
3087pp_data->cap[65]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3088pp_data->cap[65]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3089pp_data->cap[65]->pp_cap->UnknownTokens[2].Token = 0x00
3090pp_data->cap[65]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3091pp_data->cap[65]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3092pp_data->cap[65]->pp_cap->UnknownTokens[3].Token = 0x00
3093pp_data->cap[65]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3094pp_data->cap[65]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3095pp_data->cap[65]->NotRange.Usage = 0x0004
3096pp_data->cap[65]->NotRange.Reserved1 = 0x0004
3097pp_data->cap[65]->NotRange.StringIndex = 0
3098pp_data->cap[65]->NotRange.Reserved2 = 0
3099pp_data->cap[65]->NotRange.DesignatorIndex = 0
3100pp_data->cap[65]->NotRange.Reserved3 = 0
3101pp_data->cap[65]->NotRange.DataIndex = 65
3102pp_data->cap[65]->NotRange.Reserved4 = 65
3103pp_data->cap[65]->NotButton.HasNull = 0
3104pp_data->cap[65]->NotButton.Reserved4 = 0x000000
3105pp_data->cap[65]->NotButton.LogicalMin = 0
3106pp_data->cap[65]->NotButton.LogicalMax = 4095
3107pp_data->cap[65]->NotButton.PhysicalMin = 0
3108pp_data->cap[65]->NotButton.PhysicalMax = 0
3109pp_data->cap[65]->Units = 0
3110pp_data->cap[65]->UnitsExp = 0
3111
3112pp_data->cap[66]->UsagePage = 0xFF01
3113pp_data->cap[66]->ReportID = 0x02
3114pp_data->cap[66]->BitPosition = 0
3115pp_data->cap[66]->BitSize = 16
3116pp_data->cap[66]->ReportCount = 1
3117pp_data->cap[66]->BytePosition = 0x0027
3118pp_data->cap[66]->BitCount = 16
3119pp_data->cap[66]->BitField = 0x02
3120pp_data->cap[66]->NextBytePosition = 0x0029
3121pp_data->cap[66]->LinkCollection = 0x0002
3122pp_data->cap[66]->LinkUsagePage = 0xFF01
3123pp_data->cap[66]->LinkUsage = 0x0002
3124pp_data->cap[66]->IsMultipleItemsForArray = 0
3125pp_data->cap[66]->IsButtonCap = 0
3126pp_data->cap[66]->IsPadding = 0
3127pp_data->cap[66]->IsAbsolute = 1
3128pp_data->cap[66]->IsRange = 0
3129pp_data->cap[66]->IsAlias = 0
3130pp_data->cap[66]->IsStringRange = 0
3131pp_data->cap[66]->IsDesignatorRange = 0
3132pp_data->cap[66]->Reserved1 = 0x000000
3133pp_data->cap[66]->pp_cap->UnknownTokens[0].Token = 0x00
3134pp_data->cap[66]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3135pp_data->cap[66]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3136pp_data->cap[66]->pp_cap->UnknownTokens[1].Token = 0x00
3137pp_data->cap[66]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3138pp_data->cap[66]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3139pp_data->cap[66]->pp_cap->UnknownTokens[2].Token = 0x00
3140pp_data->cap[66]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3141pp_data->cap[66]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3142pp_data->cap[66]->pp_cap->UnknownTokens[3].Token = 0x00
3143pp_data->cap[66]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3144pp_data->cap[66]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3145pp_data->cap[66]->NotRange.Usage = 0x0004
3146pp_data->cap[66]->NotRange.Reserved1 = 0x0004
3147pp_data->cap[66]->NotRange.StringIndex = 0
3148pp_data->cap[66]->NotRange.Reserved2 = 0
3149pp_data->cap[66]->NotRange.DesignatorIndex = 0
3150pp_data->cap[66]->NotRange.Reserved3 = 0
3151pp_data->cap[66]->NotRange.DataIndex = 66
3152pp_data->cap[66]->NotRange.Reserved4 = 66
3153pp_data->cap[66]->NotButton.HasNull = 0
3154pp_data->cap[66]->NotButton.Reserved4 = 0x000000
3155pp_data->cap[66]->NotButton.LogicalMin = 0
3156pp_data->cap[66]->NotButton.LogicalMax = 4095
3157pp_data->cap[66]->NotButton.PhysicalMin = 0
3158pp_data->cap[66]->NotButton.PhysicalMax = 0
3159pp_data->cap[66]->Units = 0
3160pp_data->cap[66]->UnitsExp = 0
3161
3162pp_data->cap[67]->UsagePage = 0xFF01
3163pp_data->cap[67]->ReportID = 0x02
3164pp_data->cap[67]->BitPosition = 0
3165pp_data->cap[67]->BitSize = 16
3166pp_data->cap[67]->ReportCount = 1
3167pp_data->cap[67]->BytePosition = 0x0025
3168pp_data->cap[67]->BitCount = 16
3169pp_data->cap[67]->BitField = 0x02
3170pp_data->cap[67]->NextBytePosition = 0x0027
3171pp_data->cap[67]->LinkCollection = 0x0002
3172pp_data->cap[67]->LinkUsagePage = 0xFF01
3173pp_data->cap[67]->LinkUsage = 0x0002
3174pp_data->cap[67]->IsMultipleItemsForArray = 0
3175pp_data->cap[67]->IsButtonCap = 0
3176pp_data->cap[67]->IsPadding = 0
3177pp_data->cap[67]->IsAbsolute = 1
3178pp_data->cap[67]->IsRange = 0
3179pp_data->cap[67]->IsAlias = 0
3180pp_data->cap[67]->IsStringRange = 0
3181pp_data->cap[67]->IsDesignatorRange = 0
3182pp_data->cap[67]->Reserved1 = 0x000000
3183pp_data->cap[67]->pp_cap->UnknownTokens[0].Token = 0x00
3184pp_data->cap[67]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3185pp_data->cap[67]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3186pp_data->cap[67]->pp_cap->UnknownTokens[1].Token = 0x00
3187pp_data->cap[67]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3188pp_data->cap[67]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3189pp_data->cap[67]->pp_cap->UnknownTokens[2].Token = 0x00
3190pp_data->cap[67]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3191pp_data->cap[67]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3192pp_data->cap[67]->pp_cap->UnknownTokens[3].Token = 0x00
3193pp_data->cap[67]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3194pp_data->cap[67]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3195pp_data->cap[67]->NotRange.Usage = 0x0004
3196pp_data->cap[67]->NotRange.Reserved1 = 0x0004
3197pp_data->cap[67]->NotRange.StringIndex = 0
3198pp_data->cap[67]->NotRange.Reserved2 = 0
3199pp_data->cap[67]->NotRange.DesignatorIndex = 0
3200pp_data->cap[67]->NotRange.Reserved3 = 0
3201pp_data->cap[67]->NotRange.DataIndex = 67
3202pp_data->cap[67]->NotRange.Reserved4 = 67
3203pp_data->cap[67]->NotButton.HasNull = 0
3204pp_data->cap[67]->NotButton.Reserved4 = 0x000000
3205pp_data->cap[67]->NotButton.LogicalMin = 0
3206pp_data->cap[67]->NotButton.LogicalMax = 4095
3207pp_data->cap[67]->NotButton.PhysicalMin = 0
3208pp_data->cap[67]->NotButton.PhysicalMax = 0
3209pp_data->cap[67]->Units = 0
3210pp_data->cap[67]->UnitsExp = 0
3211
3212pp_data->cap[68]->UsagePage = 0xFF01
3213pp_data->cap[68]->ReportID = 0x02
3214pp_data->cap[68]->BitPosition = 0
3215pp_data->cap[68]->BitSize = 16
3216pp_data->cap[68]->ReportCount = 1
3217pp_data->cap[68]->BytePosition = 0x0023
3218pp_data->cap[68]->BitCount = 16
3219pp_data->cap[68]->BitField = 0x02
3220pp_data->cap[68]->NextBytePosition = 0x0025
3221pp_data->cap[68]->LinkCollection = 0x0002
3222pp_data->cap[68]->LinkUsagePage = 0xFF01
3223pp_data->cap[68]->LinkUsage = 0x0002
3224pp_data->cap[68]->IsMultipleItemsForArray = 0
3225pp_data->cap[68]->IsButtonCap = 0
3226pp_data->cap[68]->IsPadding = 0
3227pp_data->cap[68]->IsAbsolute = 1
3228pp_data->cap[68]->IsRange = 0
3229pp_data->cap[68]->IsAlias = 0
3230pp_data->cap[68]->IsStringRange = 0
3231pp_data->cap[68]->IsDesignatorRange = 0
3232pp_data->cap[68]->Reserved1 = 0x000000
3233pp_data->cap[68]->pp_cap->UnknownTokens[0].Token = 0x00
3234pp_data->cap[68]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3235pp_data->cap[68]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3236pp_data->cap[68]->pp_cap->UnknownTokens[1].Token = 0x00
3237pp_data->cap[68]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3238pp_data->cap[68]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3239pp_data->cap[68]->pp_cap->UnknownTokens[2].Token = 0x00
3240pp_data->cap[68]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3241pp_data->cap[68]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3242pp_data->cap[68]->pp_cap->UnknownTokens[3].Token = 0x00
3243pp_data->cap[68]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3244pp_data->cap[68]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3245pp_data->cap[68]->NotRange.Usage = 0x0004
3246pp_data->cap[68]->NotRange.Reserved1 = 0x0004
3247pp_data->cap[68]->NotRange.StringIndex = 0
3248pp_data->cap[68]->NotRange.Reserved2 = 0
3249pp_data->cap[68]->NotRange.DesignatorIndex = 0
3250pp_data->cap[68]->NotRange.Reserved3 = 0
3251pp_data->cap[68]->NotRange.DataIndex = 68
3252pp_data->cap[68]->NotRange.Reserved4 = 68
3253pp_data->cap[68]->NotButton.HasNull = 0
3254pp_data->cap[68]->NotButton.Reserved4 = 0x000000
3255pp_data->cap[68]->NotButton.LogicalMin = 0
3256pp_data->cap[68]->NotButton.LogicalMax = 4095
3257pp_data->cap[68]->NotButton.PhysicalMin = 0
3258pp_data->cap[68]->NotButton.PhysicalMax = 0
3259pp_data->cap[68]->Units = 0
3260pp_data->cap[68]->UnitsExp = 0
3261
3262pp_data->cap[69]->UsagePage = 0xFF01
3263pp_data->cap[69]->ReportID = 0x02
3264pp_data->cap[69]->BitPosition = 0
3265pp_data->cap[69]->BitSize = 16
3266pp_data->cap[69]->ReportCount = 1
3267pp_data->cap[69]->BytePosition = 0x0021
3268pp_data->cap[69]->BitCount = 16
3269pp_data->cap[69]->BitField = 0x02
3270pp_data->cap[69]->NextBytePosition = 0x0023
3271pp_data->cap[69]->LinkCollection = 0x0002
3272pp_data->cap[69]->LinkUsagePage = 0xFF01
3273pp_data->cap[69]->LinkUsage = 0x0002
3274pp_data->cap[69]->IsMultipleItemsForArray = 0
3275pp_data->cap[69]->IsButtonCap = 0
3276pp_data->cap[69]->IsPadding = 0
3277pp_data->cap[69]->IsAbsolute = 1
3278pp_data->cap[69]->IsRange = 0
3279pp_data->cap[69]->IsAlias = 0
3280pp_data->cap[69]->IsStringRange = 0
3281pp_data->cap[69]->IsDesignatorRange = 0
3282pp_data->cap[69]->Reserved1 = 0x000000
3283pp_data->cap[69]->pp_cap->UnknownTokens[0].Token = 0x00
3284pp_data->cap[69]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3285pp_data->cap[69]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3286pp_data->cap[69]->pp_cap->UnknownTokens[1].Token = 0x00
3287pp_data->cap[69]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3288pp_data->cap[69]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3289pp_data->cap[69]->pp_cap->UnknownTokens[2].Token = 0x00
3290pp_data->cap[69]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3291pp_data->cap[69]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3292pp_data->cap[69]->pp_cap->UnknownTokens[3].Token = 0x00
3293pp_data->cap[69]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3294pp_data->cap[69]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3295pp_data->cap[69]->NotRange.Usage = 0x0004
3296pp_data->cap[69]->NotRange.Reserved1 = 0x0004
3297pp_data->cap[69]->NotRange.StringIndex = 0
3298pp_data->cap[69]->NotRange.Reserved2 = 0
3299pp_data->cap[69]->NotRange.DesignatorIndex = 0
3300pp_data->cap[69]->NotRange.Reserved3 = 0
3301pp_data->cap[69]->NotRange.DataIndex = 69
3302pp_data->cap[69]->NotRange.Reserved4 = 69
3303pp_data->cap[69]->NotButton.HasNull = 0
3304pp_data->cap[69]->NotButton.Reserved4 = 0x000000
3305pp_data->cap[69]->NotButton.LogicalMin = 0
3306pp_data->cap[69]->NotButton.LogicalMax = 4095
3307pp_data->cap[69]->NotButton.PhysicalMin = 0
3308pp_data->cap[69]->NotButton.PhysicalMax = 0
3309pp_data->cap[69]->Units = 0
3310pp_data->cap[69]->UnitsExp = 0
3311
3312pp_data->cap[70]->UsagePage = 0xFF01
3313pp_data->cap[70]->ReportID = 0x02
3314pp_data->cap[70]->BitPosition = 0
3315pp_data->cap[70]->BitSize = 16
3316pp_data->cap[70]->ReportCount = 1
3317pp_data->cap[70]->BytePosition = 0x001F
3318pp_data->cap[70]->BitCount = 16
3319pp_data->cap[70]->BitField = 0x02
3320pp_data->cap[70]->NextBytePosition = 0x0021
3321pp_data->cap[70]->LinkCollection = 0x0002
3322pp_data->cap[70]->LinkUsagePage = 0xFF01
3323pp_data->cap[70]->LinkUsage = 0x0002
3324pp_data->cap[70]->IsMultipleItemsForArray = 0
3325pp_data->cap[70]->IsButtonCap = 0
3326pp_data->cap[70]->IsPadding = 0
3327pp_data->cap[70]->IsAbsolute = 1
3328pp_data->cap[70]->IsRange = 0
3329pp_data->cap[70]->IsAlias = 0
3330pp_data->cap[70]->IsStringRange = 0
3331pp_data->cap[70]->IsDesignatorRange = 0
3332pp_data->cap[70]->Reserved1 = 0x000000
3333pp_data->cap[70]->pp_cap->UnknownTokens[0].Token = 0x00
3334pp_data->cap[70]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3335pp_data->cap[70]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3336pp_data->cap[70]->pp_cap->UnknownTokens[1].Token = 0x00
3337pp_data->cap[70]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3338pp_data->cap[70]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3339pp_data->cap[70]->pp_cap->UnknownTokens[2].Token = 0x00
3340pp_data->cap[70]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3341pp_data->cap[70]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3342pp_data->cap[70]->pp_cap->UnknownTokens[3].Token = 0x00
3343pp_data->cap[70]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3344pp_data->cap[70]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3345pp_data->cap[70]->NotRange.Usage = 0x0004
3346pp_data->cap[70]->NotRange.Reserved1 = 0x0004
3347pp_data->cap[70]->NotRange.StringIndex = 0
3348pp_data->cap[70]->NotRange.Reserved2 = 0
3349pp_data->cap[70]->NotRange.DesignatorIndex = 0
3350pp_data->cap[70]->NotRange.Reserved3 = 0
3351pp_data->cap[70]->NotRange.DataIndex = 70
3352pp_data->cap[70]->NotRange.Reserved4 = 70
3353pp_data->cap[70]->NotButton.HasNull = 0
3354pp_data->cap[70]->NotButton.Reserved4 = 0x000000
3355pp_data->cap[70]->NotButton.LogicalMin = 0
3356pp_data->cap[70]->NotButton.LogicalMax = 4095
3357pp_data->cap[70]->NotButton.PhysicalMin = 0
3358pp_data->cap[70]->NotButton.PhysicalMax = 0
3359pp_data->cap[70]->Units = 0
3360pp_data->cap[70]->UnitsExp = 0
3361
3362pp_data->cap[71]->UsagePage = 0xFF01
3363pp_data->cap[71]->ReportID = 0x02
3364pp_data->cap[71]->BitPosition = 0
3365pp_data->cap[71]->BitSize = 16
3366pp_data->cap[71]->ReportCount = 1
3367pp_data->cap[71]->BytePosition = 0x001D
3368pp_data->cap[71]->BitCount = 16
3369pp_data->cap[71]->BitField = 0x02
3370pp_data->cap[71]->NextBytePosition = 0x001F
3371pp_data->cap[71]->LinkCollection = 0x0002
3372pp_data->cap[71]->LinkUsagePage = 0xFF01
3373pp_data->cap[71]->LinkUsage = 0x0002
3374pp_data->cap[71]->IsMultipleItemsForArray = 0
3375pp_data->cap[71]->IsButtonCap = 0
3376pp_data->cap[71]->IsPadding = 0
3377pp_data->cap[71]->IsAbsolute = 1
3378pp_data->cap[71]->IsRange = 0
3379pp_data->cap[71]->IsAlias = 0
3380pp_data->cap[71]->IsStringRange = 0
3381pp_data->cap[71]->IsDesignatorRange = 0
3382pp_data->cap[71]->Reserved1 = 0x000000
3383pp_data->cap[71]->pp_cap->UnknownTokens[0].Token = 0x00
3384pp_data->cap[71]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3385pp_data->cap[71]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3386pp_data->cap[71]->pp_cap->UnknownTokens[1].Token = 0x00
3387pp_data->cap[71]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3388pp_data->cap[71]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3389pp_data->cap[71]->pp_cap->UnknownTokens[2].Token = 0x00
3390pp_data->cap[71]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3391pp_data->cap[71]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3392pp_data->cap[71]->pp_cap->UnknownTokens[3].Token = 0x00
3393pp_data->cap[71]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3394pp_data->cap[71]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3395pp_data->cap[71]->NotRange.Usage = 0x0004
3396pp_data->cap[71]->NotRange.Reserved1 = 0x0004
3397pp_data->cap[71]->NotRange.StringIndex = 0
3398pp_data->cap[71]->NotRange.Reserved2 = 0
3399pp_data->cap[71]->NotRange.DesignatorIndex = 0
3400pp_data->cap[71]->NotRange.Reserved3 = 0
3401pp_data->cap[71]->NotRange.DataIndex = 71
3402pp_data->cap[71]->NotRange.Reserved4 = 71
3403pp_data->cap[71]->NotButton.HasNull = 0
3404pp_data->cap[71]->NotButton.Reserved4 = 0x000000
3405pp_data->cap[71]->NotButton.LogicalMin = 0
3406pp_data->cap[71]->NotButton.LogicalMax = 4095
3407pp_data->cap[71]->NotButton.PhysicalMin = 0
3408pp_data->cap[71]->NotButton.PhysicalMax = 0
3409pp_data->cap[71]->Units = 0
3410pp_data->cap[71]->UnitsExp = 0
3411
3412pp_data->cap[72]->UsagePage = 0xFF01
3413pp_data->cap[72]->ReportID = 0x02
3414pp_data->cap[72]->BitPosition = 0
3415pp_data->cap[72]->BitSize = 16
3416pp_data->cap[72]->ReportCount = 1
3417pp_data->cap[72]->BytePosition = 0x001B
3418pp_data->cap[72]->BitCount = 16
3419pp_data->cap[72]->BitField = 0x02
3420pp_data->cap[72]->NextBytePosition = 0x001D
3421pp_data->cap[72]->LinkCollection = 0x0002
3422pp_data->cap[72]->LinkUsagePage = 0xFF01
3423pp_data->cap[72]->LinkUsage = 0x0002
3424pp_data->cap[72]->IsMultipleItemsForArray = 0
3425pp_data->cap[72]->IsButtonCap = 0
3426pp_data->cap[72]->IsPadding = 0
3427pp_data->cap[72]->IsAbsolute = 1
3428pp_data->cap[72]->IsRange = 0
3429pp_data->cap[72]->IsAlias = 0
3430pp_data->cap[72]->IsStringRange = 0
3431pp_data->cap[72]->IsDesignatorRange = 0
3432pp_data->cap[72]->Reserved1 = 0x000000
3433pp_data->cap[72]->pp_cap->UnknownTokens[0].Token = 0x00
3434pp_data->cap[72]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3435pp_data->cap[72]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3436pp_data->cap[72]->pp_cap->UnknownTokens[1].Token = 0x00
3437pp_data->cap[72]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3438pp_data->cap[72]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3439pp_data->cap[72]->pp_cap->UnknownTokens[2].Token = 0x00
3440pp_data->cap[72]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3441pp_data->cap[72]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3442pp_data->cap[72]->pp_cap->UnknownTokens[3].Token = 0x00
3443pp_data->cap[72]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3444pp_data->cap[72]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3445pp_data->cap[72]->NotRange.Usage = 0x0004
3446pp_data->cap[72]->NotRange.Reserved1 = 0x0004
3447pp_data->cap[72]->NotRange.StringIndex = 0
3448pp_data->cap[72]->NotRange.Reserved2 = 0
3449pp_data->cap[72]->NotRange.DesignatorIndex = 0
3450pp_data->cap[72]->NotRange.Reserved3 = 0
3451pp_data->cap[72]->NotRange.DataIndex = 72
3452pp_data->cap[72]->NotRange.Reserved4 = 72
3453pp_data->cap[72]->NotButton.HasNull = 0
3454pp_data->cap[72]->NotButton.Reserved4 = 0x000000
3455pp_data->cap[72]->NotButton.LogicalMin = 0
3456pp_data->cap[72]->NotButton.LogicalMax = 4095
3457pp_data->cap[72]->NotButton.PhysicalMin = 0
3458pp_data->cap[72]->NotButton.PhysicalMax = 0
3459pp_data->cap[72]->Units = 0
3460pp_data->cap[72]->UnitsExp = 0
3461
3462pp_data->cap[73]->UsagePage = 0xFF01
3463pp_data->cap[73]->ReportID = 0x02
3464pp_data->cap[73]->BitPosition = 0
3465pp_data->cap[73]->BitSize = 16
3466pp_data->cap[73]->ReportCount = 1
3467pp_data->cap[73]->BytePosition = 0x0019
3468pp_data->cap[73]->BitCount = 16
3469pp_data->cap[73]->BitField = 0x02
3470pp_data->cap[73]->NextBytePosition = 0x001B
3471pp_data->cap[73]->LinkCollection = 0x0002
3472pp_data->cap[73]->LinkUsagePage = 0xFF01
3473pp_data->cap[73]->LinkUsage = 0x0002
3474pp_data->cap[73]->IsMultipleItemsForArray = 0
3475pp_data->cap[73]->IsButtonCap = 0
3476pp_data->cap[73]->IsPadding = 0
3477pp_data->cap[73]->IsAbsolute = 1
3478pp_data->cap[73]->IsRange = 0
3479pp_data->cap[73]->IsAlias = 0
3480pp_data->cap[73]->IsStringRange = 0
3481pp_data->cap[73]->IsDesignatorRange = 0
3482pp_data->cap[73]->Reserved1 = 0x000000
3483pp_data->cap[73]->pp_cap->UnknownTokens[0].Token = 0x00
3484pp_data->cap[73]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3485pp_data->cap[73]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3486pp_data->cap[73]->pp_cap->UnknownTokens[1].Token = 0x00
3487pp_data->cap[73]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3488pp_data->cap[73]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3489pp_data->cap[73]->pp_cap->UnknownTokens[2].Token = 0x00
3490pp_data->cap[73]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3491pp_data->cap[73]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3492pp_data->cap[73]->pp_cap->UnknownTokens[3].Token = 0x00
3493pp_data->cap[73]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3494pp_data->cap[73]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3495pp_data->cap[73]->NotRange.Usage = 0x0004
3496pp_data->cap[73]->NotRange.Reserved1 = 0x0004
3497pp_data->cap[73]->NotRange.StringIndex = 0
3498pp_data->cap[73]->NotRange.Reserved2 = 0
3499pp_data->cap[73]->NotRange.DesignatorIndex = 0
3500pp_data->cap[73]->NotRange.Reserved3 = 0
3501pp_data->cap[73]->NotRange.DataIndex = 73
3502pp_data->cap[73]->NotRange.Reserved4 = 73
3503pp_data->cap[73]->NotButton.HasNull = 0
3504pp_data->cap[73]->NotButton.Reserved4 = 0x000000
3505pp_data->cap[73]->NotButton.LogicalMin = 0
3506pp_data->cap[73]->NotButton.LogicalMax = 4095
3507pp_data->cap[73]->NotButton.PhysicalMin = 0
3508pp_data->cap[73]->NotButton.PhysicalMax = 0
3509pp_data->cap[73]->Units = 0
3510pp_data->cap[73]->UnitsExp = 0
3511
3512pp_data->cap[74]->UsagePage = 0xFF01
3513pp_data->cap[74]->ReportID = 0x02
3514pp_data->cap[74]->BitPosition = 0
3515pp_data->cap[74]->BitSize = 16
3516pp_data->cap[74]->ReportCount = 1
3517pp_data->cap[74]->BytePosition = 0x0017
3518pp_data->cap[74]->BitCount = 16
3519pp_data->cap[74]->BitField = 0x02
3520pp_data->cap[74]->NextBytePosition = 0x0019
3521pp_data->cap[74]->LinkCollection = 0x0002
3522pp_data->cap[74]->LinkUsagePage = 0xFF01
3523pp_data->cap[74]->LinkUsage = 0x0002
3524pp_data->cap[74]->IsMultipleItemsForArray = 0
3525pp_data->cap[74]->IsButtonCap = 0
3526pp_data->cap[74]->IsPadding = 0
3527pp_data->cap[74]->IsAbsolute = 1
3528pp_data->cap[74]->IsRange = 0
3529pp_data->cap[74]->IsAlias = 0
3530pp_data->cap[74]->IsStringRange = 0
3531pp_data->cap[74]->IsDesignatorRange = 0
3532pp_data->cap[74]->Reserved1 = 0x000000
3533pp_data->cap[74]->pp_cap->UnknownTokens[0].Token = 0x00
3534pp_data->cap[74]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3535pp_data->cap[74]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3536pp_data->cap[74]->pp_cap->UnknownTokens[1].Token = 0x00
3537pp_data->cap[74]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3538pp_data->cap[74]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3539pp_data->cap[74]->pp_cap->UnknownTokens[2].Token = 0x00
3540pp_data->cap[74]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3541pp_data->cap[74]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3542pp_data->cap[74]->pp_cap->UnknownTokens[3].Token = 0x00
3543pp_data->cap[74]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3544pp_data->cap[74]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3545pp_data->cap[74]->NotRange.Usage = 0x0004
3546pp_data->cap[74]->NotRange.Reserved1 = 0x0004
3547pp_data->cap[74]->NotRange.StringIndex = 0
3548pp_data->cap[74]->NotRange.Reserved2 = 0
3549pp_data->cap[74]->NotRange.DesignatorIndex = 0
3550pp_data->cap[74]->NotRange.Reserved3 = 0
3551pp_data->cap[74]->NotRange.DataIndex = 74
3552pp_data->cap[74]->NotRange.Reserved4 = 74
3553pp_data->cap[74]->NotButton.HasNull = 0
3554pp_data->cap[74]->NotButton.Reserved4 = 0x000000
3555pp_data->cap[74]->NotButton.LogicalMin = 0
3556pp_data->cap[74]->NotButton.LogicalMax = 4095
3557pp_data->cap[74]->NotButton.PhysicalMin = 0
3558pp_data->cap[74]->NotButton.PhysicalMax = 0
3559pp_data->cap[74]->Units = 0
3560pp_data->cap[74]->UnitsExp = 0
3561
3562pp_data->cap[75]->UsagePage = 0xFF01
3563pp_data->cap[75]->ReportID = 0x02
3564pp_data->cap[75]->BitPosition = 0
3565pp_data->cap[75]->BitSize = 16
3566pp_data->cap[75]->ReportCount = 1
3567pp_data->cap[75]->BytePosition = 0x0015
3568pp_data->cap[75]->BitCount = 16
3569pp_data->cap[75]->BitField = 0x02
3570pp_data->cap[75]->NextBytePosition = 0x0017
3571pp_data->cap[75]->LinkCollection = 0x0002
3572pp_data->cap[75]->LinkUsagePage = 0xFF01
3573pp_data->cap[75]->LinkUsage = 0x0002
3574pp_data->cap[75]->IsMultipleItemsForArray = 0
3575pp_data->cap[75]->IsButtonCap = 0
3576pp_data->cap[75]->IsPadding = 0
3577pp_data->cap[75]->IsAbsolute = 1
3578pp_data->cap[75]->IsRange = 0
3579pp_data->cap[75]->IsAlias = 0
3580pp_data->cap[75]->IsStringRange = 0
3581pp_data->cap[75]->IsDesignatorRange = 0
3582pp_data->cap[75]->Reserved1 = 0x000000
3583pp_data->cap[75]->pp_cap->UnknownTokens[0].Token = 0x00
3584pp_data->cap[75]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3585pp_data->cap[75]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3586pp_data->cap[75]->pp_cap->UnknownTokens[1].Token = 0x00
3587pp_data->cap[75]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3588pp_data->cap[75]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3589pp_data->cap[75]->pp_cap->UnknownTokens[2].Token = 0x00
3590pp_data->cap[75]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3591pp_data->cap[75]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3592pp_data->cap[75]->pp_cap->UnknownTokens[3].Token = 0x00
3593pp_data->cap[75]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3594pp_data->cap[75]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3595pp_data->cap[75]->NotRange.Usage = 0x0004
3596pp_data->cap[75]->NotRange.Reserved1 = 0x0004
3597pp_data->cap[75]->NotRange.StringIndex = 0
3598pp_data->cap[75]->NotRange.Reserved2 = 0
3599pp_data->cap[75]->NotRange.DesignatorIndex = 0
3600pp_data->cap[75]->NotRange.Reserved3 = 0
3601pp_data->cap[75]->NotRange.DataIndex = 75
3602pp_data->cap[75]->NotRange.Reserved4 = 75
3603pp_data->cap[75]->NotButton.HasNull = 0
3604pp_data->cap[75]->NotButton.Reserved4 = 0x000000
3605pp_data->cap[75]->NotButton.LogicalMin = 0
3606pp_data->cap[75]->NotButton.LogicalMax = 4095
3607pp_data->cap[75]->NotButton.PhysicalMin = 0
3608pp_data->cap[75]->NotButton.PhysicalMax = 0
3609pp_data->cap[75]->Units = 0
3610pp_data->cap[75]->UnitsExp = 0
3611
3612pp_data->cap[76]->UsagePage = 0xFF01
3613pp_data->cap[76]->ReportID = 0x02
3614pp_data->cap[76]->BitPosition = 0
3615pp_data->cap[76]->BitSize = 16
3616pp_data->cap[76]->ReportCount = 1
3617pp_data->cap[76]->BytePosition = 0x0013
3618pp_data->cap[76]->BitCount = 16
3619pp_data->cap[76]->BitField = 0x02
3620pp_data->cap[76]->NextBytePosition = 0x0015
3621pp_data->cap[76]->LinkCollection = 0x0002
3622pp_data->cap[76]->LinkUsagePage = 0xFF01
3623pp_data->cap[76]->LinkUsage = 0x0002
3624pp_data->cap[76]->IsMultipleItemsForArray = 0
3625pp_data->cap[76]->IsButtonCap = 0
3626pp_data->cap[76]->IsPadding = 0
3627pp_data->cap[76]->IsAbsolute = 1
3628pp_data->cap[76]->IsRange = 0
3629pp_data->cap[76]->IsAlias = 0
3630pp_data->cap[76]->IsStringRange = 0
3631pp_data->cap[76]->IsDesignatorRange = 0
3632pp_data->cap[76]->Reserved1 = 0x000000
3633pp_data->cap[76]->pp_cap->UnknownTokens[0].Token = 0x00
3634pp_data->cap[76]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3635pp_data->cap[76]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3636pp_data->cap[76]->pp_cap->UnknownTokens[1].Token = 0x00
3637pp_data->cap[76]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3638pp_data->cap[76]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3639pp_data->cap[76]->pp_cap->UnknownTokens[2].Token = 0x00
3640pp_data->cap[76]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3641pp_data->cap[76]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3642pp_data->cap[76]->pp_cap->UnknownTokens[3].Token = 0x00
3643pp_data->cap[76]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3644pp_data->cap[76]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3645pp_data->cap[76]->NotRange.Usage = 0x0004
3646pp_data->cap[76]->NotRange.Reserved1 = 0x0004
3647pp_data->cap[76]->NotRange.StringIndex = 0
3648pp_data->cap[76]->NotRange.Reserved2 = 0
3649pp_data->cap[76]->NotRange.DesignatorIndex = 0
3650pp_data->cap[76]->NotRange.Reserved3 = 0
3651pp_data->cap[76]->NotRange.DataIndex = 76
3652pp_data->cap[76]->NotRange.Reserved4 = 76
3653pp_data->cap[76]->NotButton.HasNull = 0
3654pp_data->cap[76]->NotButton.Reserved4 = 0x000000
3655pp_data->cap[76]->NotButton.LogicalMin = 0
3656pp_data->cap[76]->NotButton.LogicalMax = 4095
3657pp_data->cap[76]->NotButton.PhysicalMin = 0
3658pp_data->cap[76]->NotButton.PhysicalMax = 0
3659pp_data->cap[76]->Units = 0
3660pp_data->cap[76]->UnitsExp = 0
3661
3662pp_data->cap[77]->UsagePage = 0xFF01
3663pp_data->cap[77]->ReportID = 0x02
3664pp_data->cap[77]->BitPosition = 0
3665pp_data->cap[77]->BitSize = 16
3666pp_data->cap[77]->ReportCount = 1
3667pp_data->cap[77]->BytePosition = 0x0011
3668pp_data->cap[77]->BitCount = 16
3669pp_data->cap[77]->BitField = 0x02
3670pp_data->cap[77]->NextBytePosition = 0x0013
3671pp_data->cap[77]->LinkCollection = 0x0002
3672pp_data->cap[77]->LinkUsagePage = 0xFF01
3673pp_data->cap[77]->LinkUsage = 0x0002
3674pp_data->cap[77]->IsMultipleItemsForArray = 0
3675pp_data->cap[77]->IsButtonCap = 0
3676pp_data->cap[77]->IsPadding = 0
3677pp_data->cap[77]->IsAbsolute = 1
3678pp_data->cap[77]->IsRange = 0
3679pp_data->cap[77]->IsAlias = 0
3680pp_data->cap[77]->IsStringRange = 0
3681pp_data->cap[77]->IsDesignatorRange = 0
3682pp_data->cap[77]->Reserved1 = 0x000000
3683pp_data->cap[77]->pp_cap->UnknownTokens[0].Token = 0x00
3684pp_data->cap[77]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3685pp_data->cap[77]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3686pp_data->cap[77]->pp_cap->UnknownTokens[1].Token = 0x00
3687pp_data->cap[77]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3688pp_data->cap[77]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3689pp_data->cap[77]->pp_cap->UnknownTokens[2].Token = 0x00
3690pp_data->cap[77]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3691pp_data->cap[77]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3692pp_data->cap[77]->pp_cap->UnknownTokens[3].Token = 0x00
3693pp_data->cap[77]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3694pp_data->cap[77]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3695pp_data->cap[77]->NotRange.Usage = 0x0004
3696pp_data->cap[77]->NotRange.Reserved1 = 0x0004
3697pp_data->cap[77]->NotRange.StringIndex = 0
3698pp_data->cap[77]->NotRange.Reserved2 = 0
3699pp_data->cap[77]->NotRange.DesignatorIndex = 0
3700pp_data->cap[77]->NotRange.Reserved3 = 0
3701pp_data->cap[77]->NotRange.DataIndex = 77
3702pp_data->cap[77]->NotRange.Reserved4 = 77
3703pp_data->cap[77]->NotButton.HasNull = 0
3704pp_data->cap[77]->NotButton.Reserved4 = 0x000000
3705pp_data->cap[77]->NotButton.LogicalMin = 0
3706pp_data->cap[77]->NotButton.LogicalMax = 4095
3707pp_data->cap[77]->NotButton.PhysicalMin = 0
3708pp_data->cap[77]->NotButton.PhysicalMax = 0
3709pp_data->cap[77]->Units = 0
3710pp_data->cap[77]->UnitsExp = 0
3711
3712pp_data->cap[78]->UsagePage = 0xFF01
3713pp_data->cap[78]->ReportID = 0x02
3714pp_data->cap[78]->BitPosition = 0
3715pp_data->cap[78]->BitSize = 16
3716pp_data->cap[78]->ReportCount = 1
3717pp_data->cap[78]->BytePosition = 0x000F
3718pp_data->cap[78]->BitCount = 16
3719pp_data->cap[78]->BitField = 0x02
3720pp_data->cap[78]->NextBytePosition = 0x0011
3721pp_data->cap[78]->LinkCollection = 0x0002
3722pp_data->cap[78]->LinkUsagePage = 0xFF01
3723pp_data->cap[78]->LinkUsage = 0x0002
3724pp_data->cap[78]->IsMultipleItemsForArray = 0
3725pp_data->cap[78]->IsButtonCap = 0
3726pp_data->cap[78]->IsPadding = 0
3727pp_data->cap[78]->IsAbsolute = 1
3728pp_data->cap[78]->IsRange = 0
3729pp_data->cap[78]->IsAlias = 0
3730pp_data->cap[78]->IsStringRange = 0
3731pp_data->cap[78]->IsDesignatorRange = 0
3732pp_data->cap[78]->Reserved1 = 0x000000
3733pp_data->cap[78]->pp_cap->UnknownTokens[0].Token = 0x00
3734pp_data->cap[78]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3735pp_data->cap[78]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3736pp_data->cap[78]->pp_cap->UnknownTokens[1].Token = 0x00
3737pp_data->cap[78]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3738pp_data->cap[78]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3739pp_data->cap[78]->pp_cap->UnknownTokens[2].Token = 0x00
3740pp_data->cap[78]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3741pp_data->cap[78]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3742pp_data->cap[78]->pp_cap->UnknownTokens[3].Token = 0x00
3743pp_data->cap[78]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3744pp_data->cap[78]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3745pp_data->cap[78]->NotRange.Usage = 0x0004
3746pp_data->cap[78]->NotRange.Reserved1 = 0x0004
3747pp_data->cap[78]->NotRange.StringIndex = 0
3748pp_data->cap[78]->NotRange.Reserved2 = 0
3749pp_data->cap[78]->NotRange.DesignatorIndex = 0
3750pp_data->cap[78]->NotRange.Reserved3 = 0
3751pp_data->cap[78]->NotRange.DataIndex = 78
3752pp_data->cap[78]->NotRange.Reserved4 = 78
3753pp_data->cap[78]->NotButton.HasNull = 0
3754pp_data->cap[78]->NotButton.Reserved4 = 0x000000
3755pp_data->cap[78]->NotButton.LogicalMin = 0
3756pp_data->cap[78]->NotButton.LogicalMax = 4095
3757pp_data->cap[78]->NotButton.PhysicalMin = 0
3758pp_data->cap[78]->NotButton.PhysicalMax = 0
3759pp_data->cap[78]->Units = 0
3760pp_data->cap[78]->UnitsExp = 0
3761
3762pp_data->cap[79]->UsagePage = 0xFF01
3763pp_data->cap[79]->ReportID = 0x02
3764pp_data->cap[79]->BitPosition = 0
3765pp_data->cap[79]->BitSize = 16
3766pp_data->cap[79]->ReportCount = 1
3767pp_data->cap[79]->BytePosition = 0x000D
3768pp_data->cap[79]->BitCount = 16
3769pp_data->cap[79]->BitField = 0x02
3770pp_data->cap[79]->NextBytePosition = 0x000F
3771pp_data->cap[79]->LinkCollection = 0x0002
3772pp_data->cap[79]->LinkUsagePage = 0xFF01
3773pp_data->cap[79]->LinkUsage = 0x0002
3774pp_data->cap[79]->IsMultipleItemsForArray = 0
3775pp_data->cap[79]->IsButtonCap = 0
3776pp_data->cap[79]->IsPadding = 0
3777pp_data->cap[79]->IsAbsolute = 1
3778pp_data->cap[79]->IsRange = 0
3779pp_data->cap[79]->IsAlias = 0
3780pp_data->cap[79]->IsStringRange = 0
3781pp_data->cap[79]->IsDesignatorRange = 0
3782pp_data->cap[79]->Reserved1 = 0x000000
3783pp_data->cap[79]->pp_cap->UnknownTokens[0].Token = 0x00
3784pp_data->cap[79]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3785pp_data->cap[79]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3786pp_data->cap[79]->pp_cap->UnknownTokens[1].Token = 0x00
3787pp_data->cap[79]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3788pp_data->cap[79]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3789pp_data->cap[79]->pp_cap->UnknownTokens[2].Token = 0x00
3790pp_data->cap[79]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3791pp_data->cap[79]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3792pp_data->cap[79]->pp_cap->UnknownTokens[3].Token = 0x00
3793pp_data->cap[79]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3794pp_data->cap[79]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3795pp_data->cap[79]->NotRange.Usage = 0x0004
3796pp_data->cap[79]->NotRange.Reserved1 = 0x0004
3797pp_data->cap[79]->NotRange.StringIndex = 0
3798pp_data->cap[79]->NotRange.Reserved2 = 0
3799pp_data->cap[79]->NotRange.DesignatorIndex = 0
3800pp_data->cap[79]->NotRange.Reserved3 = 0
3801pp_data->cap[79]->NotRange.DataIndex = 79
3802pp_data->cap[79]->NotRange.Reserved4 = 79
3803pp_data->cap[79]->NotButton.HasNull = 0
3804pp_data->cap[79]->NotButton.Reserved4 = 0x000000
3805pp_data->cap[79]->NotButton.LogicalMin = 0
3806pp_data->cap[79]->NotButton.LogicalMax = 4095
3807pp_data->cap[79]->NotButton.PhysicalMin = 0
3808pp_data->cap[79]->NotButton.PhysicalMax = 0
3809pp_data->cap[79]->Units = 0
3810pp_data->cap[79]->UnitsExp = 0
3811
3812pp_data->cap[80]->UsagePage = 0xFF01
3813pp_data->cap[80]->ReportID = 0x02
3814pp_data->cap[80]->BitPosition = 0
3815pp_data->cap[80]->BitSize = 16
3816pp_data->cap[80]->ReportCount = 1
3817pp_data->cap[80]->BytePosition = 0x000B
3818pp_data->cap[80]->BitCount = 16
3819pp_data->cap[80]->BitField = 0x02
3820pp_data->cap[80]->NextBytePosition = 0x000D
3821pp_data->cap[80]->LinkCollection = 0x0002
3822pp_data->cap[80]->LinkUsagePage = 0xFF01
3823pp_data->cap[80]->LinkUsage = 0x0002
3824pp_data->cap[80]->IsMultipleItemsForArray = 0
3825pp_data->cap[80]->IsButtonCap = 0
3826pp_data->cap[80]->IsPadding = 0
3827pp_data->cap[80]->IsAbsolute = 1
3828pp_data->cap[80]->IsRange = 0
3829pp_data->cap[80]->IsAlias = 0
3830pp_data->cap[80]->IsStringRange = 0
3831pp_data->cap[80]->IsDesignatorRange = 0
3832pp_data->cap[80]->Reserved1 = 0x000000
3833pp_data->cap[80]->pp_cap->UnknownTokens[0].Token = 0x00
3834pp_data->cap[80]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3835pp_data->cap[80]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3836pp_data->cap[80]->pp_cap->UnknownTokens[1].Token = 0x00
3837pp_data->cap[80]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3838pp_data->cap[80]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3839pp_data->cap[80]->pp_cap->UnknownTokens[2].Token = 0x00
3840pp_data->cap[80]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3841pp_data->cap[80]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3842pp_data->cap[80]->pp_cap->UnknownTokens[3].Token = 0x00
3843pp_data->cap[80]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3844pp_data->cap[80]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3845pp_data->cap[80]->NotRange.Usage = 0x0004
3846pp_data->cap[80]->NotRange.Reserved1 = 0x0004
3847pp_data->cap[80]->NotRange.StringIndex = 0
3848pp_data->cap[80]->NotRange.Reserved2 = 0
3849pp_data->cap[80]->NotRange.DesignatorIndex = 0
3850pp_data->cap[80]->NotRange.Reserved3 = 0
3851pp_data->cap[80]->NotRange.DataIndex = 80
3852pp_data->cap[80]->NotRange.Reserved4 = 80
3853pp_data->cap[80]->NotButton.HasNull = 0
3854pp_data->cap[80]->NotButton.Reserved4 = 0x000000
3855pp_data->cap[80]->NotButton.LogicalMin = 0
3856pp_data->cap[80]->NotButton.LogicalMax = 4095
3857pp_data->cap[80]->NotButton.PhysicalMin = 0
3858pp_data->cap[80]->NotButton.PhysicalMax = 0
3859pp_data->cap[80]->Units = 0
3860pp_data->cap[80]->UnitsExp = 0
3861
3862pp_data->cap[81]->UsagePage = 0xFF01
3863pp_data->cap[81]->ReportID = 0x02
3864pp_data->cap[81]->BitPosition = 0
3865pp_data->cap[81]->BitSize = 16
3866pp_data->cap[81]->ReportCount = 1
3867pp_data->cap[81]->BytePosition = 0x0009
3868pp_data->cap[81]->BitCount = 16
3869pp_data->cap[81]->BitField = 0x02
3870pp_data->cap[81]->NextBytePosition = 0x000B
3871pp_data->cap[81]->LinkCollection = 0x0002
3872pp_data->cap[81]->LinkUsagePage = 0xFF01
3873pp_data->cap[81]->LinkUsage = 0x0002
3874pp_data->cap[81]->IsMultipleItemsForArray = 0
3875pp_data->cap[81]->IsButtonCap = 0
3876pp_data->cap[81]->IsPadding = 0
3877pp_data->cap[81]->IsAbsolute = 1
3878pp_data->cap[81]->IsRange = 0
3879pp_data->cap[81]->IsAlias = 0
3880pp_data->cap[81]->IsStringRange = 0
3881pp_data->cap[81]->IsDesignatorRange = 0
3882pp_data->cap[81]->Reserved1 = 0x000000
3883pp_data->cap[81]->pp_cap->UnknownTokens[0].Token = 0x00
3884pp_data->cap[81]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3885pp_data->cap[81]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3886pp_data->cap[81]->pp_cap->UnknownTokens[1].Token = 0x00
3887pp_data->cap[81]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3888pp_data->cap[81]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3889pp_data->cap[81]->pp_cap->UnknownTokens[2].Token = 0x00
3890pp_data->cap[81]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3891pp_data->cap[81]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3892pp_data->cap[81]->pp_cap->UnknownTokens[3].Token = 0x00
3893pp_data->cap[81]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3894pp_data->cap[81]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3895pp_data->cap[81]->NotRange.Usage = 0x0004
3896pp_data->cap[81]->NotRange.Reserved1 = 0x0004
3897pp_data->cap[81]->NotRange.StringIndex = 0
3898pp_data->cap[81]->NotRange.Reserved2 = 0
3899pp_data->cap[81]->NotRange.DesignatorIndex = 0
3900pp_data->cap[81]->NotRange.Reserved3 = 0
3901pp_data->cap[81]->NotRange.DataIndex = 81
3902pp_data->cap[81]->NotRange.Reserved4 = 81
3903pp_data->cap[81]->NotButton.HasNull = 0
3904pp_data->cap[81]->NotButton.Reserved4 = 0x000000
3905pp_data->cap[81]->NotButton.LogicalMin = 0
3906pp_data->cap[81]->NotButton.LogicalMax = 4095
3907pp_data->cap[81]->NotButton.PhysicalMin = 0
3908pp_data->cap[81]->NotButton.PhysicalMax = 0
3909pp_data->cap[81]->Units = 0
3910pp_data->cap[81]->UnitsExp = 0
3911
3912pp_data->cap[82]->UsagePage = 0xFF01
3913pp_data->cap[82]->ReportID = 0x02
3914pp_data->cap[82]->BitPosition = 0
3915pp_data->cap[82]->BitSize = 16
3916pp_data->cap[82]->ReportCount = 1
3917pp_data->cap[82]->BytePosition = 0x0007
3918pp_data->cap[82]->BitCount = 16
3919pp_data->cap[82]->BitField = 0x02
3920pp_data->cap[82]->NextBytePosition = 0x0009
3921pp_data->cap[82]->LinkCollection = 0x0002
3922pp_data->cap[82]->LinkUsagePage = 0xFF01
3923pp_data->cap[82]->LinkUsage = 0x0002
3924pp_data->cap[82]->IsMultipleItemsForArray = 0
3925pp_data->cap[82]->IsButtonCap = 0
3926pp_data->cap[82]->IsPadding = 0
3927pp_data->cap[82]->IsAbsolute = 1
3928pp_data->cap[82]->IsRange = 0
3929pp_data->cap[82]->IsAlias = 0
3930pp_data->cap[82]->IsStringRange = 0
3931pp_data->cap[82]->IsDesignatorRange = 0
3932pp_data->cap[82]->Reserved1 = 0x000000
3933pp_data->cap[82]->pp_cap->UnknownTokens[0].Token = 0x00
3934pp_data->cap[82]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3935pp_data->cap[82]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3936pp_data->cap[82]->pp_cap->UnknownTokens[1].Token = 0x00
3937pp_data->cap[82]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3938pp_data->cap[82]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3939pp_data->cap[82]->pp_cap->UnknownTokens[2].Token = 0x00
3940pp_data->cap[82]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3941pp_data->cap[82]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3942pp_data->cap[82]->pp_cap->UnknownTokens[3].Token = 0x00
3943pp_data->cap[82]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3944pp_data->cap[82]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3945pp_data->cap[82]->NotRange.Usage = 0x0004
3946pp_data->cap[82]->NotRange.Reserved1 = 0x0004
3947pp_data->cap[82]->NotRange.StringIndex = 0
3948pp_data->cap[82]->NotRange.Reserved2 = 0
3949pp_data->cap[82]->NotRange.DesignatorIndex = 0
3950pp_data->cap[82]->NotRange.Reserved3 = 0
3951pp_data->cap[82]->NotRange.DataIndex = 82
3952pp_data->cap[82]->NotRange.Reserved4 = 82
3953pp_data->cap[82]->NotButton.HasNull = 0
3954pp_data->cap[82]->NotButton.Reserved4 = 0x000000
3955pp_data->cap[82]->NotButton.LogicalMin = 0
3956pp_data->cap[82]->NotButton.LogicalMax = 4095
3957pp_data->cap[82]->NotButton.PhysicalMin = 0
3958pp_data->cap[82]->NotButton.PhysicalMax = 0
3959pp_data->cap[82]->Units = 0
3960pp_data->cap[82]->UnitsExp = 0
3961
3962pp_data->cap[83]->UsagePage = 0xFF01
3963pp_data->cap[83]->ReportID = 0x02
3964pp_data->cap[83]->BitPosition = 0
3965pp_data->cap[83]->BitSize = 16
3966pp_data->cap[83]->ReportCount = 1
3967pp_data->cap[83]->BytePosition = 0x0005
3968pp_data->cap[83]->BitCount = 16
3969pp_data->cap[83]->BitField = 0x02
3970pp_data->cap[83]->NextBytePosition = 0x0007
3971pp_data->cap[83]->LinkCollection = 0x0002
3972pp_data->cap[83]->LinkUsagePage = 0xFF01
3973pp_data->cap[83]->LinkUsage = 0x0002
3974pp_data->cap[83]->IsMultipleItemsForArray = 0
3975pp_data->cap[83]->IsButtonCap = 0
3976pp_data->cap[83]->IsPadding = 0
3977pp_data->cap[83]->IsAbsolute = 1
3978pp_data->cap[83]->IsRange = 0
3979pp_data->cap[83]->IsAlias = 0
3980pp_data->cap[83]->IsStringRange = 0
3981pp_data->cap[83]->IsDesignatorRange = 0
3982pp_data->cap[83]->Reserved1 = 0x000000
3983pp_data->cap[83]->pp_cap->UnknownTokens[0].Token = 0x00
3984pp_data->cap[83]->pp_cap->UnknownTokens[0].Reserved = 0x000000
3985pp_data->cap[83]->pp_cap->UnknownTokens[0].BitField = 0x00000000
3986pp_data->cap[83]->pp_cap->UnknownTokens[1].Token = 0x00
3987pp_data->cap[83]->pp_cap->UnknownTokens[1].Reserved = 0x000000
3988pp_data->cap[83]->pp_cap->UnknownTokens[1].BitField = 0x00000000
3989pp_data->cap[83]->pp_cap->UnknownTokens[2].Token = 0x00
3990pp_data->cap[83]->pp_cap->UnknownTokens[2].Reserved = 0x000000
3991pp_data->cap[83]->pp_cap->UnknownTokens[2].BitField = 0x00000000
3992pp_data->cap[83]->pp_cap->UnknownTokens[3].Token = 0x00
3993pp_data->cap[83]->pp_cap->UnknownTokens[3].Reserved = 0x000000
3994pp_data->cap[83]->pp_cap->UnknownTokens[3].BitField = 0x00000000
3995pp_data->cap[83]->NotRange.Usage = 0x0004
3996pp_data->cap[83]->NotRange.Reserved1 = 0x0004
3997pp_data->cap[83]->NotRange.StringIndex = 0
3998pp_data->cap[83]->NotRange.Reserved2 = 0
3999pp_data->cap[83]->NotRange.DesignatorIndex = 0
4000pp_data->cap[83]->NotRange.Reserved3 = 0
4001pp_data->cap[83]->NotRange.DataIndex = 83
4002pp_data->cap[83]->NotRange.Reserved4 = 83
4003pp_data->cap[83]->NotButton.HasNull = 0
4004pp_data->cap[83]->NotButton.Reserved4 = 0x000000
4005pp_data->cap[83]->NotButton.LogicalMin = 0
4006pp_data->cap[83]->NotButton.LogicalMax = 4095
4007pp_data->cap[83]->NotButton.PhysicalMin = 0
4008pp_data->cap[83]->NotButton.PhysicalMax = 0
4009pp_data->cap[83]->Units = 0
4010pp_data->cap[83]->UnitsExp = 0
4011
4012pp_data->cap[84]->UsagePage = 0xFF01
4013pp_data->cap[84]->ReportID = 0x02
4014pp_data->cap[84]->BitPosition = 0
4015pp_data->cap[84]->BitSize = 16
4016pp_data->cap[84]->ReportCount = 1
4017pp_data->cap[84]->BytePosition = 0x0003
4018pp_data->cap[84]->BitCount = 16
4019pp_data->cap[84]->BitField = 0x02
4020pp_data->cap[84]->NextBytePosition = 0x0005
4021pp_data->cap[84]->LinkCollection = 0x0002
4022pp_data->cap[84]->LinkUsagePage = 0xFF01
4023pp_data->cap[84]->LinkUsage = 0x0002
4024pp_data->cap[84]->IsMultipleItemsForArray = 0
4025pp_data->cap[84]->IsButtonCap = 0
4026pp_data->cap[84]->IsPadding = 0
4027pp_data->cap[84]->IsAbsolute = 1
4028pp_data->cap[84]->IsRange = 0
4029pp_data->cap[84]->IsAlias = 0
4030pp_data->cap[84]->IsStringRange = 0
4031pp_data->cap[84]->IsDesignatorRange = 0
4032pp_data->cap[84]->Reserved1 = 0x000000
4033pp_data->cap[84]->pp_cap->UnknownTokens[0].Token = 0x00
4034pp_data->cap[84]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4035pp_data->cap[84]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4036pp_data->cap[84]->pp_cap->UnknownTokens[1].Token = 0x00
4037pp_data->cap[84]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4038pp_data->cap[84]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4039pp_data->cap[84]->pp_cap->UnknownTokens[2].Token = 0x00
4040pp_data->cap[84]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4041pp_data->cap[84]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4042pp_data->cap[84]->pp_cap->UnknownTokens[3].Token = 0x00
4043pp_data->cap[84]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4044pp_data->cap[84]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4045pp_data->cap[84]->NotRange.Usage = 0x0004
4046pp_data->cap[84]->NotRange.Reserved1 = 0x0004
4047pp_data->cap[84]->NotRange.StringIndex = 0
4048pp_data->cap[84]->NotRange.Reserved2 = 0
4049pp_data->cap[84]->NotRange.DesignatorIndex = 0
4050pp_data->cap[84]->NotRange.Reserved3 = 0
4051pp_data->cap[84]->NotRange.DataIndex = 84
4052pp_data->cap[84]->NotRange.Reserved4 = 84
4053pp_data->cap[84]->NotButton.HasNull = 0
4054pp_data->cap[84]->NotButton.Reserved4 = 0x000000
4055pp_data->cap[84]->NotButton.LogicalMin = 0
4056pp_data->cap[84]->NotButton.LogicalMax = 4095
4057pp_data->cap[84]->NotButton.PhysicalMin = 0
4058pp_data->cap[84]->NotButton.PhysicalMax = 0
4059pp_data->cap[84]->Units = 0
4060pp_data->cap[84]->UnitsExp = 0
4061
4062pp_data->cap[85]->UsagePage = 0xFF01
4063pp_data->cap[85]->ReportID = 0x02
4064pp_data->cap[85]->BitPosition = 0
4065pp_data->cap[85]->BitSize = 16
4066pp_data->cap[85]->ReportCount = 1
4067pp_data->cap[85]->BytePosition = 0x0001
4068pp_data->cap[85]->BitCount = 16
4069pp_data->cap[85]->BitField = 0x02
4070pp_data->cap[85]->NextBytePosition = 0x0003
4071pp_data->cap[85]->LinkCollection = 0x0002
4072pp_data->cap[85]->LinkUsagePage = 0xFF01
4073pp_data->cap[85]->LinkUsage = 0x0002
4074pp_data->cap[85]->IsMultipleItemsForArray = 0
4075pp_data->cap[85]->IsButtonCap = 0
4076pp_data->cap[85]->IsPadding = 0
4077pp_data->cap[85]->IsAbsolute = 1
4078pp_data->cap[85]->IsRange = 0
4079pp_data->cap[85]->IsAlias = 0
4080pp_data->cap[85]->IsStringRange = 0
4081pp_data->cap[85]->IsDesignatorRange = 0
4082pp_data->cap[85]->Reserved1 = 0x000000
4083pp_data->cap[85]->pp_cap->UnknownTokens[0].Token = 0x00
4084pp_data->cap[85]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4085pp_data->cap[85]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4086pp_data->cap[85]->pp_cap->UnknownTokens[1].Token = 0x00
4087pp_data->cap[85]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4088pp_data->cap[85]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4089pp_data->cap[85]->pp_cap->UnknownTokens[2].Token = 0x00
4090pp_data->cap[85]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4091pp_data->cap[85]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4092pp_data->cap[85]->pp_cap->UnknownTokens[3].Token = 0x00
4093pp_data->cap[85]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4094pp_data->cap[85]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4095pp_data->cap[85]->NotRange.Usage = 0x0004
4096pp_data->cap[85]->NotRange.Reserved1 = 0x0004
4097pp_data->cap[85]->NotRange.StringIndex = 0
4098pp_data->cap[85]->NotRange.Reserved2 = 0
4099pp_data->cap[85]->NotRange.DesignatorIndex = 0
4100pp_data->cap[85]->NotRange.Reserved3 = 0
4101pp_data->cap[85]->NotRange.DataIndex = 85
4102pp_data->cap[85]->NotRange.Reserved4 = 85
4103pp_data->cap[85]->NotButton.HasNull = 0
4104pp_data->cap[85]->NotButton.Reserved4 = 0x000000
4105pp_data->cap[85]->NotButton.LogicalMin = 0
4106pp_data->cap[85]->NotButton.LogicalMax = 4095
4107pp_data->cap[85]->NotButton.PhysicalMin = 0
4108pp_data->cap[85]->NotButton.PhysicalMax = 0
4109pp_data->cap[85]->Units = 0
4110pp_data->cap[85]->UnitsExp = 0
4111
4112# Output hid_pp_cap struct:
4113pp_data->cap[87]->UsagePage = 0xFF01
4114pp_data->cap[87]->ReportID = 0x80
4115pp_data->cap[87]->BitPosition = 0
4116pp_data->cap[87]->BitSize = 8
4117pp_data->cap[87]->ReportCount = 1
4118pp_data->cap[87]->BytePosition = 0x005E
4119pp_data->cap[87]->BitCount = 8
4120pp_data->cap[87]->BitField = 0x02
4121pp_data->cap[87]->NextBytePosition = 0x005F
4122pp_data->cap[87]->LinkCollection = 0x0003
4123pp_data->cap[87]->LinkUsagePage = 0xFF01
4124pp_data->cap[87]->LinkUsage = 0x0080
4125pp_data->cap[87]->IsMultipleItemsForArray = 0
4126pp_data->cap[87]->IsButtonCap = 0
4127pp_data->cap[87]->IsPadding = 0
4128pp_data->cap[87]->IsAbsolute = 1
4129pp_data->cap[87]->IsRange = 0
4130pp_data->cap[87]->IsAlias = 0
4131pp_data->cap[87]->IsStringRange = 0
4132pp_data->cap[87]->IsDesignatorRange = 0
4133pp_data->cap[87]->Reserved1 = 0x000000
4134pp_data->cap[87]->pp_cap->UnknownTokens[0].Token = 0x00
4135pp_data->cap[87]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4136pp_data->cap[87]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4137pp_data->cap[87]->pp_cap->UnknownTokens[1].Token = 0x00
4138pp_data->cap[87]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4139pp_data->cap[87]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4140pp_data->cap[87]->pp_cap->UnknownTokens[2].Token = 0x00
4141pp_data->cap[87]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4142pp_data->cap[87]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4143pp_data->cap[87]->pp_cap->UnknownTokens[3].Token = 0x00
4144pp_data->cap[87]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4145pp_data->cap[87]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4146pp_data->cap[87]->NotRange.Usage = 0x0081
4147pp_data->cap[87]->NotRange.Reserved1 = 0x0081
4148pp_data->cap[87]->NotRange.StringIndex = 0
4149pp_data->cap[87]->NotRange.Reserved2 = 0
4150pp_data->cap[87]->NotRange.DesignatorIndex = 0
4151pp_data->cap[87]->NotRange.Reserved3 = 0
4152pp_data->cap[87]->NotRange.DataIndex = 0
4153pp_data->cap[87]->NotRange.Reserved4 = 0
4154pp_data->cap[87]->NotButton.HasNull = 0
4155pp_data->cap[87]->NotButton.Reserved4 = 0x000000
4156pp_data->cap[87]->NotButton.LogicalMin = 0
4157pp_data->cap[87]->NotButton.LogicalMax = 127
4158pp_data->cap[87]->NotButton.PhysicalMin = 0
4159pp_data->cap[87]->NotButton.PhysicalMax = 0
4160pp_data->cap[87]->Units = 0
4161pp_data->cap[87]->UnitsExp = 0
4162
4163pp_data->cap[88]->UsagePage = 0xFF01
4164pp_data->cap[88]->ReportID = 0x80
4165pp_data->cap[88]->BitPosition = 0
4166pp_data->cap[88]->BitSize = 8
4167pp_data->cap[88]->ReportCount = 1
4168pp_data->cap[88]->BytePosition = 0x005D
4169pp_data->cap[88]->BitCount = 8
4170pp_data->cap[88]->BitField = 0x02
4171pp_data->cap[88]->NextBytePosition = 0x005E
4172pp_data->cap[88]->LinkCollection = 0x0003
4173pp_data->cap[88]->LinkUsagePage = 0xFF01
4174pp_data->cap[88]->LinkUsage = 0x0080
4175pp_data->cap[88]->IsMultipleItemsForArray = 0
4176pp_data->cap[88]->IsButtonCap = 0
4177pp_data->cap[88]->IsPadding = 0
4178pp_data->cap[88]->IsAbsolute = 1
4179pp_data->cap[88]->IsRange = 0
4180pp_data->cap[88]->IsAlias = 0
4181pp_data->cap[88]->IsStringRange = 0
4182pp_data->cap[88]->IsDesignatorRange = 0
4183pp_data->cap[88]->Reserved1 = 0x000000
4184pp_data->cap[88]->pp_cap->UnknownTokens[0].Token = 0x00
4185pp_data->cap[88]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4186pp_data->cap[88]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4187pp_data->cap[88]->pp_cap->UnknownTokens[1].Token = 0x00
4188pp_data->cap[88]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4189pp_data->cap[88]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4190pp_data->cap[88]->pp_cap->UnknownTokens[2].Token = 0x00
4191pp_data->cap[88]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4192pp_data->cap[88]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4193pp_data->cap[88]->pp_cap->UnknownTokens[3].Token = 0x00
4194pp_data->cap[88]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4195pp_data->cap[88]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4196pp_data->cap[88]->NotRange.Usage = 0x0081
4197pp_data->cap[88]->NotRange.Reserved1 = 0x0081
4198pp_data->cap[88]->NotRange.StringIndex = 0
4199pp_data->cap[88]->NotRange.Reserved2 = 0
4200pp_data->cap[88]->NotRange.DesignatorIndex = 0
4201pp_data->cap[88]->NotRange.Reserved3 = 0
4202pp_data->cap[88]->NotRange.DataIndex = 1
4203pp_data->cap[88]->NotRange.Reserved4 = 1
4204pp_data->cap[88]->NotButton.HasNull = 0
4205pp_data->cap[88]->NotButton.Reserved4 = 0x000000
4206pp_data->cap[88]->NotButton.LogicalMin = 0
4207pp_data->cap[88]->NotButton.LogicalMax = 127
4208pp_data->cap[88]->NotButton.PhysicalMin = 0
4209pp_data->cap[88]->NotButton.PhysicalMax = 0
4210pp_data->cap[88]->Units = 0
4211pp_data->cap[88]->UnitsExp = 0
4212
4213pp_data->cap[89]->UsagePage = 0xFF01
4214pp_data->cap[89]->ReportID = 0x80
4215pp_data->cap[89]->BitPosition = 0
4216pp_data->cap[89]->BitSize = 8
4217pp_data->cap[89]->ReportCount = 1
4218pp_data->cap[89]->BytePosition = 0x005C
4219pp_data->cap[89]->BitCount = 8
4220pp_data->cap[89]->BitField = 0x02
4221pp_data->cap[89]->NextBytePosition = 0x005D
4222pp_data->cap[89]->LinkCollection = 0x0003
4223pp_data->cap[89]->LinkUsagePage = 0xFF01
4224pp_data->cap[89]->LinkUsage = 0x0080
4225pp_data->cap[89]->IsMultipleItemsForArray = 0
4226pp_data->cap[89]->IsButtonCap = 0
4227pp_data->cap[89]->IsPadding = 0
4228pp_data->cap[89]->IsAbsolute = 1
4229pp_data->cap[89]->IsRange = 0
4230pp_data->cap[89]->IsAlias = 0
4231pp_data->cap[89]->IsStringRange = 0
4232pp_data->cap[89]->IsDesignatorRange = 0
4233pp_data->cap[89]->Reserved1 = 0x000000
4234pp_data->cap[89]->pp_cap->UnknownTokens[0].Token = 0x00
4235pp_data->cap[89]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4236pp_data->cap[89]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4237pp_data->cap[89]->pp_cap->UnknownTokens[1].Token = 0x00
4238pp_data->cap[89]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4239pp_data->cap[89]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4240pp_data->cap[89]->pp_cap->UnknownTokens[2].Token = 0x00
4241pp_data->cap[89]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4242pp_data->cap[89]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4243pp_data->cap[89]->pp_cap->UnknownTokens[3].Token = 0x00
4244pp_data->cap[89]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4245pp_data->cap[89]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4246pp_data->cap[89]->NotRange.Usage = 0x0081
4247pp_data->cap[89]->NotRange.Reserved1 = 0x0081
4248pp_data->cap[89]->NotRange.StringIndex = 0
4249pp_data->cap[89]->NotRange.Reserved2 = 0
4250pp_data->cap[89]->NotRange.DesignatorIndex = 0
4251pp_data->cap[89]->NotRange.Reserved3 = 0
4252pp_data->cap[89]->NotRange.DataIndex = 2
4253pp_data->cap[89]->NotRange.Reserved4 = 2
4254pp_data->cap[89]->NotButton.HasNull = 0
4255pp_data->cap[89]->NotButton.Reserved4 = 0x000000
4256pp_data->cap[89]->NotButton.LogicalMin = 0
4257pp_data->cap[89]->NotButton.LogicalMax = 127
4258pp_data->cap[89]->NotButton.PhysicalMin = 0
4259pp_data->cap[89]->NotButton.PhysicalMax = 0
4260pp_data->cap[89]->Units = 0
4261pp_data->cap[89]->UnitsExp = 0
4262
4263pp_data->cap[90]->UsagePage = 0xFF01
4264pp_data->cap[90]->ReportID = 0x80
4265pp_data->cap[90]->BitPosition = 0
4266pp_data->cap[90]->BitSize = 8
4267pp_data->cap[90]->ReportCount = 1
4268pp_data->cap[90]->BytePosition = 0x005B
4269pp_data->cap[90]->BitCount = 8
4270pp_data->cap[90]->BitField = 0x02
4271pp_data->cap[90]->NextBytePosition = 0x005C
4272pp_data->cap[90]->LinkCollection = 0x0003
4273pp_data->cap[90]->LinkUsagePage = 0xFF01
4274pp_data->cap[90]->LinkUsage = 0x0080
4275pp_data->cap[90]->IsMultipleItemsForArray = 0
4276pp_data->cap[90]->IsButtonCap = 0
4277pp_data->cap[90]->IsPadding = 0
4278pp_data->cap[90]->IsAbsolute = 1
4279pp_data->cap[90]->IsRange = 0
4280pp_data->cap[90]->IsAlias = 0
4281pp_data->cap[90]->IsStringRange = 0
4282pp_data->cap[90]->IsDesignatorRange = 0
4283pp_data->cap[90]->Reserved1 = 0x000000
4284pp_data->cap[90]->pp_cap->UnknownTokens[0].Token = 0x00
4285pp_data->cap[90]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4286pp_data->cap[90]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4287pp_data->cap[90]->pp_cap->UnknownTokens[1].Token = 0x00
4288pp_data->cap[90]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4289pp_data->cap[90]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4290pp_data->cap[90]->pp_cap->UnknownTokens[2].Token = 0x00
4291pp_data->cap[90]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4292pp_data->cap[90]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4293pp_data->cap[90]->pp_cap->UnknownTokens[3].Token = 0x00
4294pp_data->cap[90]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4295pp_data->cap[90]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4296pp_data->cap[90]->NotRange.Usage = 0x0081
4297pp_data->cap[90]->NotRange.Reserved1 = 0x0081
4298pp_data->cap[90]->NotRange.StringIndex = 0
4299pp_data->cap[90]->NotRange.Reserved2 = 0
4300pp_data->cap[90]->NotRange.DesignatorIndex = 0
4301pp_data->cap[90]->NotRange.Reserved3 = 0
4302pp_data->cap[90]->NotRange.DataIndex = 3
4303pp_data->cap[90]->NotRange.Reserved4 = 3
4304pp_data->cap[90]->NotButton.HasNull = 0
4305pp_data->cap[90]->NotButton.Reserved4 = 0x000000
4306pp_data->cap[90]->NotButton.LogicalMin = 0
4307pp_data->cap[90]->NotButton.LogicalMax = 127
4308pp_data->cap[90]->NotButton.PhysicalMin = 0
4309pp_data->cap[90]->NotButton.PhysicalMax = 0
4310pp_data->cap[90]->Units = 0
4311pp_data->cap[90]->UnitsExp = 0
4312
4313pp_data->cap[91]->UsagePage = 0xFF01
4314pp_data->cap[91]->ReportID = 0x80
4315pp_data->cap[91]->BitPosition = 0
4316pp_data->cap[91]->BitSize = 8
4317pp_data->cap[91]->ReportCount = 1
4318pp_data->cap[91]->BytePosition = 0x005A
4319pp_data->cap[91]->BitCount = 8
4320pp_data->cap[91]->BitField = 0x02
4321pp_data->cap[91]->NextBytePosition = 0x005B
4322pp_data->cap[91]->LinkCollection = 0x0003
4323pp_data->cap[91]->LinkUsagePage = 0xFF01
4324pp_data->cap[91]->LinkUsage = 0x0080
4325pp_data->cap[91]->IsMultipleItemsForArray = 0
4326pp_data->cap[91]->IsButtonCap = 0
4327pp_data->cap[91]->IsPadding = 0
4328pp_data->cap[91]->IsAbsolute = 1
4329pp_data->cap[91]->IsRange = 0
4330pp_data->cap[91]->IsAlias = 0
4331pp_data->cap[91]->IsStringRange = 0
4332pp_data->cap[91]->IsDesignatorRange = 0
4333pp_data->cap[91]->Reserved1 = 0x000000
4334pp_data->cap[91]->pp_cap->UnknownTokens[0].Token = 0x00
4335pp_data->cap[91]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4336pp_data->cap[91]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4337pp_data->cap[91]->pp_cap->UnknownTokens[1].Token = 0x00
4338pp_data->cap[91]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4339pp_data->cap[91]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4340pp_data->cap[91]->pp_cap->UnknownTokens[2].Token = 0x00
4341pp_data->cap[91]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4342pp_data->cap[91]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4343pp_data->cap[91]->pp_cap->UnknownTokens[3].Token = 0x00
4344pp_data->cap[91]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4345pp_data->cap[91]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4346pp_data->cap[91]->NotRange.Usage = 0x0081
4347pp_data->cap[91]->NotRange.Reserved1 = 0x0081
4348pp_data->cap[91]->NotRange.StringIndex = 0
4349pp_data->cap[91]->NotRange.Reserved2 = 0
4350pp_data->cap[91]->NotRange.DesignatorIndex = 0
4351pp_data->cap[91]->NotRange.Reserved3 = 0
4352pp_data->cap[91]->NotRange.DataIndex = 4
4353pp_data->cap[91]->NotRange.Reserved4 = 4
4354pp_data->cap[91]->NotButton.HasNull = 0
4355pp_data->cap[91]->NotButton.Reserved4 = 0x000000
4356pp_data->cap[91]->NotButton.LogicalMin = 0
4357pp_data->cap[91]->NotButton.LogicalMax = 127
4358pp_data->cap[91]->NotButton.PhysicalMin = 0
4359pp_data->cap[91]->NotButton.PhysicalMax = 0
4360pp_data->cap[91]->Units = 0
4361pp_data->cap[91]->UnitsExp = 0
4362
4363pp_data->cap[92]->UsagePage = 0xFF01
4364pp_data->cap[92]->ReportID = 0x80
4365pp_data->cap[92]->BitPosition = 0
4366pp_data->cap[92]->BitSize = 8
4367pp_data->cap[92]->ReportCount = 1
4368pp_data->cap[92]->BytePosition = 0x0059
4369pp_data->cap[92]->BitCount = 8
4370pp_data->cap[92]->BitField = 0x02
4371pp_data->cap[92]->NextBytePosition = 0x005A
4372pp_data->cap[92]->LinkCollection = 0x0003
4373pp_data->cap[92]->LinkUsagePage = 0xFF01
4374pp_data->cap[92]->LinkUsage = 0x0080
4375pp_data->cap[92]->IsMultipleItemsForArray = 0
4376pp_data->cap[92]->IsButtonCap = 0
4377pp_data->cap[92]->IsPadding = 0
4378pp_data->cap[92]->IsAbsolute = 1
4379pp_data->cap[92]->IsRange = 0
4380pp_data->cap[92]->IsAlias = 0
4381pp_data->cap[92]->IsStringRange = 0
4382pp_data->cap[92]->IsDesignatorRange = 0
4383pp_data->cap[92]->Reserved1 = 0x000000
4384pp_data->cap[92]->pp_cap->UnknownTokens[0].Token = 0x00
4385pp_data->cap[92]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4386pp_data->cap[92]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4387pp_data->cap[92]->pp_cap->UnknownTokens[1].Token = 0x00
4388pp_data->cap[92]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4389pp_data->cap[92]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4390pp_data->cap[92]->pp_cap->UnknownTokens[2].Token = 0x00
4391pp_data->cap[92]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4392pp_data->cap[92]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4393pp_data->cap[92]->pp_cap->UnknownTokens[3].Token = 0x00
4394pp_data->cap[92]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4395pp_data->cap[92]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4396pp_data->cap[92]->NotRange.Usage = 0x0081
4397pp_data->cap[92]->NotRange.Reserved1 = 0x0081
4398pp_data->cap[92]->NotRange.StringIndex = 0
4399pp_data->cap[92]->NotRange.Reserved2 = 0
4400pp_data->cap[92]->NotRange.DesignatorIndex = 0
4401pp_data->cap[92]->NotRange.Reserved3 = 0
4402pp_data->cap[92]->NotRange.DataIndex = 5
4403pp_data->cap[92]->NotRange.Reserved4 = 5
4404pp_data->cap[92]->NotButton.HasNull = 0
4405pp_data->cap[92]->NotButton.Reserved4 = 0x000000
4406pp_data->cap[92]->NotButton.LogicalMin = 0
4407pp_data->cap[92]->NotButton.LogicalMax = 127
4408pp_data->cap[92]->NotButton.PhysicalMin = 0
4409pp_data->cap[92]->NotButton.PhysicalMax = 0
4410pp_data->cap[92]->Units = 0
4411pp_data->cap[92]->UnitsExp = 0
4412
4413pp_data->cap[93]->UsagePage = 0xFF01
4414pp_data->cap[93]->ReportID = 0x80
4415pp_data->cap[93]->BitPosition = 0
4416pp_data->cap[93]->BitSize = 8
4417pp_data->cap[93]->ReportCount = 1
4418pp_data->cap[93]->BytePosition = 0x0058
4419pp_data->cap[93]->BitCount = 8
4420pp_data->cap[93]->BitField = 0x02
4421pp_data->cap[93]->NextBytePosition = 0x0059
4422pp_data->cap[93]->LinkCollection = 0x0003
4423pp_data->cap[93]->LinkUsagePage = 0xFF01
4424pp_data->cap[93]->LinkUsage = 0x0080
4425pp_data->cap[93]->IsMultipleItemsForArray = 0
4426pp_data->cap[93]->IsButtonCap = 0
4427pp_data->cap[93]->IsPadding = 0
4428pp_data->cap[93]->IsAbsolute = 1
4429pp_data->cap[93]->IsRange = 0
4430pp_data->cap[93]->IsAlias = 0
4431pp_data->cap[93]->IsStringRange = 0
4432pp_data->cap[93]->IsDesignatorRange = 0
4433pp_data->cap[93]->Reserved1 = 0x000000
4434pp_data->cap[93]->pp_cap->UnknownTokens[0].Token = 0x00
4435pp_data->cap[93]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4436pp_data->cap[93]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4437pp_data->cap[93]->pp_cap->UnknownTokens[1].Token = 0x00
4438pp_data->cap[93]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4439pp_data->cap[93]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4440pp_data->cap[93]->pp_cap->UnknownTokens[2].Token = 0x00
4441pp_data->cap[93]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4442pp_data->cap[93]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4443pp_data->cap[93]->pp_cap->UnknownTokens[3].Token = 0x00
4444pp_data->cap[93]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4445pp_data->cap[93]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4446pp_data->cap[93]->NotRange.Usage = 0x0081
4447pp_data->cap[93]->NotRange.Reserved1 = 0x0081
4448pp_data->cap[93]->NotRange.StringIndex = 0
4449pp_data->cap[93]->NotRange.Reserved2 = 0
4450pp_data->cap[93]->NotRange.DesignatorIndex = 0
4451pp_data->cap[93]->NotRange.Reserved3 = 0
4452pp_data->cap[93]->NotRange.DataIndex = 6
4453pp_data->cap[93]->NotRange.Reserved4 = 6
4454pp_data->cap[93]->NotButton.HasNull = 0
4455pp_data->cap[93]->NotButton.Reserved4 = 0x000000
4456pp_data->cap[93]->NotButton.LogicalMin = 0
4457pp_data->cap[93]->NotButton.LogicalMax = 127
4458pp_data->cap[93]->NotButton.PhysicalMin = 0
4459pp_data->cap[93]->NotButton.PhysicalMax = 0
4460pp_data->cap[93]->Units = 0
4461pp_data->cap[93]->UnitsExp = 0
4462
4463pp_data->cap[94]->UsagePage = 0xFF01
4464pp_data->cap[94]->ReportID = 0x80
4465pp_data->cap[94]->BitPosition = 0
4466pp_data->cap[94]->BitSize = 8
4467pp_data->cap[94]->ReportCount = 1
4468pp_data->cap[94]->BytePosition = 0x0057
4469pp_data->cap[94]->BitCount = 8
4470pp_data->cap[94]->BitField = 0x02
4471pp_data->cap[94]->NextBytePosition = 0x0058
4472pp_data->cap[94]->LinkCollection = 0x0003
4473pp_data->cap[94]->LinkUsagePage = 0xFF01
4474pp_data->cap[94]->LinkUsage = 0x0080
4475pp_data->cap[94]->IsMultipleItemsForArray = 0
4476pp_data->cap[94]->IsButtonCap = 0
4477pp_data->cap[94]->IsPadding = 0
4478pp_data->cap[94]->IsAbsolute = 1
4479pp_data->cap[94]->IsRange = 0
4480pp_data->cap[94]->IsAlias = 0
4481pp_data->cap[94]->IsStringRange = 0
4482pp_data->cap[94]->IsDesignatorRange = 0
4483pp_data->cap[94]->Reserved1 = 0x000000
4484pp_data->cap[94]->pp_cap->UnknownTokens[0].Token = 0x00
4485pp_data->cap[94]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4486pp_data->cap[94]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4487pp_data->cap[94]->pp_cap->UnknownTokens[1].Token = 0x00
4488pp_data->cap[94]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4489pp_data->cap[94]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4490pp_data->cap[94]->pp_cap->UnknownTokens[2].Token = 0x00
4491pp_data->cap[94]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4492pp_data->cap[94]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4493pp_data->cap[94]->pp_cap->UnknownTokens[3].Token = 0x00
4494pp_data->cap[94]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4495pp_data->cap[94]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4496pp_data->cap[94]->NotRange.Usage = 0x0081
4497pp_data->cap[94]->NotRange.Reserved1 = 0x0081
4498pp_data->cap[94]->NotRange.StringIndex = 0
4499pp_data->cap[94]->NotRange.Reserved2 = 0
4500pp_data->cap[94]->NotRange.DesignatorIndex = 0
4501pp_data->cap[94]->NotRange.Reserved3 = 0
4502pp_data->cap[94]->NotRange.DataIndex = 7
4503pp_data->cap[94]->NotRange.Reserved4 = 7
4504pp_data->cap[94]->NotButton.HasNull = 0
4505pp_data->cap[94]->NotButton.Reserved4 = 0x000000
4506pp_data->cap[94]->NotButton.LogicalMin = 0
4507pp_data->cap[94]->NotButton.LogicalMax = 127
4508pp_data->cap[94]->NotButton.PhysicalMin = 0
4509pp_data->cap[94]->NotButton.PhysicalMax = 0
4510pp_data->cap[94]->Units = 0
4511pp_data->cap[94]->UnitsExp = 0
4512
4513pp_data->cap[95]->UsagePage = 0xFF01
4514pp_data->cap[95]->ReportID = 0x80
4515pp_data->cap[95]->BitPosition = 0
4516pp_data->cap[95]->BitSize = 8
4517pp_data->cap[95]->ReportCount = 1
4518pp_data->cap[95]->BytePosition = 0x0056
4519pp_data->cap[95]->BitCount = 8
4520pp_data->cap[95]->BitField = 0x02
4521pp_data->cap[95]->NextBytePosition = 0x0057
4522pp_data->cap[95]->LinkCollection = 0x0003
4523pp_data->cap[95]->LinkUsagePage = 0xFF01
4524pp_data->cap[95]->LinkUsage = 0x0080
4525pp_data->cap[95]->IsMultipleItemsForArray = 0
4526pp_data->cap[95]->IsButtonCap = 0
4527pp_data->cap[95]->IsPadding = 0
4528pp_data->cap[95]->IsAbsolute = 1
4529pp_data->cap[95]->IsRange = 0
4530pp_data->cap[95]->IsAlias = 0
4531pp_data->cap[95]->IsStringRange = 0
4532pp_data->cap[95]->IsDesignatorRange = 0
4533pp_data->cap[95]->Reserved1 = 0x000000
4534pp_data->cap[95]->pp_cap->UnknownTokens[0].Token = 0x00
4535pp_data->cap[95]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4536pp_data->cap[95]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4537pp_data->cap[95]->pp_cap->UnknownTokens[1].Token = 0x00
4538pp_data->cap[95]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4539pp_data->cap[95]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4540pp_data->cap[95]->pp_cap->UnknownTokens[2].Token = 0x00
4541pp_data->cap[95]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4542pp_data->cap[95]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4543pp_data->cap[95]->pp_cap->UnknownTokens[3].Token = 0x00
4544pp_data->cap[95]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4545pp_data->cap[95]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4546pp_data->cap[95]->NotRange.Usage = 0x0081
4547pp_data->cap[95]->NotRange.Reserved1 = 0x0081
4548pp_data->cap[95]->NotRange.StringIndex = 0
4549pp_data->cap[95]->NotRange.Reserved2 = 0
4550pp_data->cap[95]->NotRange.DesignatorIndex = 0
4551pp_data->cap[95]->NotRange.Reserved3 = 0
4552pp_data->cap[95]->NotRange.DataIndex = 8
4553pp_data->cap[95]->NotRange.Reserved4 = 8
4554pp_data->cap[95]->NotButton.HasNull = 0
4555pp_data->cap[95]->NotButton.Reserved4 = 0x000000
4556pp_data->cap[95]->NotButton.LogicalMin = 0
4557pp_data->cap[95]->NotButton.LogicalMax = 127
4558pp_data->cap[95]->NotButton.PhysicalMin = 0
4559pp_data->cap[95]->NotButton.PhysicalMax = 0
4560pp_data->cap[95]->Units = 0
4561pp_data->cap[95]->UnitsExp = 0
4562
4563pp_data->cap[96]->UsagePage = 0xFF01
4564pp_data->cap[96]->ReportID = 0x80
4565pp_data->cap[96]->BitPosition = 0
4566pp_data->cap[96]->BitSize = 8
4567pp_data->cap[96]->ReportCount = 1
4568pp_data->cap[96]->BytePosition = 0x0055
4569pp_data->cap[96]->BitCount = 8
4570pp_data->cap[96]->BitField = 0x02
4571pp_data->cap[96]->NextBytePosition = 0x0056
4572pp_data->cap[96]->LinkCollection = 0x0003
4573pp_data->cap[96]->LinkUsagePage = 0xFF01
4574pp_data->cap[96]->LinkUsage = 0x0080
4575pp_data->cap[96]->IsMultipleItemsForArray = 0
4576pp_data->cap[96]->IsButtonCap = 0
4577pp_data->cap[96]->IsPadding = 0
4578pp_data->cap[96]->IsAbsolute = 1
4579pp_data->cap[96]->IsRange = 0
4580pp_data->cap[96]->IsAlias = 0
4581pp_data->cap[96]->IsStringRange = 0
4582pp_data->cap[96]->IsDesignatorRange = 0
4583pp_data->cap[96]->Reserved1 = 0x000000
4584pp_data->cap[96]->pp_cap->UnknownTokens[0].Token = 0x00
4585pp_data->cap[96]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4586pp_data->cap[96]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4587pp_data->cap[96]->pp_cap->UnknownTokens[1].Token = 0x00
4588pp_data->cap[96]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4589pp_data->cap[96]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4590pp_data->cap[96]->pp_cap->UnknownTokens[2].Token = 0x00
4591pp_data->cap[96]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4592pp_data->cap[96]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4593pp_data->cap[96]->pp_cap->UnknownTokens[3].Token = 0x00
4594pp_data->cap[96]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4595pp_data->cap[96]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4596pp_data->cap[96]->NotRange.Usage = 0x0081
4597pp_data->cap[96]->NotRange.Reserved1 = 0x0081
4598pp_data->cap[96]->NotRange.StringIndex = 0
4599pp_data->cap[96]->NotRange.Reserved2 = 0
4600pp_data->cap[96]->NotRange.DesignatorIndex = 0
4601pp_data->cap[96]->NotRange.Reserved3 = 0
4602pp_data->cap[96]->NotRange.DataIndex = 9
4603pp_data->cap[96]->NotRange.Reserved4 = 9
4604pp_data->cap[96]->NotButton.HasNull = 0
4605pp_data->cap[96]->NotButton.Reserved4 = 0x000000
4606pp_data->cap[96]->NotButton.LogicalMin = 0
4607pp_data->cap[96]->NotButton.LogicalMax = 127
4608pp_data->cap[96]->NotButton.PhysicalMin = 0
4609pp_data->cap[96]->NotButton.PhysicalMax = 0
4610pp_data->cap[96]->Units = 0
4611pp_data->cap[96]->UnitsExp = 0
4612
4613pp_data->cap[97]->UsagePage = 0xFF01
4614pp_data->cap[97]->ReportID = 0x80
4615pp_data->cap[97]->BitPosition = 0
4616pp_data->cap[97]->BitSize = 8
4617pp_data->cap[97]->ReportCount = 1
4618pp_data->cap[97]->BytePosition = 0x0054
4619pp_data->cap[97]->BitCount = 8
4620pp_data->cap[97]->BitField = 0x02
4621pp_data->cap[97]->NextBytePosition = 0x0055
4622pp_data->cap[97]->LinkCollection = 0x0003
4623pp_data->cap[97]->LinkUsagePage = 0xFF01
4624pp_data->cap[97]->LinkUsage = 0x0080
4625pp_data->cap[97]->IsMultipleItemsForArray = 0
4626pp_data->cap[97]->IsButtonCap = 0
4627pp_data->cap[97]->IsPadding = 0
4628pp_data->cap[97]->IsAbsolute = 1
4629pp_data->cap[97]->IsRange = 0
4630pp_data->cap[97]->IsAlias = 0
4631pp_data->cap[97]->IsStringRange = 0
4632pp_data->cap[97]->IsDesignatorRange = 0
4633pp_data->cap[97]->Reserved1 = 0x000000
4634pp_data->cap[97]->pp_cap->UnknownTokens[0].Token = 0x00
4635pp_data->cap[97]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4636pp_data->cap[97]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4637pp_data->cap[97]->pp_cap->UnknownTokens[1].Token = 0x00
4638pp_data->cap[97]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4639pp_data->cap[97]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4640pp_data->cap[97]->pp_cap->UnknownTokens[2].Token = 0x00
4641pp_data->cap[97]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4642pp_data->cap[97]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4643pp_data->cap[97]->pp_cap->UnknownTokens[3].Token = 0x00
4644pp_data->cap[97]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4645pp_data->cap[97]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4646pp_data->cap[97]->NotRange.Usage = 0x0081
4647pp_data->cap[97]->NotRange.Reserved1 = 0x0081
4648pp_data->cap[97]->NotRange.StringIndex = 0
4649pp_data->cap[97]->NotRange.Reserved2 = 0
4650pp_data->cap[97]->NotRange.DesignatorIndex = 0
4651pp_data->cap[97]->NotRange.Reserved3 = 0
4652pp_data->cap[97]->NotRange.DataIndex = 10
4653pp_data->cap[97]->NotRange.Reserved4 = 10
4654pp_data->cap[97]->NotButton.HasNull = 0
4655pp_data->cap[97]->NotButton.Reserved4 = 0x000000
4656pp_data->cap[97]->NotButton.LogicalMin = 0
4657pp_data->cap[97]->NotButton.LogicalMax = 127
4658pp_data->cap[97]->NotButton.PhysicalMin = 0
4659pp_data->cap[97]->NotButton.PhysicalMax = 0
4660pp_data->cap[97]->Units = 0
4661pp_data->cap[97]->UnitsExp = 0
4662
4663pp_data->cap[98]->UsagePage = 0xFF01
4664pp_data->cap[98]->ReportID = 0x80
4665pp_data->cap[98]->BitPosition = 0
4666pp_data->cap[98]->BitSize = 8
4667pp_data->cap[98]->ReportCount = 1
4668pp_data->cap[98]->BytePosition = 0x0053
4669pp_data->cap[98]->BitCount = 8
4670pp_data->cap[98]->BitField = 0x02
4671pp_data->cap[98]->NextBytePosition = 0x0054
4672pp_data->cap[98]->LinkCollection = 0x0003
4673pp_data->cap[98]->LinkUsagePage = 0xFF01
4674pp_data->cap[98]->LinkUsage = 0x0080
4675pp_data->cap[98]->IsMultipleItemsForArray = 0
4676pp_data->cap[98]->IsButtonCap = 0
4677pp_data->cap[98]->IsPadding = 0
4678pp_data->cap[98]->IsAbsolute = 1
4679pp_data->cap[98]->IsRange = 0
4680pp_data->cap[98]->IsAlias = 0
4681pp_data->cap[98]->IsStringRange = 0
4682pp_data->cap[98]->IsDesignatorRange = 0
4683pp_data->cap[98]->Reserved1 = 0x000000
4684pp_data->cap[98]->pp_cap->UnknownTokens[0].Token = 0x00
4685pp_data->cap[98]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4686pp_data->cap[98]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4687pp_data->cap[98]->pp_cap->UnknownTokens[1].Token = 0x00
4688pp_data->cap[98]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4689pp_data->cap[98]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4690pp_data->cap[98]->pp_cap->UnknownTokens[2].Token = 0x00
4691pp_data->cap[98]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4692pp_data->cap[98]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4693pp_data->cap[98]->pp_cap->UnknownTokens[3].Token = 0x00
4694pp_data->cap[98]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4695pp_data->cap[98]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4696pp_data->cap[98]->NotRange.Usage = 0x0081
4697pp_data->cap[98]->NotRange.Reserved1 = 0x0081
4698pp_data->cap[98]->NotRange.StringIndex = 0
4699pp_data->cap[98]->NotRange.Reserved2 = 0
4700pp_data->cap[98]->NotRange.DesignatorIndex = 0
4701pp_data->cap[98]->NotRange.Reserved3 = 0
4702pp_data->cap[98]->NotRange.DataIndex = 11
4703pp_data->cap[98]->NotRange.Reserved4 = 11
4704pp_data->cap[98]->NotButton.HasNull = 0
4705pp_data->cap[98]->NotButton.Reserved4 = 0x000000
4706pp_data->cap[98]->NotButton.LogicalMin = 0
4707pp_data->cap[98]->NotButton.LogicalMax = 127
4708pp_data->cap[98]->NotButton.PhysicalMin = 0
4709pp_data->cap[98]->NotButton.PhysicalMax = 0
4710pp_data->cap[98]->Units = 0
4711pp_data->cap[98]->UnitsExp = 0
4712
4713pp_data->cap[99]->UsagePage = 0xFF01
4714pp_data->cap[99]->ReportID = 0x80
4715pp_data->cap[99]->BitPosition = 0
4716pp_data->cap[99]->BitSize = 8
4717pp_data->cap[99]->ReportCount = 1
4718pp_data->cap[99]->BytePosition = 0x0052
4719pp_data->cap[99]->BitCount = 8
4720pp_data->cap[99]->BitField = 0x02
4721pp_data->cap[99]->NextBytePosition = 0x0053
4722pp_data->cap[99]->LinkCollection = 0x0003
4723pp_data->cap[99]->LinkUsagePage = 0xFF01
4724pp_data->cap[99]->LinkUsage = 0x0080
4725pp_data->cap[99]->IsMultipleItemsForArray = 0
4726pp_data->cap[99]->IsButtonCap = 0
4727pp_data->cap[99]->IsPadding = 0
4728pp_data->cap[99]->IsAbsolute = 1
4729pp_data->cap[99]->IsRange = 0
4730pp_data->cap[99]->IsAlias = 0
4731pp_data->cap[99]->IsStringRange = 0
4732pp_data->cap[99]->IsDesignatorRange = 0
4733pp_data->cap[99]->Reserved1 = 0x000000
4734pp_data->cap[99]->pp_cap->UnknownTokens[0].Token = 0x00
4735pp_data->cap[99]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4736pp_data->cap[99]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4737pp_data->cap[99]->pp_cap->UnknownTokens[1].Token = 0x00
4738pp_data->cap[99]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4739pp_data->cap[99]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4740pp_data->cap[99]->pp_cap->UnknownTokens[2].Token = 0x00
4741pp_data->cap[99]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4742pp_data->cap[99]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4743pp_data->cap[99]->pp_cap->UnknownTokens[3].Token = 0x00
4744pp_data->cap[99]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4745pp_data->cap[99]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4746pp_data->cap[99]->NotRange.Usage = 0x0081
4747pp_data->cap[99]->NotRange.Reserved1 = 0x0081
4748pp_data->cap[99]->NotRange.StringIndex = 0
4749pp_data->cap[99]->NotRange.Reserved2 = 0
4750pp_data->cap[99]->NotRange.DesignatorIndex = 0
4751pp_data->cap[99]->NotRange.Reserved3 = 0
4752pp_data->cap[99]->NotRange.DataIndex = 12
4753pp_data->cap[99]->NotRange.Reserved4 = 12
4754pp_data->cap[99]->NotButton.HasNull = 0
4755pp_data->cap[99]->NotButton.Reserved4 = 0x000000
4756pp_data->cap[99]->NotButton.LogicalMin = 0
4757pp_data->cap[99]->NotButton.LogicalMax = 127
4758pp_data->cap[99]->NotButton.PhysicalMin = 0
4759pp_data->cap[99]->NotButton.PhysicalMax = 0
4760pp_data->cap[99]->Units = 0
4761pp_data->cap[99]->UnitsExp = 0
4762
4763pp_data->cap[100]->UsagePage = 0xFF01
4764pp_data->cap[100]->ReportID = 0x80
4765pp_data->cap[100]->BitPosition = 0
4766pp_data->cap[100]->BitSize = 8
4767pp_data->cap[100]->ReportCount = 1
4768pp_data->cap[100]->BytePosition = 0x0051
4769pp_data->cap[100]->BitCount = 8
4770pp_data->cap[100]->BitField = 0x02
4771pp_data->cap[100]->NextBytePosition = 0x0052
4772pp_data->cap[100]->LinkCollection = 0x0003
4773pp_data->cap[100]->LinkUsagePage = 0xFF01
4774pp_data->cap[100]->LinkUsage = 0x0080
4775pp_data->cap[100]->IsMultipleItemsForArray = 0
4776pp_data->cap[100]->IsButtonCap = 0
4777pp_data->cap[100]->IsPadding = 0
4778pp_data->cap[100]->IsAbsolute = 1
4779pp_data->cap[100]->IsRange = 0
4780pp_data->cap[100]->IsAlias = 0
4781pp_data->cap[100]->IsStringRange = 0
4782pp_data->cap[100]->IsDesignatorRange = 0
4783pp_data->cap[100]->Reserved1 = 0x000000
4784pp_data->cap[100]->pp_cap->UnknownTokens[0].Token = 0x00
4785pp_data->cap[100]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4786pp_data->cap[100]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4787pp_data->cap[100]->pp_cap->UnknownTokens[1].Token = 0x00
4788pp_data->cap[100]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4789pp_data->cap[100]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4790pp_data->cap[100]->pp_cap->UnknownTokens[2].Token = 0x00
4791pp_data->cap[100]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4792pp_data->cap[100]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4793pp_data->cap[100]->pp_cap->UnknownTokens[3].Token = 0x00
4794pp_data->cap[100]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4795pp_data->cap[100]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4796pp_data->cap[100]->NotRange.Usage = 0x0081
4797pp_data->cap[100]->NotRange.Reserved1 = 0x0081
4798pp_data->cap[100]->NotRange.StringIndex = 0
4799pp_data->cap[100]->NotRange.Reserved2 = 0
4800pp_data->cap[100]->NotRange.DesignatorIndex = 0
4801pp_data->cap[100]->NotRange.Reserved3 = 0
4802pp_data->cap[100]->NotRange.DataIndex = 13
4803pp_data->cap[100]->NotRange.Reserved4 = 13
4804pp_data->cap[100]->NotButton.HasNull = 0
4805pp_data->cap[100]->NotButton.Reserved4 = 0x000000
4806pp_data->cap[100]->NotButton.LogicalMin = 0
4807pp_data->cap[100]->NotButton.LogicalMax = 127
4808pp_data->cap[100]->NotButton.PhysicalMin = 0
4809pp_data->cap[100]->NotButton.PhysicalMax = 0
4810pp_data->cap[100]->Units = 0
4811pp_data->cap[100]->UnitsExp = 0
4812
4813pp_data->cap[101]->UsagePage = 0xFF01
4814pp_data->cap[101]->ReportID = 0x80
4815pp_data->cap[101]->BitPosition = 0
4816pp_data->cap[101]->BitSize = 8
4817pp_data->cap[101]->ReportCount = 1
4818pp_data->cap[101]->BytePosition = 0x0050
4819pp_data->cap[101]->BitCount = 8
4820pp_data->cap[101]->BitField = 0x02
4821pp_data->cap[101]->NextBytePosition = 0x0051
4822pp_data->cap[101]->LinkCollection = 0x0003
4823pp_data->cap[101]->LinkUsagePage = 0xFF01
4824pp_data->cap[101]->LinkUsage = 0x0080
4825pp_data->cap[101]->IsMultipleItemsForArray = 0
4826pp_data->cap[101]->IsButtonCap = 0
4827pp_data->cap[101]->IsPadding = 0
4828pp_data->cap[101]->IsAbsolute = 1
4829pp_data->cap[101]->IsRange = 0
4830pp_data->cap[101]->IsAlias = 0
4831pp_data->cap[101]->IsStringRange = 0
4832pp_data->cap[101]->IsDesignatorRange = 0
4833pp_data->cap[101]->Reserved1 = 0x000000
4834pp_data->cap[101]->pp_cap->UnknownTokens[0].Token = 0x00
4835pp_data->cap[101]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4836pp_data->cap[101]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4837pp_data->cap[101]->pp_cap->UnknownTokens[1].Token = 0x00
4838pp_data->cap[101]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4839pp_data->cap[101]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4840pp_data->cap[101]->pp_cap->UnknownTokens[2].Token = 0x00
4841pp_data->cap[101]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4842pp_data->cap[101]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4843pp_data->cap[101]->pp_cap->UnknownTokens[3].Token = 0x00
4844pp_data->cap[101]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4845pp_data->cap[101]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4846pp_data->cap[101]->NotRange.Usage = 0x0081
4847pp_data->cap[101]->NotRange.Reserved1 = 0x0081
4848pp_data->cap[101]->NotRange.StringIndex = 0
4849pp_data->cap[101]->NotRange.Reserved2 = 0
4850pp_data->cap[101]->NotRange.DesignatorIndex = 0
4851pp_data->cap[101]->NotRange.Reserved3 = 0
4852pp_data->cap[101]->NotRange.DataIndex = 14
4853pp_data->cap[101]->NotRange.Reserved4 = 14
4854pp_data->cap[101]->NotButton.HasNull = 0
4855pp_data->cap[101]->NotButton.Reserved4 = 0x000000
4856pp_data->cap[101]->NotButton.LogicalMin = 0
4857pp_data->cap[101]->NotButton.LogicalMax = 127
4858pp_data->cap[101]->NotButton.PhysicalMin = 0
4859pp_data->cap[101]->NotButton.PhysicalMax = 0
4860pp_data->cap[101]->Units = 0
4861pp_data->cap[101]->UnitsExp = 0
4862
4863pp_data->cap[102]->UsagePage = 0xFF01
4864pp_data->cap[102]->ReportID = 0x80
4865pp_data->cap[102]->BitPosition = 0
4866pp_data->cap[102]->BitSize = 8
4867pp_data->cap[102]->ReportCount = 1
4868pp_data->cap[102]->BytePosition = 0x004F
4869pp_data->cap[102]->BitCount = 8
4870pp_data->cap[102]->BitField = 0x02
4871pp_data->cap[102]->NextBytePosition = 0x0050
4872pp_data->cap[102]->LinkCollection = 0x0003
4873pp_data->cap[102]->LinkUsagePage = 0xFF01
4874pp_data->cap[102]->LinkUsage = 0x0080
4875pp_data->cap[102]->IsMultipleItemsForArray = 0
4876pp_data->cap[102]->IsButtonCap = 0
4877pp_data->cap[102]->IsPadding = 0
4878pp_data->cap[102]->IsAbsolute = 1
4879pp_data->cap[102]->IsRange = 0
4880pp_data->cap[102]->IsAlias = 0
4881pp_data->cap[102]->IsStringRange = 0
4882pp_data->cap[102]->IsDesignatorRange = 0
4883pp_data->cap[102]->Reserved1 = 0x000000
4884pp_data->cap[102]->pp_cap->UnknownTokens[0].Token = 0x00
4885pp_data->cap[102]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4886pp_data->cap[102]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4887pp_data->cap[102]->pp_cap->UnknownTokens[1].Token = 0x00
4888pp_data->cap[102]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4889pp_data->cap[102]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4890pp_data->cap[102]->pp_cap->UnknownTokens[2].Token = 0x00
4891pp_data->cap[102]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4892pp_data->cap[102]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4893pp_data->cap[102]->pp_cap->UnknownTokens[3].Token = 0x00
4894pp_data->cap[102]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4895pp_data->cap[102]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4896pp_data->cap[102]->NotRange.Usage = 0x0081
4897pp_data->cap[102]->NotRange.Reserved1 = 0x0081
4898pp_data->cap[102]->NotRange.StringIndex = 0
4899pp_data->cap[102]->NotRange.Reserved2 = 0
4900pp_data->cap[102]->NotRange.DesignatorIndex = 0
4901pp_data->cap[102]->NotRange.Reserved3 = 0
4902pp_data->cap[102]->NotRange.DataIndex = 15
4903pp_data->cap[102]->NotRange.Reserved4 = 15
4904pp_data->cap[102]->NotButton.HasNull = 0
4905pp_data->cap[102]->NotButton.Reserved4 = 0x000000
4906pp_data->cap[102]->NotButton.LogicalMin = 0
4907pp_data->cap[102]->NotButton.LogicalMax = 127
4908pp_data->cap[102]->NotButton.PhysicalMin = 0
4909pp_data->cap[102]->NotButton.PhysicalMax = 0
4910pp_data->cap[102]->Units = 0
4911pp_data->cap[102]->UnitsExp = 0
4912
4913pp_data->cap[103]->UsagePage = 0xFF01
4914pp_data->cap[103]->ReportID = 0x80
4915pp_data->cap[103]->BitPosition = 0
4916pp_data->cap[103]->BitSize = 8
4917pp_data->cap[103]->ReportCount = 1
4918pp_data->cap[103]->BytePosition = 0x004E
4919pp_data->cap[103]->BitCount = 8
4920pp_data->cap[103]->BitField = 0x02
4921pp_data->cap[103]->NextBytePosition = 0x004F
4922pp_data->cap[103]->LinkCollection = 0x0003
4923pp_data->cap[103]->LinkUsagePage = 0xFF01
4924pp_data->cap[103]->LinkUsage = 0x0080
4925pp_data->cap[103]->IsMultipleItemsForArray = 0
4926pp_data->cap[103]->IsButtonCap = 0
4927pp_data->cap[103]->IsPadding = 0
4928pp_data->cap[103]->IsAbsolute = 1
4929pp_data->cap[103]->IsRange = 0
4930pp_data->cap[103]->IsAlias = 0
4931pp_data->cap[103]->IsStringRange = 0
4932pp_data->cap[103]->IsDesignatorRange = 0
4933pp_data->cap[103]->Reserved1 = 0x000000
4934pp_data->cap[103]->pp_cap->UnknownTokens[0].Token = 0x00
4935pp_data->cap[103]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4936pp_data->cap[103]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4937pp_data->cap[103]->pp_cap->UnknownTokens[1].Token = 0x00
4938pp_data->cap[103]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4939pp_data->cap[103]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4940pp_data->cap[103]->pp_cap->UnknownTokens[2].Token = 0x00
4941pp_data->cap[103]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4942pp_data->cap[103]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4943pp_data->cap[103]->pp_cap->UnknownTokens[3].Token = 0x00
4944pp_data->cap[103]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4945pp_data->cap[103]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4946pp_data->cap[103]->NotRange.Usage = 0x0081
4947pp_data->cap[103]->NotRange.Reserved1 = 0x0081
4948pp_data->cap[103]->NotRange.StringIndex = 0
4949pp_data->cap[103]->NotRange.Reserved2 = 0
4950pp_data->cap[103]->NotRange.DesignatorIndex = 0
4951pp_data->cap[103]->NotRange.Reserved3 = 0
4952pp_data->cap[103]->NotRange.DataIndex = 16
4953pp_data->cap[103]->NotRange.Reserved4 = 16
4954pp_data->cap[103]->NotButton.HasNull = 0
4955pp_data->cap[103]->NotButton.Reserved4 = 0x000000
4956pp_data->cap[103]->NotButton.LogicalMin = 0
4957pp_data->cap[103]->NotButton.LogicalMax = 127
4958pp_data->cap[103]->NotButton.PhysicalMin = 0
4959pp_data->cap[103]->NotButton.PhysicalMax = 0
4960pp_data->cap[103]->Units = 0
4961pp_data->cap[103]->UnitsExp = 0
4962
4963pp_data->cap[104]->UsagePage = 0xFF01
4964pp_data->cap[104]->ReportID = 0x80
4965pp_data->cap[104]->BitPosition = 0
4966pp_data->cap[104]->BitSize = 8
4967pp_data->cap[104]->ReportCount = 1
4968pp_data->cap[104]->BytePosition = 0x004D
4969pp_data->cap[104]->BitCount = 8
4970pp_data->cap[104]->BitField = 0x02
4971pp_data->cap[104]->NextBytePosition = 0x004E
4972pp_data->cap[104]->LinkCollection = 0x0003
4973pp_data->cap[104]->LinkUsagePage = 0xFF01
4974pp_data->cap[104]->LinkUsage = 0x0080
4975pp_data->cap[104]->IsMultipleItemsForArray = 0
4976pp_data->cap[104]->IsButtonCap = 0
4977pp_data->cap[104]->IsPadding = 0
4978pp_data->cap[104]->IsAbsolute = 1
4979pp_data->cap[104]->IsRange = 0
4980pp_data->cap[104]->IsAlias = 0
4981pp_data->cap[104]->IsStringRange = 0
4982pp_data->cap[104]->IsDesignatorRange = 0
4983pp_data->cap[104]->Reserved1 = 0x000000
4984pp_data->cap[104]->pp_cap->UnknownTokens[0].Token = 0x00
4985pp_data->cap[104]->pp_cap->UnknownTokens[0].Reserved = 0x000000
4986pp_data->cap[104]->pp_cap->UnknownTokens[0].BitField = 0x00000000
4987pp_data->cap[104]->pp_cap->UnknownTokens[1].Token = 0x00
4988pp_data->cap[104]->pp_cap->UnknownTokens[1].Reserved = 0x000000
4989pp_data->cap[104]->pp_cap->UnknownTokens[1].BitField = 0x00000000
4990pp_data->cap[104]->pp_cap->UnknownTokens[2].Token = 0x00
4991pp_data->cap[104]->pp_cap->UnknownTokens[2].Reserved = 0x000000
4992pp_data->cap[104]->pp_cap->UnknownTokens[2].BitField = 0x00000000
4993pp_data->cap[104]->pp_cap->UnknownTokens[3].Token = 0x00
4994pp_data->cap[104]->pp_cap->UnknownTokens[3].Reserved = 0x000000
4995pp_data->cap[104]->pp_cap->UnknownTokens[3].BitField = 0x00000000
4996pp_data->cap[104]->NotRange.Usage = 0x0081
4997pp_data->cap[104]->NotRange.Reserved1 = 0x0081
4998pp_data->cap[104]->NotRange.StringIndex = 0
4999pp_data->cap[104]->NotRange.Reserved2 = 0
5000pp_data->cap[104]->NotRange.DesignatorIndex = 0
5001pp_data->cap[104]->NotRange.Reserved3 = 0
5002pp_data->cap[104]->NotRange.DataIndex = 17
5003pp_data->cap[104]->NotRange.Reserved4 = 17
5004pp_data->cap[104]->NotButton.HasNull = 0
5005pp_data->cap[104]->NotButton.Reserved4 = 0x000000
5006pp_data->cap[104]->NotButton.LogicalMin = 0
5007pp_data->cap[104]->NotButton.LogicalMax = 127
5008pp_data->cap[104]->NotButton.PhysicalMin = 0
5009pp_data->cap[104]->NotButton.PhysicalMax = 0
5010pp_data->cap[104]->Units = 0
5011pp_data->cap[104]->UnitsExp = 0
5012
5013pp_data->cap[105]->UsagePage = 0xFF01
5014pp_data->cap[105]->ReportID = 0x80
5015pp_data->cap[105]->BitPosition = 0
5016pp_data->cap[105]->BitSize = 8
5017pp_data->cap[105]->ReportCount = 1
5018pp_data->cap[105]->BytePosition = 0x004C
5019pp_data->cap[105]->BitCount = 8
5020pp_data->cap[105]->BitField = 0x02
5021pp_data->cap[105]->NextBytePosition = 0x004D
5022pp_data->cap[105]->LinkCollection = 0x0003
5023pp_data->cap[105]->LinkUsagePage = 0xFF01
5024pp_data->cap[105]->LinkUsage = 0x0080
5025pp_data->cap[105]->IsMultipleItemsForArray = 0
5026pp_data->cap[105]->IsButtonCap = 0
5027pp_data->cap[105]->IsPadding = 0
5028pp_data->cap[105]->IsAbsolute = 1
5029pp_data->cap[105]->IsRange = 0
5030pp_data->cap[105]->IsAlias = 0
5031pp_data->cap[105]->IsStringRange = 0
5032pp_data->cap[105]->IsDesignatorRange = 0
5033pp_data->cap[105]->Reserved1 = 0x000000
5034pp_data->cap[105]->pp_cap->UnknownTokens[0].Token = 0x00
5035pp_data->cap[105]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5036pp_data->cap[105]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5037pp_data->cap[105]->pp_cap->UnknownTokens[1].Token = 0x00
5038pp_data->cap[105]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5039pp_data->cap[105]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5040pp_data->cap[105]->pp_cap->UnknownTokens[2].Token = 0x00
5041pp_data->cap[105]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5042pp_data->cap[105]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5043pp_data->cap[105]->pp_cap->UnknownTokens[3].Token = 0x00
5044pp_data->cap[105]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5045pp_data->cap[105]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5046pp_data->cap[105]->NotRange.Usage = 0x0081
5047pp_data->cap[105]->NotRange.Reserved1 = 0x0081
5048pp_data->cap[105]->NotRange.StringIndex = 0
5049pp_data->cap[105]->NotRange.Reserved2 = 0
5050pp_data->cap[105]->NotRange.DesignatorIndex = 0
5051pp_data->cap[105]->NotRange.Reserved3 = 0
5052pp_data->cap[105]->NotRange.DataIndex = 18
5053pp_data->cap[105]->NotRange.Reserved4 = 18
5054pp_data->cap[105]->NotButton.HasNull = 0
5055pp_data->cap[105]->NotButton.Reserved4 = 0x000000
5056pp_data->cap[105]->NotButton.LogicalMin = 0
5057pp_data->cap[105]->NotButton.LogicalMax = 127
5058pp_data->cap[105]->NotButton.PhysicalMin = 0
5059pp_data->cap[105]->NotButton.PhysicalMax = 0
5060pp_data->cap[105]->Units = 0
5061pp_data->cap[105]->UnitsExp = 0
5062
5063pp_data->cap[106]->UsagePage = 0xFF01
5064pp_data->cap[106]->ReportID = 0x80
5065pp_data->cap[106]->BitPosition = 0
5066pp_data->cap[106]->BitSize = 8
5067pp_data->cap[106]->ReportCount = 1
5068pp_data->cap[106]->BytePosition = 0x004B
5069pp_data->cap[106]->BitCount = 8
5070pp_data->cap[106]->BitField = 0x02
5071pp_data->cap[106]->NextBytePosition = 0x004C
5072pp_data->cap[106]->LinkCollection = 0x0003
5073pp_data->cap[106]->LinkUsagePage = 0xFF01
5074pp_data->cap[106]->LinkUsage = 0x0080
5075pp_data->cap[106]->IsMultipleItemsForArray = 0
5076pp_data->cap[106]->IsButtonCap = 0
5077pp_data->cap[106]->IsPadding = 0
5078pp_data->cap[106]->IsAbsolute = 1
5079pp_data->cap[106]->IsRange = 0
5080pp_data->cap[106]->IsAlias = 0
5081pp_data->cap[106]->IsStringRange = 0
5082pp_data->cap[106]->IsDesignatorRange = 0
5083pp_data->cap[106]->Reserved1 = 0x000000
5084pp_data->cap[106]->pp_cap->UnknownTokens[0].Token = 0x00
5085pp_data->cap[106]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5086pp_data->cap[106]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5087pp_data->cap[106]->pp_cap->UnknownTokens[1].Token = 0x00
5088pp_data->cap[106]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5089pp_data->cap[106]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5090pp_data->cap[106]->pp_cap->UnknownTokens[2].Token = 0x00
5091pp_data->cap[106]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5092pp_data->cap[106]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5093pp_data->cap[106]->pp_cap->UnknownTokens[3].Token = 0x00
5094pp_data->cap[106]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5095pp_data->cap[106]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5096pp_data->cap[106]->NotRange.Usage = 0x0081
5097pp_data->cap[106]->NotRange.Reserved1 = 0x0081
5098pp_data->cap[106]->NotRange.StringIndex = 0
5099pp_data->cap[106]->NotRange.Reserved2 = 0
5100pp_data->cap[106]->NotRange.DesignatorIndex = 0
5101pp_data->cap[106]->NotRange.Reserved3 = 0
5102pp_data->cap[106]->NotRange.DataIndex = 19
5103pp_data->cap[106]->NotRange.Reserved4 = 19
5104pp_data->cap[106]->NotButton.HasNull = 0
5105pp_data->cap[106]->NotButton.Reserved4 = 0x000000
5106pp_data->cap[106]->NotButton.LogicalMin = 0
5107pp_data->cap[106]->NotButton.LogicalMax = 127
5108pp_data->cap[106]->NotButton.PhysicalMin = 0
5109pp_data->cap[106]->NotButton.PhysicalMax = 0
5110pp_data->cap[106]->Units = 0
5111pp_data->cap[106]->UnitsExp = 0
5112
5113pp_data->cap[107]->UsagePage = 0xFF01
5114pp_data->cap[107]->ReportID = 0x80
5115pp_data->cap[107]->BitPosition = 0
5116pp_data->cap[107]->BitSize = 8
5117pp_data->cap[107]->ReportCount = 1
5118pp_data->cap[107]->BytePosition = 0x004A
5119pp_data->cap[107]->BitCount = 8
5120pp_data->cap[107]->BitField = 0x02
5121pp_data->cap[107]->NextBytePosition = 0x004B
5122pp_data->cap[107]->LinkCollection = 0x0003
5123pp_data->cap[107]->LinkUsagePage = 0xFF01
5124pp_data->cap[107]->LinkUsage = 0x0080
5125pp_data->cap[107]->IsMultipleItemsForArray = 0
5126pp_data->cap[107]->IsButtonCap = 0
5127pp_data->cap[107]->IsPadding = 0
5128pp_data->cap[107]->IsAbsolute = 1
5129pp_data->cap[107]->IsRange = 0
5130pp_data->cap[107]->IsAlias = 0
5131pp_data->cap[107]->IsStringRange = 0
5132pp_data->cap[107]->IsDesignatorRange = 0
5133pp_data->cap[107]->Reserved1 = 0x000000
5134pp_data->cap[107]->pp_cap->UnknownTokens[0].Token = 0x00
5135pp_data->cap[107]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5136pp_data->cap[107]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5137pp_data->cap[107]->pp_cap->UnknownTokens[1].Token = 0x00
5138pp_data->cap[107]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5139pp_data->cap[107]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5140pp_data->cap[107]->pp_cap->UnknownTokens[2].Token = 0x00
5141pp_data->cap[107]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5142pp_data->cap[107]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5143pp_data->cap[107]->pp_cap->UnknownTokens[3].Token = 0x00
5144pp_data->cap[107]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5145pp_data->cap[107]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5146pp_data->cap[107]->NotRange.Usage = 0x0081
5147pp_data->cap[107]->NotRange.Reserved1 = 0x0081
5148pp_data->cap[107]->NotRange.StringIndex = 0
5149pp_data->cap[107]->NotRange.Reserved2 = 0
5150pp_data->cap[107]->NotRange.DesignatorIndex = 0
5151pp_data->cap[107]->NotRange.Reserved3 = 0
5152pp_data->cap[107]->NotRange.DataIndex = 20
5153pp_data->cap[107]->NotRange.Reserved4 = 20
5154pp_data->cap[107]->NotButton.HasNull = 0
5155pp_data->cap[107]->NotButton.Reserved4 = 0x000000
5156pp_data->cap[107]->NotButton.LogicalMin = 0
5157pp_data->cap[107]->NotButton.LogicalMax = 127
5158pp_data->cap[107]->NotButton.PhysicalMin = 0
5159pp_data->cap[107]->NotButton.PhysicalMax = 0
5160pp_data->cap[107]->Units = 0
5161pp_data->cap[107]->UnitsExp = 0
5162
5163pp_data->cap[108]->UsagePage = 0xFF01
5164pp_data->cap[108]->ReportID = 0x80
5165pp_data->cap[108]->BitPosition = 0
5166pp_data->cap[108]->BitSize = 8
5167pp_data->cap[108]->ReportCount = 1
5168pp_data->cap[108]->BytePosition = 0x0049
5169pp_data->cap[108]->BitCount = 8
5170pp_data->cap[108]->BitField = 0x02
5171pp_data->cap[108]->NextBytePosition = 0x004A
5172pp_data->cap[108]->LinkCollection = 0x0003
5173pp_data->cap[108]->LinkUsagePage = 0xFF01
5174pp_data->cap[108]->LinkUsage = 0x0080
5175pp_data->cap[108]->IsMultipleItemsForArray = 0
5176pp_data->cap[108]->IsButtonCap = 0
5177pp_data->cap[108]->IsPadding = 0
5178pp_data->cap[108]->IsAbsolute = 1
5179pp_data->cap[108]->IsRange = 0
5180pp_data->cap[108]->IsAlias = 0
5181pp_data->cap[108]->IsStringRange = 0
5182pp_data->cap[108]->IsDesignatorRange = 0
5183pp_data->cap[108]->Reserved1 = 0x000000
5184pp_data->cap[108]->pp_cap->UnknownTokens[0].Token = 0x00
5185pp_data->cap[108]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5186pp_data->cap[108]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5187pp_data->cap[108]->pp_cap->UnknownTokens[1].Token = 0x00
5188pp_data->cap[108]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5189pp_data->cap[108]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5190pp_data->cap[108]->pp_cap->UnknownTokens[2].Token = 0x00
5191pp_data->cap[108]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5192pp_data->cap[108]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5193pp_data->cap[108]->pp_cap->UnknownTokens[3].Token = 0x00
5194pp_data->cap[108]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5195pp_data->cap[108]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5196pp_data->cap[108]->NotRange.Usage = 0x0081
5197pp_data->cap[108]->NotRange.Reserved1 = 0x0081
5198pp_data->cap[108]->NotRange.StringIndex = 0
5199pp_data->cap[108]->NotRange.Reserved2 = 0
5200pp_data->cap[108]->NotRange.DesignatorIndex = 0
5201pp_data->cap[108]->NotRange.Reserved3 = 0
5202pp_data->cap[108]->NotRange.DataIndex = 21
5203pp_data->cap[108]->NotRange.Reserved4 = 21
5204pp_data->cap[108]->NotButton.HasNull = 0
5205pp_data->cap[108]->NotButton.Reserved4 = 0x000000
5206pp_data->cap[108]->NotButton.LogicalMin = 0
5207pp_data->cap[108]->NotButton.LogicalMax = 127
5208pp_data->cap[108]->NotButton.PhysicalMin = 0
5209pp_data->cap[108]->NotButton.PhysicalMax = 0
5210pp_data->cap[108]->Units = 0
5211pp_data->cap[108]->UnitsExp = 0
5212
5213pp_data->cap[109]->UsagePage = 0xFF01
5214pp_data->cap[109]->ReportID = 0x80
5215pp_data->cap[109]->BitPosition = 0
5216pp_data->cap[109]->BitSize = 8
5217pp_data->cap[109]->ReportCount = 1
5218pp_data->cap[109]->BytePosition = 0x0048
5219pp_data->cap[109]->BitCount = 8
5220pp_data->cap[109]->BitField = 0x02
5221pp_data->cap[109]->NextBytePosition = 0x0049
5222pp_data->cap[109]->LinkCollection = 0x0003
5223pp_data->cap[109]->LinkUsagePage = 0xFF01
5224pp_data->cap[109]->LinkUsage = 0x0080
5225pp_data->cap[109]->IsMultipleItemsForArray = 0
5226pp_data->cap[109]->IsButtonCap = 0
5227pp_data->cap[109]->IsPadding = 0
5228pp_data->cap[109]->IsAbsolute = 1
5229pp_data->cap[109]->IsRange = 0
5230pp_data->cap[109]->IsAlias = 0
5231pp_data->cap[109]->IsStringRange = 0
5232pp_data->cap[109]->IsDesignatorRange = 0
5233pp_data->cap[109]->Reserved1 = 0x000000
5234pp_data->cap[109]->pp_cap->UnknownTokens[0].Token = 0x00
5235pp_data->cap[109]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5236pp_data->cap[109]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5237pp_data->cap[109]->pp_cap->UnknownTokens[1].Token = 0x00
5238pp_data->cap[109]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5239pp_data->cap[109]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5240pp_data->cap[109]->pp_cap->UnknownTokens[2].Token = 0x00
5241pp_data->cap[109]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5242pp_data->cap[109]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5243pp_data->cap[109]->pp_cap->UnknownTokens[3].Token = 0x00
5244pp_data->cap[109]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5245pp_data->cap[109]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5246pp_data->cap[109]->NotRange.Usage = 0x0081
5247pp_data->cap[109]->NotRange.Reserved1 = 0x0081
5248pp_data->cap[109]->NotRange.StringIndex = 0
5249pp_data->cap[109]->NotRange.Reserved2 = 0
5250pp_data->cap[109]->NotRange.DesignatorIndex = 0
5251pp_data->cap[109]->NotRange.Reserved3 = 0
5252pp_data->cap[109]->NotRange.DataIndex = 22
5253pp_data->cap[109]->NotRange.Reserved4 = 22
5254pp_data->cap[109]->NotButton.HasNull = 0
5255pp_data->cap[109]->NotButton.Reserved4 = 0x000000
5256pp_data->cap[109]->NotButton.LogicalMin = 0
5257pp_data->cap[109]->NotButton.LogicalMax = 127
5258pp_data->cap[109]->NotButton.PhysicalMin = 0
5259pp_data->cap[109]->NotButton.PhysicalMax = 0
5260pp_data->cap[109]->Units = 0
5261pp_data->cap[109]->UnitsExp = 0
5262
5263pp_data->cap[110]->UsagePage = 0xFF01
5264pp_data->cap[110]->ReportID = 0x80
5265pp_data->cap[110]->BitPosition = 0
5266pp_data->cap[110]->BitSize = 8
5267pp_data->cap[110]->ReportCount = 1
5268pp_data->cap[110]->BytePosition = 0x0047
5269pp_data->cap[110]->BitCount = 8
5270pp_data->cap[110]->BitField = 0x02
5271pp_data->cap[110]->NextBytePosition = 0x0048
5272pp_data->cap[110]->LinkCollection = 0x0003
5273pp_data->cap[110]->LinkUsagePage = 0xFF01
5274pp_data->cap[110]->LinkUsage = 0x0080
5275pp_data->cap[110]->IsMultipleItemsForArray = 0
5276pp_data->cap[110]->IsButtonCap = 0
5277pp_data->cap[110]->IsPadding = 0
5278pp_data->cap[110]->IsAbsolute = 1
5279pp_data->cap[110]->IsRange = 0
5280pp_data->cap[110]->IsAlias = 0
5281pp_data->cap[110]->IsStringRange = 0
5282pp_data->cap[110]->IsDesignatorRange = 0
5283pp_data->cap[110]->Reserved1 = 0x000000
5284pp_data->cap[110]->pp_cap->UnknownTokens[0].Token = 0x00
5285pp_data->cap[110]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5286pp_data->cap[110]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5287pp_data->cap[110]->pp_cap->UnknownTokens[1].Token = 0x00
5288pp_data->cap[110]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5289pp_data->cap[110]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5290pp_data->cap[110]->pp_cap->UnknownTokens[2].Token = 0x00
5291pp_data->cap[110]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5292pp_data->cap[110]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5293pp_data->cap[110]->pp_cap->UnknownTokens[3].Token = 0x00
5294pp_data->cap[110]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5295pp_data->cap[110]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5296pp_data->cap[110]->NotRange.Usage = 0x0081
5297pp_data->cap[110]->NotRange.Reserved1 = 0x0081
5298pp_data->cap[110]->NotRange.StringIndex = 0
5299pp_data->cap[110]->NotRange.Reserved2 = 0
5300pp_data->cap[110]->NotRange.DesignatorIndex = 0
5301pp_data->cap[110]->NotRange.Reserved3 = 0
5302pp_data->cap[110]->NotRange.DataIndex = 23
5303pp_data->cap[110]->NotRange.Reserved4 = 23
5304pp_data->cap[110]->NotButton.HasNull = 0
5305pp_data->cap[110]->NotButton.Reserved4 = 0x000000
5306pp_data->cap[110]->NotButton.LogicalMin = 0
5307pp_data->cap[110]->NotButton.LogicalMax = 127
5308pp_data->cap[110]->NotButton.PhysicalMin = 0
5309pp_data->cap[110]->NotButton.PhysicalMax = 0
5310pp_data->cap[110]->Units = 0
5311pp_data->cap[110]->UnitsExp = 0
5312
5313pp_data->cap[111]->UsagePage = 0xFF01
5314pp_data->cap[111]->ReportID = 0x80
5315pp_data->cap[111]->BitPosition = 0
5316pp_data->cap[111]->BitSize = 8
5317pp_data->cap[111]->ReportCount = 1
5318pp_data->cap[111]->BytePosition = 0x0046
5319pp_data->cap[111]->BitCount = 8
5320pp_data->cap[111]->BitField = 0x02
5321pp_data->cap[111]->NextBytePosition = 0x0047
5322pp_data->cap[111]->LinkCollection = 0x0003
5323pp_data->cap[111]->LinkUsagePage = 0xFF01
5324pp_data->cap[111]->LinkUsage = 0x0080
5325pp_data->cap[111]->IsMultipleItemsForArray = 0
5326pp_data->cap[111]->IsButtonCap = 0
5327pp_data->cap[111]->IsPadding = 0
5328pp_data->cap[111]->IsAbsolute = 1
5329pp_data->cap[111]->IsRange = 0
5330pp_data->cap[111]->IsAlias = 0
5331pp_data->cap[111]->IsStringRange = 0
5332pp_data->cap[111]->IsDesignatorRange = 0
5333pp_data->cap[111]->Reserved1 = 0x000000
5334pp_data->cap[111]->pp_cap->UnknownTokens[0].Token = 0x00
5335pp_data->cap[111]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5336pp_data->cap[111]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5337pp_data->cap[111]->pp_cap->UnknownTokens[1].Token = 0x00
5338pp_data->cap[111]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5339pp_data->cap[111]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5340pp_data->cap[111]->pp_cap->UnknownTokens[2].Token = 0x00
5341pp_data->cap[111]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5342pp_data->cap[111]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5343pp_data->cap[111]->pp_cap->UnknownTokens[3].Token = 0x00
5344pp_data->cap[111]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5345pp_data->cap[111]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5346pp_data->cap[111]->NotRange.Usage = 0x0081
5347pp_data->cap[111]->NotRange.Reserved1 = 0x0081
5348pp_data->cap[111]->NotRange.StringIndex = 0
5349pp_data->cap[111]->NotRange.Reserved2 = 0
5350pp_data->cap[111]->NotRange.DesignatorIndex = 0
5351pp_data->cap[111]->NotRange.Reserved3 = 0
5352pp_data->cap[111]->NotRange.DataIndex = 24
5353pp_data->cap[111]->NotRange.Reserved4 = 24
5354pp_data->cap[111]->NotButton.HasNull = 0
5355pp_data->cap[111]->NotButton.Reserved4 = 0x000000
5356pp_data->cap[111]->NotButton.LogicalMin = 0
5357pp_data->cap[111]->NotButton.LogicalMax = 127
5358pp_data->cap[111]->NotButton.PhysicalMin = 0
5359pp_data->cap[111]->NotButton.PhysicalMax = 0
5360pp_data->cap[111]->Units = 0
5361pp_data->cap[111]->UnitsExp = 0
5362
5363pp_data->cap[112]->UsagePage = 0xFF01
5364pp_data->cap[112]->ReportID = 0x80
5365pp_data->cap[112]->BitPosition = 0
5366pp_data->cap[112]->BitSize = 8
5367pp_data->cap[112]->ReportCount = 1
5368pp_data->cap[112]->BytePosition = 0x0045
5369pp_data->cap[112]->BitCount = 8
5370pp_data->cap[112]->BitField = 0x02
5371pp_data->cap[112]->NextBytePosition = 0x0046
5372pp_data->cap[112]->LinkCollection = 0x0003
5373pp_data->cap[112]->LinkUsagePage = 0xFF01
5374pp_data->cap[112]->LinkUsage = 0x0080
5375pp_data->cap[112]->IsMultipleItemsForArray = 0
5376pp_data->cap[112]->IsButtonCap = 0
5377pp_data->cap[112]->IsPadding = 0
5378pp_data->cap[112]->IsAbsolute = 1
5379pp_data->cap[112]->IsRange = 0
5380pp_data->cap[112]->IsAlias = 0
5381pp_data->cap[112]->IsStringRange = 0
5382pp_data->cap[112]->IsDesignatorRange = 0
5383pp_data->cap[112]->Reserved1 = 0x000000
5384pp_data->cap[112]->pp_cap->UnknownTokens[0].Token = 0x00
5385pp_data->cap[112]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5386pp_data->cap[112]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5387pp_data->cap[112]->pp_cap->UnknownTokens[1].Token = 0x00
5388pp_data->cap[112]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5389pp_data->cap[112]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5390pp_data->cap[112]->pp_cap->UnknownTokens[2].Token = 0x00
5391pp_data->cap[112]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5392pp_data->cap[112]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5393pp_data->cap[112]->pp_cap->UnknownTokens[3].Token = 0x00
5394pp_data->cap[112]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5395pp_data->cap[112]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5396pp_data->cap[112]->NotRange.Usage = 0x0081
5397pp_data->cap[112]->NotRange.Reserved1 = 0x0081
5398pp_data->cap[112]->NotRange.StringIndex = 0
5399pp_data->cap[112]->NotRange.Reserved2 = 0
5400pp_data->cap[112]->NotRange.DesignatorIndex = 0
5401pp_data->cap[112]->NotRange.Reserved3 = 0
5402pp_data->cap[112]->NotRange.DataIndex = 25
5403pp_data->cap[112]->NotRange.Reserved4 = 25
5404pp_data->cap[112]->NotButton.HasNull = 0
5405pp_data->cap[112]->NotButton.Reserved4 = 0x000000
5406pp_data->cap[112]->NotButton.LogicalMin = 0
5407pp_data->cap[112]->NotButton.LogicalMax = 127
5408pp_data->cap[112]->NotButton.PhysicalMin = 0
5409pp_data->cap[112]->NotButton.PhysicalMax = 0
5410pp_data->cap[112]->Units = 0
5411pp_data->cap[112]->UnitsExp = 0
5412
5413pp_data->cap[113]->UsagePage = 0xFF01
5414pp_data->cap[113]->ReportID = 0x80
5415pp_data->cap[113]->BitPosition = 0
5416pp_data->cap[113]->BitSize = 8
5417pp_data->cap[113]->ReportCount = 1
5418pp_data->cap[113]->BytePosition = 0x0044
5419pp_data->cap[113]->BitCount = 8
5420pp_data->cap[113]->BitField = 0x02
5421pp_data->cap[113]->NextBytePosition = 0x0045
5422pp_data->cap[113]->LinkCollection = 0x0003
5423pp_data->cap[113]->LinkUsagePage = 0xFF01
5424pp_data->cap[113]->LinkUsage = 0x0080
5425pp_data->cap[113]->IsMultipleItemsForArray = 0
5426pp_data->cap[113]->IsButtonCap = 0
5427pp_data->cap[113]->IsPadding = 0
5428pp_data->cap[113]->IsAbsolute = 1
5429pp_data->cap[113]->IsRange = 0
5430pp_data->cap[113]->IsAlias = 0
5431pp_data->cap[113]->IsStringRange = 0
5432pp_data->cap[113]->IsDesignatorRange = 0
5433pp_data->cap[113]->Reserved1 = 0x000000
5434pp_data->cap[113]->pp_cap->UnknownTokens[0].Token = 0x00
5435pp_data->cap[113]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5436pp_data->cap[113]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5437pp_data->cap[113]->pp_cap->UnknownTokens[1].Token = 0x00
5438pp_data->cap[113]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5439pp_data->cap[113]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5440pp_data->cap[113]->pp_cap->UnknownTokens[2].Token = 0x00
5441pp_data->cap[113]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5442pp_data->cap[113]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5443pp_data->cap[113]->pp_cap->UnknownTokens[3].Token = 0x00
5444pp_data->cap[113]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5445pp_data->cap[113]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5446pp_data->cap[113]->NotRange.Usage = 0x0081
5447pp_data->cap[113]->NotRange.Reserved1 = 0x0081
5448pp_data->cap[113]->NotRange.StringIndex = 0
5449pp_data->cap[113]->NotRange.Reserved2 = 0
5450pp_data->cap[113]->NotRange.DesignatorIndex = 0
5451pp_data->cap[113]->NotRange.Reserved3 = 0
5452pp_data->cap[113]->NotRange.DataIndex = 26
5453pp_data->cap[113]->NotRange.Reserved4 = 26
5454pp_data->cap[113]->NotButton.HasNull = 0
5455pp_data->cap[113]->NotButton.Reserved4 = 0x000000
5456pp_data->cap[113]->NotButton.LogicalMin = 0
5457pp_data->cap[113]->NotButton.LogicalMax = 127
5458pp_data->cap[113]->NotButton.PhysicalMin = 0
5459pp_data->cap[113]->NotButton.PhysicalMax = 0
5460pp_data->cap[113]->Units = 0
5461pp_data->cap[113]->UnitsExp = 0
5462
5463pp_data->cap[114]->UsagePage = 0xFF01
5464pp_data->cap[114]->ReportID = 0x80
5465pp_data->cap[114]->BitPosition = 0
5466pp_data->cap[114]->BitSize = 8
5467pp_data->cap[114]->ReportCount = 1
5468pp_data->cap[114]->BytePosition = 0x0043
5469pp_data->cap[114]->BitCount = 8
5470pp_data->cap[114]->BitField = 0x02
5471pp_data->cap[114]->NextBytePosition = 0x0044
5472pp_data->cap[114]->LinkCollection = 0x0003
5473pp_data->cap[114]->LinkUsagePage = 0xFF01
5474pp_data->cap[114]->LinkUsage = 0x0080
5475pp_data->cap[114]->IsMultipleItemsForArray = 0
5476pp_data->cap[114]->IsButtonCap = 0
5477pp_data->cap[114]->IsPadding = 0
5478pp_data->cap[114]->IsAbsolute = 1
5479pp_data->cap[114]->IsRange = 0
5480pp_data->cap[114]->IsAlias = 0
5481pp_data->cap[114]->IsStringRange = 0
5482pp_data->cap[114]->IsDesignatorRange = 0
5483pp_data->cap[114]->Reserved1 = 0x000000
5484pp_data->cap[114]->pp_cap->UnknownTokens[0].Token = 0x00
5485pp_data->cap[114]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5486pp_data->cap[114]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5487pp_data->cap[114]->pp_cap->UnknownTokens[1].Token = 0x00
5488pp_data->cap[114]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5489pp_data->cap[114]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5490pp_data->cap[114]->pp_cap->UnknownTokens[2].Token = 0x00
5491pp_data->cap[114]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5492pp_data->cap[114]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5493pp_data->cap[114]->pp_cap->UnknownTokens[3].Token = 0x00
5494pp_data->cap[114]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5495pp_data->cap[114]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5496pp_data->cap[114]->NotRange.Usage = 0x0081
5497pp_data->cap[114]->NotRange.Reserved1 = 0x0081
5498pp_data->cap[114]->NotRange.StringIndex = 0
5499pp_data->cap[114]->NotRange.Reserved2 = 0
5500pp_data->cap[114]->NotRange.DesignatorIndex = 0
5501pp_data->cap[114]->NotRange.Reserved3 = 0
5502pp_data->cap[114]->NotRange.DataIndex = 27
5503pp_data->cap[114]->NotRange.Reserved4 = 27
5504pp_data->cap[114]->NotButton.HasNull = 0
5505pp_data->cap[114]->NotButton.Reserved4 = 0x000000
5506pp_data->cap[114]->NotButton.LogicalMin = 0
5507pp_data->cap[114]->NotButton.LogicalMax = 127
5508pp_data->cap[114]->NotButton.PhysicalMin = 0
5509pp_data->cap[114]->NotButton.PhysicalMax = 0
5510pp_data->cap[114]->Units = 0
5511pp_data->cap[114]->UnitsExp = 0
5512
5513pp_data->cap[115]->UsagePage = 0xFF01
5514pp_data->cap[115]->ReportID = 0x80
5515pp_data->cap[115]->BitPosition = 0
5516pp_data->cap[115]->BitSize = 8
5517pp_data->cap[115]->ReportCount = 1
5518pp_data->cap[115]->BytePosition = 0x0042
5519pp_data->cap[115]->BitCount = 8
5520pp_data->cap[115]->BitField = 0x02
5521pp_data->cap[115]->NextBytePosition = 0x0043
5522pp_data->cap[115]->LinkCollection = 0x0003
5523pp_data->cap[115]->LinkUsagePage = 0xFF01
5524pp_data->cap[115]->LinkUsage = 0x0080
5525pp_data->cap[115]->IsMultipleItemsForArray = 0
5526pp_data->cap[115]->IsButtonCap = 0
5527pp_data->cap[115]->IsPadding = 0
5528pp_data->cap[115]->IsAbsolute = 1
5529pp_data->cap[115]->IsRange = 0
5530pp_data->cap[115]->IsAlias = 0
5531pp_data->cap[115]->IsStringRange = 0
5532pp_data->cap[115]->IsDesignatorRange = 0
5533pp_data->cap[115]->Reserved1 = 0x000000
5534pp_data->cap[115]->pp_cap->UnknownTokens[0].Token = 0x00
5535pp_data->cap[115]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5536pp_data->cap[115]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5537pp_data->cap[115]->pp_cap->UnknownTokens[1].Token = 0x00
5538pp_data->cap[115]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5539pp_data->cap[115]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5540pp_data->cap[115]->pp_cap->UnknownTokens[2].Token = 0x00
5541pp_data->cap[115]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5542pp_data->cap[115]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5543pp_data->cap[115]->pp_cap->UnknownTokens[3].Token = 0x00
5544pp_data->cap[115]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5545pp_data->cap[115]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5546pp_data->cap[115]->NotRange.Usage = 0x0081
5547pp_data->cap[115]->NotRange.Reserved1 = 0x0081
5548pp_data->cap[115]->NotRange.StringIndex = 0
5549pp_data->cap[115]->NotRange.Reserved2 = 0
5550pp_data->cap[115]->NotRange.DesignatorIndex = 0
5551pp_data->cap[115]->NotRange.Reserved3 = 0
5552pp_data->cap[115]->NotRange.DataIndex = 28
5553pp_data->cap[115]->NotRange.Reserved4 = 28
5554pp_data->cap[115]->NotButton.HasNull = 0
5555pp_data->cap[115]->NotButton.Reserved4 = 0x000000
5556pp_data->cap[115]->NotButton.LogicalMin = 0
5557pp_data->cap[115]->NotButton.LogicalMax = 127
5558pp_data->cap[115]->NotButton.PhysicalMin = 0
5559pp_data->cap[115]->NotButton.PhysicalMax = 0
5560pp_data->cap[115]->Units = 0
5561pp_data->cap[115]->UnitsExp = 0
5562
5563pp_data->cap[116]->UsagePage = 0xFF01
5564pp_data->cap[116]->ReportID = 0x80
5565pp_data->cap[116]->BitPosition = 0
5566pp_data->cap[116]->BitSize = 8
5567pp_data->cap[116]->ReportCount = 1
5568pp_data->cap[116]->BytePosition = 0x0041
5569pp_data->cap[116]->BitCount = 8
5570pp_data->cap[116]->BitField = 0x02
5571pp_data->cap[116]->NextBytePosition = 0x0042
5572pp_data->cap[116]->LinkCollection = 0x0003
5573pp_data->cap[116]->LinkUsagePage = 0xFF01
5574pp_data->cap[116]->LinkUsage = 0x0080
5575pp_data->cap[116]->IsMultipleItemsForArray = 0
5576pp_data->cap[116]->IsButtonCap = 0
5577pp_data->cap[116]->IsPadding = 0
5578pp_data->cap[116]->IsAbsolute = 1
5579pp_data->cap[116]->IsRange = 0
5580pp_data->cap[116]->IsAlias = 0
5581pp_data->cap[116]->IsStringRange = 0
5582pp_data->cap[116]->IsDesignatorRange = 0
5583pp_data->cap[116]->Reserved1 = 0x000000
5584pp_data->cap[116]->pp_cap->UnknownTokens[0].Token = 0x00
5585pp_data->cap[116]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5586pp_data->cap[116]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5587pp_data->cap[116]->pp_cap->UnknownTokens[1].Token = 0x00
5588pp_data->cap[116]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5589pp_data->cap[116]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5590pp_data->cap[116]->pp_cap->UnknownTokens[2].Token = 0x00
5591pp_data->cap[116]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5592pp_data->cap[116]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5593pp_data->cap[116]->pp_cap->UnknownTokens[3].Token = 0x00
5594pp_data->cap[116]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5595pp_data->cap[116]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5596pp_data->cap[116]->NotRange.Usage = 0x0081
5597pp_data->cap[116]->NotRange.Reserved1 = 0x0081
5598pp_data->cap[116]->NotRange.StringIndex = 0
5599pp_data->cap[116]->NotRange.Reserved2 = 0
5600pp_data->cap[116]->NotRange.DesignatorIndex = 0
5601pp_data->cap[116]->NotRange.Reserved3 = 0
5602pp_data->cap[116]->NotRange.DataIndex = 29
5603pp_data->cap[116]->NotRange.Reserved4 = 29
5604pp_data->cap[116]->NotButton.HasNull = 0
5605pp_data->cap[116]->NotButton.Reserved4 = 0x000000
5606pp_data->cap[116]->NotButton.LogicalMin = 0
5607pp_data->cap[116]->NotButton.LogicalMax = 127
5608pp_data->cap[116]->NotButton.PhysicalMin = 0
5609pp_data->cap[116]->NotButton.PhysicalMax = 0
5610pp_data->cap[116]->Units = 0
5611pp_data->cap[116]->UnitsExp = 0
5612
5613pp_data->cap[117]->UsagePage = 0xFF01
5614pp_data->cap[117]->ReportID = 0x80
5615pp_data->cap[117]->BitPosition = 0
5616pp_data->cap[117]->BitSize = 8
5617pp_data->cap[117]->ReportCount = 1
5618pp_data->cap[117]->BytePosition = 0x0040
5619pp_data->cap[117]->BitCount = 8
5620pp_data->cap[117]->BitField = 0x02
5621pp_data->cap[117]->NextBytePosition = 0x0041
5622pp_data->cap[117]->LinkCollection = 0x0003
5623pp_data->cap[117]->LinkUsagePage = 0xFF01
5624pp_data->cap[117]->LinkUsage = 0x0080
5625pp_data->cap[117]->IsMultipleItemsForArray = 0
5626pp_data->cap[117]->IsButtonCap = 0
5627pp_data->cap[117]->IsPadding = 0
5628pp_data->cap[117]->IsAbsolute = 1
5629pp_data->cap[117]->IsRange = 0
5630pp_data->cap[117]->IsAlias = 0
5631pp_data->cap[117]->IsStringRange = 0
5632pp_data->cap[117]->IsDesignatorRange = 0
5633pp_data->cap[117]->Reserved1 = 0x000000
5634pp_data->cap[117]->pp_cap->UnknownTokens[0].Token = 0x00
5635pp_data->cap[117]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5636pp_data->cap[117]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5637pp_data->cap[117]->pp_cap->UnknownTokens[1].Token = 0x00
5638pp_data->cap[117]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5639pp_data->cap[117]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5640pp_data->cap[117]->pp_cap->UnknownTokens[2].Token = 0x00
5641pp_data->cap[117]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5642pp_data->cap[117]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5643pp_data->cap[117]->pp_cap->UnknownTokens[3].Token = 0x00
5644pp_data->cap[117]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5645pp_data->cap[117]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5646pp_data->cap[117]->NotRange.Usage = 0x0081
5647pp_data->cap[117]->NotRange.Reserved1 = 0x0081
5648pp_data->cap[117]->NotRange.StringIndex = 0
5649pp_data->cap[117]->NotRange.Reserved2 = 0
5650pp_data->cap[117]->NotRange.DesignatorIndex = 0
5651pp_data->cap[117]->NotRange.Reserved3 = 0
5652pp_data->cap[117]->NotRange.DataIndex = 30
5653pp_data->cap[117]->NotRange.Reserved4 = 30
5654pp_data->cap[117]->NotButton.HasNull = 0
5655pp_data->cap[117]->NotButton.Reserved4 = 0x000000
5656pp_data->cap[117]->NotButton.LogicalMin = 0
5657pp_data->cap[117]->NotButton.LogicalMax = 127
5658pp_data->cap[117]->NotButton.PhysicalMin = 0
5659pp_data->cap[117]->NotButton.PhysicalMax = 0
5660pp_data->cap[117]->Units = 0
5661pp_data->cap[117]->UnitsExp = 0
5662
5663pp_data->cap[118]->UsagePage = 0xFF01
5664pp_data->cap[118]->ReportID = 0x80
5665pp_data->cap[118]->BitPosition = 0
5666pp_data->cap[118]->BitSize = 8
5667pp_data->cap[118]->ReportCount = 1
5668pp_data->cap[118]->BytePosition = 0x003F
5669pp_data->cap[118]->BitCount = 8
5670pp_data->cap[118]->BitField = 0x02
5671pp_data->cap[118]->NextBytePosition = 0x0040
5672pp_data->cap[118]->LinkCollection = 0x0003
5673pp_data->cap[118]->LinkUsagePage = 0xFF01
5674pp_data->cap[118]->LinkUsage = 0x0080
5675pp_data->cap[118]->IsMultipleItemsForArray = 0
5676pp_data->cap[118]->IsButtonCap = 0
5677pp_data->cap[118]->IsPadding = 0
5678pp_data->cap[118]->IsAbsolute = 1
5679pp_data->cap[118]->IsRange = 0
5680pp_data->cap[118]->IsAlias = 0
5681pp_data->cap[118]->IsStringRange = 0
5682pp_data->cap[118]->IsDesignatorRange = 0
5683pp_data->cap[118]->Reserved1 = 0x000000
5684pp_data->cap[118]->pp_cap->UnknownTokens[0].Token = 0x00
5685pp_data->cap[118]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5686pp_data->cap[118]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5687pp_data->cap[118]->pp_cap->UnknownTokens[1].Token = 0x00
5688pp_data->cap[118]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5689pp_data->cap[118]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5690pp_data->cap[118]->pp_cap->UnknownTokens[2].Token = 0x00
5691pp_data->cap[118]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5692pp_data->cap[118]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5693pp_data->cap[118]->pp_cap->UnknownTokens[3].Token = 0x00
5694pp_data->cap[118]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5695pp_data->cap[118]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5696pp_data->cap[118]->NotRange.Usage = 0x0081
5697pp_data->cap[118]->NotRange.Reserved1 = 0x0081
5698pp_data->cap[118]->NotRange.StringIndex = 0
5699pp_data->cap[118]->NotRange.Reserved2 = 0
5700pp_data->cap[118]->NotRange.DesignatorIndex = 0
5701pp_data->cap[118]->NotRange.Reserved3 = 0
5702pp_data->cap[118]->NotRange.DataIndex = 31
5703pp_data->cap[118]->NotRange.Reserved4 = 31
5704pp_data->cap[118]->NotButton.HasNull = 0
5705pp_data->cap[118]->NotButton.Reserved4 = 0x000000
5706pp_data->cap[118]->NotButton.LogicalMin = 0
5707pp_data->cap[118]->NotButton.LogicalMax = 127
5708pp_data->cap[118]->NotButton.PhysicalMin = 0
5709pp_data->cap[118]->NotButton.PhysicalMax = 0
5710pp_data->cap[118]->Units = 0
5711pp_data->cap[118]->UnitsExp = 0
5712
5713pp_data->cap[119]->UsagePage = 0xFF01
5714pp_data->cap[119]->ReportID = 0x80
5715pp_data->cap[119]->BitPosition = 0
5716pp_data->cap[119]->BitSize = 8
5717pp_data->cap[119]->ReportCount = 1
5718pp_data->cap[119]->BytePosition = 0x003E
5719pp_data->cap[119]->BitCount = 8
5720pp_data->cap[119]->BitField = 0x02
5721pp_data->cap[119]->NextBytePosition = 0x003F
5722pp_data->cap[119]->LinkCollection = 0x0003
5723pp_data->cap[119]->LinkUsagePage = 0xFF01
5724pp_data->cap[119]->LinkUsage = 0x0080
5725pp_data->cap[119]->IsMultipleItemsForArray = 0
5726pp_data->cap[119]->IsButtonCap = 0
5727pp_data->cap[119]->IsPadding = 0
5728pp_data->cap[119]->IsAbsolute = 1
5729pp_data->cap[119]->IsRange = 0
5730pp_data->cap[119]->IsAlias = 0
5731pp_data->cap[119]->IsStringRange = 0
5732pp_data->cap[119]->IsDesignatorRange = 0
5733pp_data->cap[119]->Reserved1 = 0x000000
5734pp_data->cap[119]->pp_cap->UnknownTokens[0].Token = 0x00
5735pp_data->cap[119]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5736pp_data->cap[119]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5737pp_data->cap[119]->pp_cap->UnknownTokens[1].Token = 0x00
5738pp_data->cap[119]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5739pp_data->cap[119]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5740pp_data->cap[119]->pp_cap->UnknownTokens[2].Token = 0x00
5741pp_data->cap[119]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5742pp_data->cap[119]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5743pp_data->cap[119]->pp_cap->UnknownTokens[3].Token = 0x00
5744pp_data->cap[119]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5745pp_data->cap[119]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5746pp_data->cap[119]->NotRange.Usage = 0x0081
5747pp_data->cap[119]->NotRange.Reserved1 = 0x0081
5748pp_data->cap[119]->NotRange.StringIndex = 0
5749pp_data->cap[119]->NotRange.Reserved2 = 0
5750pp_data->cap[119]->NotRange.DesignatorIndex = 0
5751pp_data->cap[119]->NotRange.Reserved3 = 0
5752pp_data->cap[119]->NotRange.DataIndex = 32
5753pp_data->cap[119]->NotRange.Reserved4 = 32
5754pp_data->cap[119]->NotButton.HasNull = 0
5755pp_data->cap[119]->NotButton.Reserved4 = 0x000000
5756pp_data->cap[119]->NotButton.LogicalMin = 0
5757pp_data->cap[119]->NotButton.LogicalMax = 127
5758pp_data->cap[119]->NotButton.PhysicalMin = 0
5759pp_data->cap[119]->NotButton.PhysicalMax = 0
5760pp_data->cap[119]->Units = 0
5761pp_data->cap[119]->UnitsExp = 0
5762
5763pp_data->cap[120]->UsagePage = 0xFF01
5764pp_data->cap[120]->ReportID = 0x80
5765pp_data->cap[120]->BitPosition = 0
5766pp_data->cap[120]->BitSize = 8
5767pp_data->cap[120]->ReportCount = 1
5768pp_data->cap[120]->BytePosition = 0x003D
5769pp_data->cap[120]->BitCount = 8
5770pp_data->cap[120]->BitField = 0x02
5771pp_data->cap[120]->NextBytePosition = 0x003E
5772pp_data->cap[120]->LinkCollection = 0x0003
5773pp_data->cap[120]->LinkUsagePage = 0xFF01
5774pp_data->cap[120]->LinkUsage = 0x0080
5775pp_data->cap[120]->IsMultipleItemsForArray = 0
5776pp_data->cap[120]->IsButtonCap = 0
5777pp_data->cap[120]->IsPadding = 0
5778pp_data->cap[120]->IsAbsolute = 1
5779pp_data->cap[120]->IsRange = 0
5780pp_data->cap[120]->IsAlias = 0
5781pp_data->cap[120]->IsStringRange = 0
5782pp_data->cap[120]->IsDesignatorRange = 0
5783pp_data->cap[120]->Reserved1 = 0x000000
5784pp_data->cap[120]->pp_cap->UnknownTokens[0].Token = 0x00
5785pp_data->cap[120]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5786pp_data->cap[120]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5787pp_data->cap[120]->pp_cap->UnknownTokens[1].Token = 0x00
5788pp_data->cap[120]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5789pp_data->cap[120]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5790pp_data->cap[120]->pp_cap->UnknownTokens[2].Token = 0x00
5791pp_data->cap[120]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5792pp_data->cap[120]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5793pp_data->cap[120]->pp_cap->UnknownTokens[3].Token = 0x00
5794pp_data->cap[120]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5795pp_data->cap[120]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5796pp_data->cap[120]->NotRange.Usage = 0x0081
5797pp_data->cap[120]->NotRange.Reserved1 = 0x0081
5798pp_data->cap[120]->NotRange.StringIndex = 0
5799pp_data->cap[120]->NotRange.Reserved2 = 0
5800pp_data->cap[120]->NotRange.DesignatorIndex = 0
5801pp_data->cap[120]->NotRange.Reserved3 = 0
5802pp_data->cap[120]->NotRange.DataIndex = 33
5803pp_data->cap[120]->NotRange.Reserved4 = 33
5804pp_data->cap[120]->NotButton.HasNull = 0
5805pp_data->cap[120]->NotButton.Reserved4 = 0x000000
5806pp_data->cap[120]->NotButton.LogicalMin = 0
5807pp_data->cap[120]->NotButton.LogicalMax = 127
5808pp_data->cap[120]->NotButton.PhysicalMin = 0
5809pp_data->cap[120]->NotButton.PhysicalMax = 0
5810pp_data->cap[120]->Units = 0
5811pp_data->cap[120]->UnitsExp = 0
5812
5813pp_data->cap[121]->UsagePage = 0xFF01
5814pp_data->cap[121]->ReportID = 0x80
5815pp_data->cap[121]->BitPosition = 0
5816pp_data->cap[121]->BitSize = 8
5817pp_data->cap[121]->ReportCount = 1
5818pp_data->cap[121]->BytePosition = 0x003C
5819pp_data->cap[121]->BitCount = 8
5820pp_data->cap[121]->BitField = 0x02
5821pp_data->cap[121]->NextBytePosition = 0x003D
5822pp_data->cap[121]->LinkCollection = 0x0003
5823pp_data->cap[121]->LinkUsagePage = 0xFF01
5824pp_data->cap[121]->LinkUsage = 0x0080
5825pp_data->cap[121]->IsMultipleItemsForArray = 0
5826pp_data->cap[121]->IsButtonCap = 0
5827pp_data->cap[121]->IsPadding = 0
5828pp_data->cap[121]->IsAbsolute = 1
5829pp_data->cap[121]->IsRange = 0
5830pp_data->cap[121]->IsAlias = 0
5831pp_data->cap[121]->IsStringRange = 0
5832pp_data->cap[121]->IsDesignatorRange = 0
5833pp_data->cap[121]->Reserved1 = 0x000000
5834pp_data->cap[121]->pp_cap->UnknownTokens[0].Token = 0x00
5835pp_data->cap[121]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5836pp_data->cap[121]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5837pp_data->cap[121]->pp_cap->UnknownTokens[1].Token = 0x00
5838pp_data->cap[121]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5839pp_data->cap[121]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5840pp_data->cap[121]->pp_cap->UnknownTokens[2].Token = 0x00
5841pp_data->cap[121]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5842pp_data->cap[121]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5843pp_data->cap[121]->pp_cap->UnknownTokens[3].Token = 0x00
5844pp_data->cap[121]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5845pp_data->cap[121]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5846pp_data->cap[121]->NotRange.Usage = 0x0081
5847pp_data->cap[121]->NotRange.Reserved1 = 0x0081
5848pp_data->cap[121]->NotRange.StringIndex = 0
5849pp_data->cap[121]->NotRange.Reserved2 = 0
5850pp_data->cap[121]->NotRange.DesignatorIndex = 0
5851pp_data->cap[121]->NotRange.Reserved3 = 0
5852pp_data->cap[121]->NotRange.DataIndex = 34
5853pp_data->cap[121]->NotRange.Reserved4 = 34
5854pp_data->cap[121]->NotButton.HasNull = 0
5855pp_data->cap[121]->NotButton.Reserved4 = 0x000000
5856pp_data->cap[121]->NotButton.LogicalMin = 0
5857pp_data->cap[121]->NotButton.LogicalMax = 127
5858pp_data->cap[121]->NotButton.PhysicalMin = 0
5859pp_data->cap[121]->NotButton.PhysicalMax = 0
5860pp_data->cap[121]->Units = 0
5861pp_data->cap[121]->UnitsExp = 0
5862
5863pp_data->cap[122]->UsagePage = 0xFF01
5864pp_data->cap[122]->ReportID = 0x80
5865pp_data->cap[122]->BitPosition = 0
5866pp_data->cap[122]->BitSize = 8
5867pp_data->cap[122]->ReportCount = 1
5868pp_data->cap[122]->BytePosition = 0x003B
5869pp_data->cap[122]->BitCount = 8
5870pp_data->cap[122]->BitField = 0x02
5871pp_data->cap[122]->NextBytePosition = 0x003C
5872pp_data->cap[122]->LinkCollection = 0x0003
5873pp_data->cap[122]->LinkUsagePage = 0xFF01
5874pp_data->cap[122]->LinkUsage = 0x0080
5875pp_data->cap[122]->IsMultipleItemsForArray = 0
5876pp_data->cap[122]->IsButtonCap = 0
5877pp_data->cap[122]->IsPadding = 0
5878pp_data->cap[122]->IsAbsolute = 1
5879pp_data->cap[122]->IsRange = 0
5880pp_data->cap[122]->IsAlias = 0
5881pp_data->cap[122]->IsStringRange = 0
5882pp_data->cap[122]->IsDesignatorRange = 0
5883pp_data->cap[122]->Reserved1 = 0x000000
5884pp_data->cap[122]->pp_cap->UnknownTokens[0].Token = 0x00
5885pp_data->cap[122]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5886pp_data->cap[122]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5887pp_data->cap[122]->pp_cap->UnknownTokens[1].Token = 0x00
5888pp_data->cap[122]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5889pp_data->cap[122]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5890pp_data->cap[122]->pp_cap->UnknownTokens[2].Token = 0x00
5891pp_data->cap[122]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5892pp_data->cap[122]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5893pp_data->cap[122]->pp_cap->UnknownTokens[3].Token = 0x00
5894pp_data->cap[122]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5895pp_data->cap[122]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5896pp_data->cap[122]->NotRange.Usage = 0x0081
5897pp_data->cap[122]->NotRange.Reserved1 = 0x0081
5898pp_data->cap[122]->NotRange.StringIndex = 0
5899pp_data->cap[122]->NotRange.Reserved2 = 0
5900pp_data->cap[122]->NotRange.DesignatorIndex = 0
5901pp_data->cap[122]->NotRange.Reserved3 = 0
5902pp_data->cap[122]->NotRange.DataIndex = 35
5903pp_data->cap[122]->NotRange.Reserved4 = 35
5904pp_data->cap[122]->NotButton.HasNull = 0
5905pp_data->cap[122]->NotButton.Reserved4 = 0x000000
5906pp_data->cap[122]->NotButton.LogicalMin = 0
5907pp_data->cap[122]->NotButton.LogicalMax = 127
5908pp_data->cap[122]->NotButton.PhysicalMin = 0
5909pp_data->cap[122]->NotButton.PhysicalMax = 0
5910pp_data->cap[122]->Units = 0
5911pp_data->cap[122]->UnitsExp = 0
5912
5913pp_data->cap[123]->UsagePage = 0xFF01
5914pp_data->cap[123]->ReportID = 0x80
5915pp_data->cap[123]->BitPosition = 0
5916pp_data->cap[123]->BitSize = 8
5917pp_data->cap[123]->ReportCount = 1
5918pp_data->cap[123]->BytePosition = 0x003A
5919pp_data->cap[123]->BitCount = 8
5920pp_data->cap[123]->BitField = 0x02
5921pp_data->cap[123]->NextBytePosition = 0x003B
5922pp_data->cap[123]->LinkCollection = 0x0003
5923pp_data->cap[123]->LinkUsagePage = 0xFF01
5924pp_data->cap[123]->LinkUsage = 0x0080
5925pp_data->cap[123]->IsMultipleItemsForArray = 0
5926pp_data->cap[123]->IsButtonCap = 0
5927pp_data->cap[123]->IsPadding = 0
5928pp_data->cap[123]->IsAbsolute = 1
5929pp_data->cap[123]->IsRange = 0
5930pp_data->cap[123]->IsAlias = 0
5931pp_data->cap[123]->IsStringRange = 0
5932pp_data->cap[123]->IsDesignatorRange = 0
5933pp_data->cap[123]->Reserved1 = 0x000000
5934pp_data->cap[123]->pp_cap->UnknownTokens[0].Token = 0x00
5935pp_data->cap[123]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5936pp_data->cap[123]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5937pp_data->cap[123]->pp_cap->UnknownTokens[1].Token = 0x00
5938pp_data->cap[123]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5939pp_data->cap[123]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5940pp_data->cap[123]->pp_cap->UnknownTokens[2].Token = 0x00
5941pp_data->cap[123]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5942pp_data->cap[123]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5943pp_data->cap[123]->pp_cap->UnknownTokens[3].Token = 0x00
5944pp_data->cap[123]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5945pp_data->cap[123]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5946pp_data->cap[123]->NotRange.Usage = 0x0081
5947pp_data->cap[123]->NotRange.Reserved1 = 0x0081
5948pp_data->cap[123]->NotRange.StringIndex = 0
5949pp_data->cap[123]->NotRange.Reserved2 = 0
5950pp_data->cap[123]->NotRange.DesignatorIndex = 0
5951pp_data->cap[123]->NotRange.Reserved3 = 0
5952pp_data->cap[123]->NotRange.DataIndex = 36
5953pp_data->cap[123]->NotRange.Reserved4 = 36
5954pp_data->cap[123]->NotButton.HasNull = 0
5955pp_data->cap[123]->NotButton.Reserved4 = 0x000000
5956pp_data->cap[123]->NotButton.LogicalMin = 0
5957pp_data->cap[123]->NotButton.LogicalMax = 127
5958pp_data->cap[123]->NotButton.PhysicalMin = 0
5959pp_data->cap[123]->NotButton.PhysicalMax = 0
5960pp_data->cap[123]->Units = 0
5961pp_data->cap[123]->UnitsExp = 0
5962
5963pp_data->cap[124]->UsagePage = 0xFF01
5964pp_data->cap[124]->ReportID = 0x80
5965pp_data->cap[124]->BitPosition = 0
5966pp_data->cap[124]->BitSize = 8
5967pp_data->cap[124]->ReportCount = 1
5968pp_data->cap[124]->BytePosition = 0x0039
5969pp_data->cap[124]->BitCount = 8
5970pp_data->cap[124]->BitField = 0x02
5971pp_data->cap[124]->NextBytePosition = 0x003A
5972pp_data->cap[124]->LinkCollection = 0x0003
5973pp_data->cap[124]->LinkUsagePage = 0xFF01
5974pp_data->cap[124]->LinkUsage = 0x0080
5975pp_data->cap[124]->IsMultipleItemsForArray = 0
5976pp_data->cap[124]->IsButtonCap = 0
5977pp_data->cap[124]->IsPadding = 0
5978pp_data->cap[124]->IsAbsolute = 1
5979pp_data->cap[124]->IsRange = 0
5980pp_data->cap[124]->IsAlias = 0
5981pp_data->cap[124]->IsStringRange = 0
5982pp_data->cap[124]->IsDesignatorRange = 0
5983pp_data->cap[124]->Reserved1 = 0x000000
5984pp_data->cap[124]->pp_cap->UnknownTokens[0].Token = 0x00
5985pp_data->cap[124]->pp_cap->UnknownTokens[0].Reserved = 0x000000
5986pp_data->cap[124]->pp_cap->UnknownTokens[0].BitField = 0x00000000
5987pp_data->cap[124]->pp_cap->UnknownTokens[1].Token = 0x00
5988pp_data->cap[124]->pp_cap->UnknownTokens[1].Reserved = 0x000000
5989pp_data->cap[124]->pp_cap->UnknownTokens[1].BitField = 0x00000000
5990pp_data->cap[124]->pp_cap->UnknownTokens[2].Token = 0x00
5991pp_data->cap[124]->pp_cap->UnknownTokens[2].Reserved = 0x000000
5992pp_data->cap[124]->pp_cap->UnknownTokens[2].BitField = 0x00000000
5993pp_data->cap[124]->pp_cap->UnknownTokens[3].Token = 0x00
5994pp_data->cap[124]->pp_cap->UnknownTokens[3].Reserved = 0x000000
5995pp_data->cap[124]->pp_cap->UnknownTokens[3].BitField = 0x00000000
5996pp_data->cap[124]->NotRange.Usage = 0x0081
5997pp_data->cap[124]->NotRange.Reserved1 = 0x0081
5998pp_data->cap[124]->NotRange.StringIndex = 0
5999pp_data->cap[124]->NotRange.Reserved2 = 0
6000pp_data->cap[124]->NotRange.DesignatorIndex = 0
6001pp_data->cap[124]->NotRange.Reserved3 = 0
6002pp_data->cap[124]->NotRange.DataIndex = 37
6003pp_data->cap[124]->NotRange.Reserved4 = 37
6004pp_data->cap[124]->NotButton.HasNull = 0
6005pp_data->cap[124]->NotButton.Reserved4 = 0x000000
6006pp_data->cap[124]->NotButton.LogicalMin = 0
6007pp_data->cap[124]->NotButton.LogicalMax = 127
6008pp_data->cap[124]->NotButton.PhysicalMin = 0
6009pp_data->cap[124]->NotButton.PhysicalMax = 0
6010pp_data->cap[124]->Units = 0
6011pp_data->cap[124]->UnitsExp = 0
6012
6013pp_data->cap[125]->UsagePage = 0xFF01
6014pp_data->cap[125]->ReportID = 0x80
6015pp_data->cap[125]->BitPosition = 0
6016pp_data->cap[125]->BitSize = 8
6017pp_data->cap[125]->ReportCount = 1
6018pp_data->cap[125]->BytePosition = 0x0038
6019pp_data->cap[125]->BitCount = 8
6020pp_data->cap[125]->BitField = 0x02
6021pp_data->cap[125]->NextBytePosition = 0x0039
6022pp_data->cap[125]->LinkCollection = 0x0003
6023pp_data->cap[125]->LinkUsagePage = 0xFF01
6024pp_data->cap[125]->LinkUsage = 0x0080
6025pp_data->cap[125]->IsMultipleItemsForArray = 0
6026pp_data->cap[125]->IsButtonCap = 0
6027pp_data->cap[125]->IsPadding = 0
6028pp_data->cap[125]->IsAbsolute = 1
6029pp_data->cap[125]->IsRange = 0
6030pp_data->cap[125]->IsAlias = 0
6031pp_data->cap[125]->IsStringRange = 0
6032pp_data->cap[125]->IsDesignatorRange = 0
6033pp_data->cap[125]->Reserved1 = 0x000000
6034pp_data->cap[125]->pp_cap->UnknownTokens[0].Token = 0x00
6035pp_data->cap[125]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6036pp_data->cap[125]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6037pp_data->cap[125]->pp_cap->UnknownTokens[1].Token = 0x00
6038pp_data->cap[125]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6039pp_data->cap[125]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6040pp_data->cap[125]->pp_cap->UnknownTokens[2].Token = 0x00
6041pp_data->cap[125]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6042pp_data->cap[125]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6043pp_data->cap[125]->pp_cap->UnknownTokens[3].Token = 0x00
6044pp_data->cap[125]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6045pp_data->cap[125]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6046pp_data->cap[125]->NotRange.Usage = 0x0081
6047pp_data->cap[125]->NotRange.Reserved1 = 0x0081
6048pp_data->cap[125]->NotRange.StringIndex = 0
6049pp_data->cap[125]->NotRange.Reserved2 = 0
6050pp_data->cap[125]->NotRange.DesignatorIndex = 0
6051pp_data->cap[125]->NotRange.Reserved3 = 0
6052pp_data->cap[125]->NotRange.DataIndex = 38
6053pp_data->cap[125]->NotRange.Reserved4 = 38
6054pp_data->cap[125]->NotButton.HasNull = 0
6055pp_data->cap[125]->NotButton.Reserved4 = 0x000000
6056pp_data->cap[125]->NotButton.LogicalMin = 0
6057pp_data->cap[125]->NotButton.LogicalMax = 127
6058pp_data->cap[125]->NotButton.PhysicalMin = 0
6059pp_data->cap[125]->NotButton.PhysicalMax = 0
6060pp_data->cap[125]->Units = 0
6061pp_data->cap[125]->UnitsExp = 0
6062
6063pp_data->cap[126]->UsagePage = 0xFF01
6064pp_data->cap[126]->ReportID = 0x80
6065pp_data->cap[126]->BitPosition = 0
6066pp_data->cap[126]->BitSize = 8
6067pp_data->cap[126]->ReportCount = 1
6068pp_data->cap[126]->BytePosition = 0x0037
6069pp_data->cap[126]->BitCount = 8
6070pp_data->cap[126]->BitField = 0x02
6071pp_data->cap[126]->NextBytePosition = 0x0038
6072pp_data->cap[126]->LinkCollection = 0x0003
6073pp_data->cap[126]->LinkUsagePage = 0xFF01
6074pp_data->cap[126]->LinkUsage = 0x0080
6075pp_data->cap[126]->IsMultipleItemsForArray = 0
6076pp_data->cap[126]->IsButtonCap = 0
6077pp_data->cap[126]->IsPadding = 0
6078pp_data->cap[126]->IsAbsolute = 1
6079pp_data->cap[126]->IsRange = 0
6080pp_data->cap[126]->IsAlias = 0
6081pp_data->cap[126]->IsStringRange = 0
6082pp_data->cap[126]->IsDesignatorRange = 0
6083pp_data->cap[126]->Reserved1 = 0x000000
6084pp_data->cap[126]->pp_cap->UnknownTokens[0].Token = 0x00
6085pp_data->cap[126]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6086pp_data->cap[126]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6087pp_data->cap[126]->pp_cap->UnknownTokens[1].Token = 0x00
6088pp_data->cap[126]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6089pp_data->cap[126]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6090pp_data->cap[126]->pp_cap->UnknownTokens[2].Token = 0x00
6091pp_data->cap[126]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6092pp_data->cap[126]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6093pp_data->cap[126]->pp_cap->UnknownTokens[3].Token = 0x00
6094pp_data->cap[126]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6095pp_data->cap[126]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6096pp_data->cap[126]->NotRange.Usage = 0x0081
6097pp_data->cap[126]->NotRange.Reserved1 = 0x0081
6098pp_data->cap[126]->NotRange.StringIndex = 0
6099pp_data->cap[126]->NotRange.Reserved2 = 0
6100pp_data->cap[126]->NotRange.DesignatorIndex = 0
6101pp_data->cap[126]->NotRange.Reserved3 = 0
6102pp_data->cap[126]->NotRange.DataIndex = 39
6103pp_data->cap[126]->NotRange.Reserved4 = 39
6104pp_data->cap[126]->NotButton.HasNull = 0
6105pp_data->cap[126]->NotButton.Reserved4 = 0x000000
6106pp_data->cap[126]->NotButton.LogicalMin = 0
6107pp_data->cap[126]->NotButton.LogicalMax = 127
6108pp_data->cap[126]->NotButton.PhysicalMin = 0
6109pp_data->cap[126]->NotButton.PhysicalMax = 0
6110pp_data->cap[126]->Units = 0
6111pp_data->cap[126]->UnitsExp = 0
6112
6113pp_data->cap[127]->UsagePage = 0xFF01
6114pp_data->cap[127]->ReportID = 0x80
6115pp_data->cap[127]->BitPosition = 0
6116pp_data->cap[127]->BitSize = 8
6117pp_data->cap[127]->ReportCount = 1
6118pp_data->cap[127]->BytePosition = 0x0036
6119pp_data->cap[127]->BitCount = 8
6120pp_data->cap[127]->BitField = 0x02
6121pp_data->cap[127]->NextBytePosition = 0x0037
6122pp_data->cap[127]->LinkCollection = 0x0003
6123pp_data->cap[127]->LinkUsagePage = 0xFF01
6124pp_data->cap[127]->LinkUsage = 0x0080
6125pp_data->cap[127]->IsMultipleItemsForArray = 0
6126pp_data->cap[127]->IsButtonCap = 0
6127pp_data->cap[127]->IsPadding = 0
6128pp_data->cap[127]->IsAbsolute = 1
6129pp_data->cap[127]->IsRange = 0
6130pp_data->cap[127]->IsAlias = 0
6131pp_data->cap[127]->IsStringRange = 0
6132pp_data->cap[127]->IsDesignatorRange = 0
6133pp_data->cap[127]->Reserved1 = 0x000000
6134pp_data->cap[127]->pp_cap->UnknownTokens[0].Token = 0x00
6135pp_data->cap[127]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6136pp_data->cap[127]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6137pp_data->cap[127]->pp_cap->UnknownTokens[1].Token = 0x00
6138pp_data->cap[127]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6139pp_data->cap[127]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6140pp_data->cap[127]->pp_cap->UnknownTokens[2].Token = 0x00
6141pp_data->cap[127]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6142pp_data->cap[127]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6143pp_data->cap[127]->pp_cap->UnknownTokens[3].Token = 0x00
6144pp_data->cap[127]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6145pp_data->cap[127]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6146pp_data->cap[127]->NotRange.Usage = 0x0081
6147pp_data->cap[127]->NotRange.Reserved1 = 0x0081
6148pp_data->cap[127]->NotRange.StringIndex = 0
6149pp_data->cap[127]->NotRange.Reserved2 = 0
6150pp_data->cap[127]->NotRange.DesignatorIndex = 0
6151pp_data->cap[127]->NotRange.Reserved3 = 0
6152pp_data->cap[127]->NotRange.DataIndex = 40
6153pp_data->cap[127]->NotRange.Reserved4 = 40
6154pp_data->cap[127]->NotButton.HasNull = 0
6155pp_data->cap[127]->NotButton.Reserved4 = 0x000000
6156pp_data->cap[127]->NotButton.LogicalMin = 0
6157pp_data->cap[127]->NotButton.LogicalMax = 127
6158pp_data->cap[127]->NotButton.PhysicalMin = 0
6159pp_data->cap[127]->NotButton.PhysicalMax = 0
6160pp_data->cap[127]->Units = 0
6161pp_data->cap[127]->UnitsExp = 0
6162
6163pp_data->cap[128]->UsagePage = 0xFF01
6164pp_data->cap[128]->ReportID = 0x80
6165pp_data->cap[128]->BitPosition = 0
6166pp_data->cap[128]->BitSize = 8
6167pp_data->cap[128]->ReportCount = 1
6168pp_data->cap[128]->BytePosition = 0x0035
6169pp_data->cap[128]->BitCount = 8
6170pp_data->cap[128]->BitField = 0x02
6171pp_data->cap[128]->NextBytePosition = 0x0036
6172pp_data->cap[128]->LinkCollection = 0x0003
6173pp_data->cap[128]->LinkUsagePage = 0xFF01
6174pp_data->cap[128]->LinkUsage = 0x0080
6175pp_data->cap[128]->IsMultipleItemsForArray = 0
6176pp_data->cap[128]->IsButtonCap = 0
6177pp_data->cap[128]->IsPadding = 0
6178pp_data->cap[128]->IsAbsolute = 1
6179pp_data->cap[128]->IsRange = 0
6180pp_data->cap[128]->IsAlias = 0
6181pp_data->cap[128]->IsStringRange = 0
6182pp_data->cap[128]->IsDesignatorRange = 0
6183pp_data->cap[128]->Reserved1 = 0x000000
6184pp_data->cap[128]->pp_cap->UnknownTokens[0].Token = 0x00
6185pp_data->cap[128]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6186pp_data->cap[128]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6187pp_data->cap[128]->pp_cap->UnknownTokens[1].Token = 0x00
6188pp_data->cap[128]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6189pp_data->cap[128]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6190pp_data->cap[128]->pp_cap->UnknownTokens[2].Token = 0x00
6191pp_data->cap[128]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6192pp_data->cap[128]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6193pp_data->cap[128]->pp_cap->UnknownTokens[3].Token = 0x00
6194pp_data->cap[128]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6195pp_data->cap[128]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6196pp_data->cap[128]->NotRange.Usage = 0x0081
6197pp_data->cap[128]->NotRange.Reserved1 = 0x0081
6198pp_data->cap[128]->NotRange.StringIndex = 0
6199pp_data->cap[128]->NotRange.Reserved2 = 0
6200pp_data->cap[128]->NotRange.DesignatorIndex = 0
6201pp_data->cap[128]->NotRange.Reserved3 = 0
6202pp_data->cap[128]->NotRange.DataIndex = 41
6203pp_data->cap[128]->NotRange.Reserved4 = 41
6204pp_data->cap[128]->NotButton.HasNull = 0
6205pp_data->cap[128]->NotButton.Reserved4 = 0x000000
6206pp_data->cap[128]->NotButton.LogicalMin = 0
6207pp_data->cap[128]->NotButton.LogicalMax = 127
6208pp_data->cap[128]->NotButton.PhysicalMin = 0
6209pp_data->cap[128]->NotButton.PhysicalMax = 0
6210pp_data->cap[128]->Units = 0
6211pp_data->cap[128]->UnitsExp = 0
6212
6213pp_data->cap[129]->UsagePage = 0xFF01
6214pp_data->cap[129]->ReportID = 0x80
6215pp_data->cap[129]->BitPosition = 0
6216pp_data->cap[129]->BitSize = 8
6217pp_data->cap[129]->ReportCount = 1
6218pp_data->cap[129]->BytePosition = 0x0034
6219pp_data->cap[129]->BitCount = 8
6220pp_data->cap[129]->BitField = 0x02
6221pp_data->cap[129]->NextBytePosition = 0x0035
6222pp_data->cap[129]->LinkCollection = 0x0003
6223pp_data->cap[129]->LinkUsagePage = 0xFF01
6224pp_data->cap[129]->LinkUsage = 0x0080
6225pp_data->cap[129]->IsMultipleItemsForArray = 0
6226pp_data->cap[129]->IsButtonCap = 0
6227pp_data->cap[129]->IsPadding = 0
6228pp_data->cap[129]->IsAbsolute = 1
6229pp_data->cap[129]->IsRange = 0
6230pp_data->cap[129]->IsAlias = 0
6231pp_data->cap[129]->IsStringRange = 0
6232pp_data->cap[129]->IsDesignatorRange = 0
6233pp_data->cap[129]->Reserved1 = 0x000000
6234pp_data->cap[129]->pp_cap->UnknownTokens[0].Token = 0x00
6235pp_data->cap[129]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6236pp_data->cap[129]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6237pp_data->cap[129]->pp_cap->UnknownTokens[1].Token = 0x00
6238pp_data->cap[129]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6239pp_data->cap[129]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6240pp_data->cap[129]->pp_cap->UnknownTokens[2].Token = 0x00
6241pp_data->cap[129]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6242pp_data->cap[129]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6243pp_data->cap[129]->pp_cap->UnknownTokens[3].Token = 0x00
6244pp_data->cap[129]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6245pp_data->cap[129]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6246pp_data->cap[129]->NotRange.Usage = 0x0081
6247pp_data->cap[129]->NotRange.Reserved1 = 0x0081
6248pp_data->cap[129]->NotRange.StringIndex = 0
6249pp_data->cap[129]->NotRange.Reserved2 = 0
6250pp_data->cap[129]->NotRange.DesignatorIndex = 0
6251pp_data->cap[129]->NotRange.Reserved3 = 0
6252pp_data->cap[129]->NotRange.DataIndex = 42
6253pp_data->cap[129]->NotRange.Reserved4 = 42
6254pp_data->cap[129]->NotButton.HasNull = 0
6255pp_data->cap[129]->NotButton.Reserved4 = 0x000000
6256pp_data->cap[129]->NotButton.LogicalMin = 0
6257pp_data->cap[129]->NotButton.LogicalMax = 127
6258pp_data->cap[129]->NotButton.PhysicalMin = 0
6259pp_data->cap[129]->NotButton.PhysicalMax = 0
6260pp_data->cap[129]->Units = 0
6261pp_data->cap[129]->UnitsExp = 0
6262
6263pp_data->cap[130]->UsagePage = 0xFF01
6264pp_data->cap[130]->ReportID = 0x80
6265pp_data->cap[130]->BitPosition = 0
6266pp_data->cap[130]->BitSize = 8
6267pp_data->cap[130]->ReportCount = 1
6268pp_data->cap[130]->BytePosition = 0x0033
6269pp_data->cap[130]->BitCount = 8
6270pp_data->cap[130]->BitField = 0x02
6271pp_data->cap[130]->NextBytePosition = 0x0034
6272pp_data->cap[130]->LinkCollection = 0x0003
6273pp_data->cap[130]->LinkUsagePage = 0xFF01
6274pp_data->cap[130]->LinkUsage = 0x0080
6275pp_data->cap[130]->IsMultipleItemsForArray = 0
6276pp_data->cap[130]->IsButtonCap = 0
6277pp_data->cap[130]->IsPadding = 0
6278pp_data->cap[130]->IsAbsolute = 1
6279pp_data->cap[130]->IsRange = 0
6280pp_data->cap[130]->IsAlias = 0
6281pp_data->cap[130]->IsStringRange = 0
6282pp_data->cap[130]->IsDesignatorRange = 0
6283pp_data->cap[130]->Reserved1 = 0x000000
6284pp_data->cap[130]->pp_cap->UnknownTokens[0].Token = 0x00
6285pp_data->cap[130]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6286pp_data->cap[130]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6287pp_data->cap[130]->pp_cap->UnknownTokens[1].Token = 0x00
6288pp_data->cap[130]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6289pp_data->cap[130]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6290pp_data->cap[130]->pp_cap->UnknownTokens[2].Token = 0x00
6291pp_data->cap[130]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6292pp_data->cap[130]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6293pp_data->cap[130]->pp_cap->UnknownTokens[3].Token = 0x00
6294pp_data->cap[130]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6295pp_data->cap[130]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6296pp_data->cap[130]->NotRange.Usage = 0x0081
6297pp_data->cap[130]->NotRange.Reserved1 = 0x0081
6298pp_data->cap[130]->NotRange.StringIndex = 0
6299pp_data->cap[130]->NotRange.Reserved2 = 0
6300pp_data->cap[130]->NotRange.DesignatorIndex = 0
6301pp_data->cap[130]->NotRange.Reserved3 = 0
6302pp_data->cap[130]->NotRange.DataIndex = 43
6303pp_data->cap[130]->NotRange.Reserved4 = 43
6304pp_data->cap[130]->NotButton.HasNull = 0
6305pp_data->cap[130]->NotButton.Reserved4 = 0x000000
6306pp_data->cap[130]->NotButton.LogicalMin = 0
6307pp_data->cap[130]->NotButton.LogicalMax = 127
6308pp_data->cap[130]->NotButton.PhysicalMin = 0
6309pp_data->cap[130]->NotButton.PhysicalMax = 0
6310pp_data->cap[130]->Units = 0
6311pp_data->cap[130]->UnitsExp = 0
6312
6313pp_data->cap[131]->UsagePage = 0xFF01
6314pp_data->cap[131]->ReportID = 0x80
6315pp_data->cap[131]->BitPosition = 0
6316pp_data->cap[131]->BitSize = 8
6317pp_data->cap[131]->ReportCount = 1
6318pp_data->cap[131]->BytePosition = 0x0032
6319pp_data->cap[131]->BitCount = 8
6320pp_data->cap[131]->BitField = 0x02
6321pp_data->cap[131]->NextBytePosition = 0x0033
6322pp_data->cap[131]->LinkCollection = 0x0003
6323pp_data->cap[131]->LinkUsagePage = 0xFF01
6324pp_data->cap[131]->LinkUsage = 0x0080
6325pp_data->cap[131]->IsMultipleItemsForArray = 0
6326pp_data->cap[131]->IsButtonCap = 0
6327pp_data->cap[131]->IsPadding = 0
6328pp_data->cap[131]->IsAbsolute = 1
6329pp_data->cap[131]->IsRange = 0
6330pp_data->cap[131]->IsAlias = 0
6331pp_data->cap[131]->IsStringRange = 0
6332pp_data->cap[131]->IsDesignatorRange = 0
6333pp_data->cap[131]->Reserved1 = 0x000000
6334pp_data->cap[131]->pp_cap->UnknownTokens[0].Token = 0x00
6335pp_data->cap[131]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6336pp_data->cap[131]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6337pp_data->cap[131]->pp_cap->UnknownTokens[1].Token = 0x00
6338pp_data->cap[131]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6339pp_data->cap[131]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6340pp_data->cap[131]->pp_cap->UnknownTokens[2].Token = 0x00
6341pp_data->cap[131]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6342pp_data->cap[131]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6343pp_data->cap[131]->pp_cap->UnknownTokens[3].Token = 0x00
6344pp_data->cap[131]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6345pp_data->cap[131]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6346pp_data->cap[131]->NotRange.Usage = 0x0081
6347pp_data->cap[131]->NotRange.Reserved1 = 0x0081
6348pp_data->cap[131]->NotRange.StringIndex = 0
6349pp_data->cap[131]->NotRange.Reserved2 = 0
6350pp_data->cap[131]->NotRange.DesignatorIndex = 0
6351pp_data->cap[131]->NotRange.Reserved3 = 0
6352pp_data->cap[131]->NotRange.DataIndex = 44
6353pp_data->cap[131]->NotRange.Reserved4 = 44
6354pp_data->cap[131]->NotButton.HasNull = 0
6355pp_data->cap[131]->NotButton.Reserved4 = 0x000000
6356pp_data->cap[131]->NotButton.LogicalMin = 0
6357pp_data->cap[131]->NotButton.LogicalMax = 127
6358pp_data->cap[131]->NotButton.PhysicalMin = 0
6359pp_data->cap[131]->NotButton.PhysicalMax = 0
6360pp_data->cap[131]->Units = 0
6361pp_data->cap[131]->UnitsExp = 0
6362
6363pp_data->cap[132]->UsagePage = 0xFF01
6364pp_data->cap[132]->ReportID = 0x80
6365pp_data->cap[132]->BitPosition = 0
6366pp_data->cap[132]->BitSize = 8
6367pp_data->cap[132]->ReportCount = 1
6368pp_data->cap[132]->BytePosition = 0x0031
6369pp_data->cap[132]->BitCount = 8
6370pp_data->cap[132]->BitField = 0x02
6371pp_data->cap[132]->NextBytePosition = 0x0032
6372pp_data->cap[132]->LinkCollection = 0x0003
6373pp_data->cap[132]->LinkUsagePage = 0xFF01
6374pp_data->cap[132]->LinkUsage = 0x0080
6375pp_data->cap[132]->IsMultipleItemsForArray = 0
6376pp_data->cap[132]->IsButtonCap = 0
6377pp_data->cap[132]->IsPadding = 0
6378pp_data->cap[132]->IsAbsolute = 1
6379pp_data->cap[132]->IsRange = 0
6380pp_data->cap[132]->IsAlias = 0
6381pp_data->cap[132]->IsStringRange = 0
6382pp_data->cap[132]->IsDesignatorRange = 0
6383pp_data->cap[132]->Reserved1 = 0x000000
6384pp_data->cap[132]->pp_cap->UnknownTokens[0].Token = 0x00
6385pp_data->cap[132]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6386pp_data->cap[132]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6387pp_data->cap[132]->pp_cap->UnknownTokens[1].Token = 0x00
6388pp_data->cap[132]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6389pp_data->cap[132]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6390pp_data->cap[132]->pp_cap->UnknownTokens[2].Token = 0x00
6391pp_data->cap[132]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6392pp_data->cap[132]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6393pp_data->cap[132]->pp_cap->UnknownTokens[3].Token = 0x00
6394pp_data->cap[132]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6395pp_data->cap[132]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6396pp_data->cap[132]->NotRange.Usage = 0x0081
6397pp_data->cap[132]->NotRange.Reserved1 = 0x0081
6398pp_data->cap[132]->NotRange.StringIndex = 0
6399pp_data->cap[132]->NotRange.Reserved2 = 0
6400pp_data->cap[132]->NotRange.DesignatorIndex = 0
6401pp_data->cap[132]->NotRange.Reserved3 = 0
6402pp_data->cap[132]->NotRange.DataIndex = 45
6403pp_data->cap[132]->NotRange.Reserved4 = 45
6404pp_data->cap[132]->NotButton.HasNull = 0
6405pp_data->cap[132]->NotButton.Reserved4 = 0x000000
6406pp_data->cap[132]->NotButton.LogicalMin = 0
6407pp_data->cap[132]->NotButton.LogicalMax = 127
6408pp_data->cap[132]->NotButton.PhysicalMin = 0
6409pp_data->cap[132]->NotButton.PhysicalMax = 0
6410pp_data->cap[132]->Units = 0
6411pp_data->cap[132]->UnitsExp = 0
6412
6413pp_data->cap[133]->UsagePage = 0xFF01
6414pp_data->cap[133]->ReportID = 0x80
6415pp_data->cap[133]->BitPosition = 0
6416pp_data->cap[133]->BitSize = 8
6417pp_data->cap[133]->ReportCount = 1
6418pp_data->cap[133]->BytePosition = 0x0030
6419pp_data->cap[133]->BitCount = 8
6420pp_data->cap[133]->BitField = 0x02
6421pp_data->cap[133]->NextBytePosition = 0x0031
6422pp_data->cap[133]->LinkCollection = 0x0003
6423pp_data->cap[133]->LinkUsagePage = 0xFF01
6424pp_data->cap[133]->LinkUsage = 0x0080
6425pp_data->cap[133]->IsMultipleItemsForArray = 0
6426pp_data->cap[133]->IsButtonCap = 0
6427pp_data->cap[133]->IsPadding = 0
6428pp_data->cap[133]->IsAbsolute = 1
6429pp_data->cap[133]->IsRange = 0
6430pp_data->cap[133]->IsAlias = 0
6431pp_data->cap[133]->IsStringRange = 0
6432pp_data->cap[133]->IsDesignatorRange = 0
6433pp_data->cap[133]->Reserved1 = 0x000000
6434pp_data->cap[133]->pp_cap->UnknownTokens[0].Token = 0x00
6435pp_data->cap[133]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6436pp_data->cap[133]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6437pp_data->cap[133]->pp_cap->UnknownTokens[1].Token = 0x00
6438pp_data->cap[133]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6439pp_data->cap[133]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6440pp_data->cap[133]->pp_cap->UnknownTokens[2].Token = 0x00
6441pp_data->cap[133]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6442pp_data->cap[133]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6443pp_data->cap[133]->pp_cap->UnknownTokens[3].Token = 0x00
6444pp_data->cap[133]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6445pp_data->cap[133]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6446pp_data->cap[133]->NotRange.Usage = 0x0081
6447pp_data->cap[133]->NotRange.Reserved1 = 0x0081
6448pp_data->cap[133]->NotRange.StringIndex = 0
6449pp_data->cap[133]->NotRange.Reserved2 = 0
6450pp_data->cap[133]->NotRange.DesignatorIndex = 0
6451pp_data->cap[133]->NotRange.Reserved3 = 0
6452pp_data->cap[133]->NotRange.DataIndex = 46
6453pp_data->cap[133]->NotRange.Reserved4 = 46
6454pp_data->cap[133]->NotButton.HasNull = 0
6455pp_data->cap[133]->NotButton.Reserved4 = 0x000000
6456pp_data->cap[133]->NotButton.LogicalMin = 0
6457pp_data->cap[133]->NotButton.LogicalMax = 127
6458pp_data->cap[133]->NotButton.PhysicalMin = 0
6459pp_data->cap[133]->NotButton.PhysicalMax = 0
6460pp_data->cap[133]->Units = 0
6461pp_data->cap[133]->UnitsExp = 0
6462
6463pp_data->cap[134]->UsagePage = 0xFF01
6464pp_data->cap[134]->ReportID = 0x80
6465pp_data->cap[134]->BitPosition = 0
6466pp_data->cap[134]->BitSize = 8
6467pp_data->cap[134]->ReportCount = 1
6468pp_data->cap[134]->BytePosition = 0x002F
6469pp_data->cap[134]->BitCount = 8
6470pp_data->cap[134]->BitField = 0x02
6471pp_data->cap[134]->NextBytePosition = 0x0030
6472pp_data->cap[134]->LinkCollection = 0x0003
6473pp_data->cap[134]->LinkUsagePage = 0xFF01
6474pp_data->cap[134]->LinkUsage = 0x0080
6475pp_data->cap[134]->IsMultipleItemsForArray = 0
6476pp_data->cap[134]->IsButtonCap = 0
6477pp_data->cap[134]->IsPadding = 0
6478pp_data->cap[134]->IsAbsolute = 1
6479pp_data->cap[134]->IsRange = 0
6480pp_data->cap[134]->IsAlias = 0
6481pp_data->cap[134]->IsStringRange = 0
6482pp_data->cap[134]->IsDesignatorRange = 0
6483pp_data->cap[134]->Reserved1 = 0x000000
6484pp_data->cap[134]->pp_cap->UnknownTokens[0].Token = 0x00
6485pp_data->cap[134]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6486pp_data->cap[134]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6487pp_data->cap[134]->pp_cap->UnknownTokens[1].Token = 0x00
6488pp_data->cap[134]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6489pp_data->cap[134]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6490pp_data->cap[134]->pp_cap->UnknownTokens[2].Token = 0x00
6491pp_data->cap[134]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6492pp_data->cap[134]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6493pp_data->cap[134]->pp_cap->UnknownTokens[3].Token = 0x00
6494pp_data->cap[134]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6495pp_data->cap[134]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6496pp_data->cap[134]->NotRange.Usage = 0x0081
6497pp_data->cap[134]->NotRange.Reserved1 = 0x0081
6498pp_data->cap[134]->NotRange.StringIndex = 0
6499pp_data->cap[134]->NotRange.Reserved2 = 0
6500pp_data->cap[134]->NotRange.DesignatorIndex = 0
6501pp_data->cap[134]->NotRange.Reserved3 = 0
6502pp_data->cap[134]->NotRange.DataIndex = 47
6503pp_data->cap[134]->NotRange.Reserved4 = 47
6504pp_data->cap[134]->NotButton.HasNull = 0
6505pp_data->cap[134]->NotButton.Reserved4 = 0x000000
6506pp_data->cap[134]->NotButton.LogicalMin = 0
6507pp_data->cap[134]->NotButton.LogicalMax = 127
6508pp_data->cap[134]->NotButton.PhysicalMin = 0
6509pp_data->cap[134]->NotButton.PhysicalMax = 0
6510pp_data->cap[134]->Units = 0
6511pp_data->cap[134]->UnitsExp = 0
6512
6513pp_data->cap[135]->UsagePage = 0xFF01
6514pp_data->cap[135]->ReportID = 0x80
6515pp_data->cap[135]->BitPosition = 0
6516pp_data->cap[135]->BitSize = 8
6517pp_data->cap[135]->ReportCount = 1
6518pp_data->cap[135]->BytePosition = 0x002E
6519pp_data->cap[135]->BitCount = 8
6520pp_data->cap[135]->BitField = 0x02
6521pp_data->cap[135]->NextBytePosition = 0x002F
6522pp_data->cap[135]->LinkCollection = 0x0003
6523pp_data->cap[135]->LinkUsagePage = 0xFF01
6524pp_data->cap[135]->LinkUsage = 0x0080
6525pp_data->cap[135]->IsMultipleItemsForArray = 0
6526pp_data->cap[135]->IsButtonCap = 0
6527pp_data->cap[135]->IsPadding = 0
6528pp_data->cap[135]->IsAbsolute = 1
6529pp_data->cap[135]->IsRange = 0
6530pp_data->cap[135]->IsAlias = 0
6531pp_data->cap[135]->IsStringRange = 0
6532pp_data->cap[135]->IsDesignatorRange = 0
6533pp_data->cap[135]->Reserved1 = 0x000000
6534pp_data->cap[135]->pp_cap->UnknownTokens[0].Token = 0x00
6535pp_data->cap[135]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6536pp_data->cap[135]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6537pp_data->cap[135]->pp_cap->UnknownTokens[1].Token = 0x00
6538pp_data->cap[135]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6539pp_data->cap[135]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6540pp_data->cap[135]->pp_cap->UnknownTokens[2].Token = 0x00
6541pp_data->cap[135]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6542pp_data->cap[135]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6543pp_data->cap[135]->pp_cap->UnknownTokens[3].Token = 0x00
6544pp_data->cap[135]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6545pp_data->cap[135]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6546pp_data->cap[135]->NotRange.Usage = 0x0081
6547pp_data->cap[135]->NotRange.Reserved1 = 0x0081
6548pp_data->cap[135]->NotRange.StringIndex = 0
6549pp_data->cap[135]->NotRange.Reserved2 = 0
6550pp_data->cap[135]->NotRange.DesignatorIndex = 0
6551pp_data->cap[135]->NotRange.Reserved3 = 0
6552pp_data->cap[135]->NotRange.DataIndex = 48
6553pp_data->cap[135]->NotRange.Reserved4 = 48
6554pp_data->cap[135]->NotButton.HasNull = 0
6555pp_data->cap[135]->NotButton.Reserved4 = 0x000000
6556pp_data->cap[135]->NotButton.LogicalMin = 0
6557pp_data->cap[135]->NotButton.LogicalMax = 127
6558pp_data->cap[135]->NotButton.PhysicalMin = 0
6559pp_data->cap[135]->NotButton.PhysicalMax = 0
6560pp_data->cap[135]->Units = 0
6561pp_data->cap[135]->UnitsExp = 0
6562
6563pp_data->cap[136]->UsagePage = 0xFF01
6564pp_data->cap[136]->ReportID = 0x80
6565pp_data->cap[136]->BitPosition = 0
6566pp_data->cap[136]->BitSize = 8
6567pp_data->cap[136]->ReportCount = 1
6568pp_data->cap[136]->BytePosition = 0x002D
6569pp_data->cap[136]->BitCount = 8
6570pp_data->cap[136]->BitField = 0x02
6571pp_data->cap[136]->NextBytePosition = 0x002E
6572pp_data->cap[136]->LinkCollection = 0x0003
6573pp_data->cap[136]->LinkUsagePage = 0xFF01
6574pp_data->cap[136]->LinkUsage = 0x0080
6575pp_data->cap[136]->IsMultipleItemsForArray = 0
6576pp_data->cap[136]->IsButtonCap = 0
6577pp_data->cap[136]->IsPadding = 0
6578pp_data->cap[136]->IsAbsolute = 1
6579pp_data->cap[136]->IsRange = 0
6580pp_data->cap[136]->IsAlias = 0
6581pp_data->cap[136]->IsStringRange = 0
6582pp_data->cap[136]->IsDesignatorRange = 0
6583pp_data->cap[136]->Reserved1 = 0x000000
6584pp_data->cap[136]->pp_cap->UnknownTokens[0].Token = 0x00
6585pp_data->cap[136]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6586pp_data->cap[136]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6587pp_data->cap[136]->pp_cap->UnknownTokens[1].Token = 0x00
6588pp_data->cap[136]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6589pp_data->cap[136]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6590pp_data->cap[136]->pp_cap->UnknownTokens[2].Token = 0x00
6591pp_data->cap[136]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6592pp_data->cap[136]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6593pp_data->cap[136]->pp_cap->UnknownTokens[3].Token = 0x00
6594pp_data->cap[136]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6595pp_data->cap[136]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6596pp_data->cap[136]->NotRange.Usage = 0x0081
6597pp_data->cap[136]->NotRange.Reserved1 = 0x0081
6598pp_data->cap[136]->NotRange.StringIndex = 0
6599pp_data->cap[136]->NotRange.Reserved2 = 0
6600pp_data->cap[136]->NotRange.DesignatorIndex = 0
6601pp_data->cap[136]->NotRange.Reserved3 = 0
6602pp_data->cap[136]->NotRange.DataIndex = 49
6603pp_data->cap[136]->NotRange.Reserved4 = 49
6604pp_data->cap[136]->NotButton.HasNull = 0
6605pp_data->cap[136]->NotButton.Reserved4 = 0x000000
6606pp_data->cap[136]->NotButton.LogicalMin = 0
6607pp_data->cap[136]->NotButton.LogicalMax = 127
6608pp_data->cap[136]->NotButton.PhysicalMin = 0
6609pp_data->cap[136]->NotButton.PhysicalMax = 0
6610pp_data->cap[136]->Units = 0
6611pp_data->cap[136]->UnitsExp = 0
6612
6613pp_data->cap[137]->UsagePage = 0xFF01
6614pp_data->cap[137]->ReportID = 0x80
6615pp_data->cap[137]->BitPosition = 0
6616pp_data->cap[137]->BitSize = 8
6617pp_data->cap[137]->ReportCount = 1
6618pp_data->cap[137]->BytePosition = 0x002C
6619pp_data->cap[137]->BitCount = 8
6620pp_data->cap[137]->BitField = 0x02
6621pp_data->cap[137]->NextBytePosition = 0x002D
6622pp_data->cap[137]->LinkCollection = 0x0003
6623pp_data->cap[137]->LinkUsagePage = 0xFF01
6624pp_data->cap[137]->LinkUsage = 0x0080
6625pp_data->cap[137]->IsMultipleItemsForArray = 0
6626pp_data->cap[137]->IsButtonCap = 0
6627pp_data->cap[137]->IsPadding = 0
6628pp_data->cap[137]->IsAbsolute = 1
6629pp_data->cap[137]->IsRange = 0
6630pp_data->cap[137]->IsAlias = 0
6631pp_data->cap[137]->IsStringRange = 0
6632pp_data->cap[137]->IsDesignatorRange = 0
6633pp_data->cap[137]->Reserved1 = 0x000000
6634pp_data->cap[137]->pp_cap->UnknownTokens[0].Token = 0x00
6635pp_data->cap[137]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6636pp_data->cap[137]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6637pp_data->cap[137]->pp_cap->UnknownTokens[1].Token = 0x00
6638pp_data->cap[137]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6639pp_data->cap[137]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6640pp_data->cap[137]->pp_cap->UnknownTokens[2].Token = 0x00
6641pp_data->cap[137]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6642pp_data->cap[137]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6643pp_data->cap[137]->pp_cap->UnknownTokens[3].Token = 0x00
6644pp_data->cap[137]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6645pp_data->cap[137]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6646pp_data->cap[137]->NotRange.Usage = 0x0081
6647pp_data->cap[137]->NotRange.Reserved1 = 0x0081
6648pp_data->cap[137]->NotRange.StringIndex = 0
6649pp_data->cap[137]->NotRange.Reserved2 = 0
6650pp_data->cap[137]->NotRange.DesignatorIndex = 0
6651pp_data->cap[137]->NotRange.Reserved3 = 0
6652pp_data->cap[137]->NotRange.DataIndex = 50
6653pp_data->cap[137]->NotRange.Reserved4 = 50
6654pp_data->cap[137]->NotButton.HasNull = 0
6655pp_data->cap[137]->NotButton.Reserved4 = 0x000000
6656pp_data->cap[137]->NotButton.LogicalMin = 0
6657pp_data->cap[137]->NotButton.LogicalMax = 127
6658pp_data->cap[137]->NotButton.PhysicalMin = 0
6659pp_data->cap[137]->NotButton.PhysicalMax = 0
6660pp_data->cap[137]->Units = 0
6661pp_data->cap[137]->UnitsExp = 0
6662
6663pp_data->cap[138]->UsagePage = 0xFF01
6664pp_data->cap[138]->ReportID = 0x80
6665pp_data->cap[138]->BitPosition = 0
6666pp_data->cap[138]->BitSize = 8
6667pp_data->cap[138]->ReportCount = 1
6668pp_data->cap[138]->BytePosition = 0x002B
6669pp_data->cap[138]->BitCount = 8
6670pp_data->cap[138]->BitField = 0x02
6671pp_data->cap[138]->NextBytePosition = 0x002C
6672pp_data->cap[138]->LinkCollection = 0x0003
6673pp_data->cap[138]->LinkUsagePage = 0xFF01
6674pp_data->cap[138]->LinkUsage = 0x0080
6675pp_data->cap[138]->IsMultipleItemsForArray = 0
6676pp_data->cap[138]->IsButtonCap = 0
6677pp_data->cap[138]->IsPadding = 0
6678pp_data->cap[138]->IsAbsolute = 1
6679pp_data->cap[138]->IsRange = 0
6680pp_data->cap[138]->IsAlias = 0
6681pp_data->cap[138]->IsStringRange = 0
6682pp_data->cap[138]->IsDesignatorRange = 0
6683pp_data->cap[138]->Reserved1 = 0x000000
6684pp_data->cap[138]->pp_cap->UnknownTokens[0].Token = 0x00
6685pp_data->cap[138]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6686pp_data->cap[138]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6687pp_data->cap[138]->pp_cap->UnknownTokens[1].Token = 0x00
6688pp_data->cap[138]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6689pp_data->cap[138]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6690pp_data->cap[138]->pp_cap->UnknownTokens[2].Token = 0x00
6691pp_data->cap[138]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6692pp_data->cap[138]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6693pp_data->cap[138]->pp_cap->UnknownTokens[3].Token = 0x00
6694pp_data->cap[138]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6695pp_data->cap[138]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6696pp_data->cap[138]->NotRange.Usage = 0x0081
6697pp_data->cap[138]->NotRange.Reserved1 = 0x0081
6698pp_data->cap[138]->NotRange.StringIndex = 0
6699pp_data->cap[138]->NotRange.Reserved2 = 0
6700pp_data->cap[138]->NotRange.DesignatorIndex = 0
6701pp_data->cap[138]->NotRange.Reserved3 = 0
6702pp_data->cap[138]->NotRange.DataIndex = 51
6703pp_data->cap[138]->NotRange.Reserved4 = 51
6704pp_data->cap[138]->NotButton.HasNull = 0
6705pp_data->cap[138]->NotButton.Reserved4 = 0x000000
6706pp_data->cap[138]->NotButton.LogicalMin = 0
6707pp_data->cap[138]->NotButton.LogicalMax = 127
6708pp_data->cap[138]->NotButton.PhysicalMin = 0
6709pp_data->cap[138]->NotButton.PhysicalMax = 0
6710pp_data->cap[138]->Units = 0
6711pp_data->cap[138]->UnitsExp = 0
6712
6713pp_data->cap[139]->UsagePage = 0xFF01
6714pp_data->cap[139]->ReportID = 0x80
6715pp_data->cap[139]->BitPosition = 0
6716pp_data->cap[139]->BitSize = 8
6717pp_data->cap[139]->ReportCount = 1
6718pp_data->cap[139]->BytePosition = 0x002A
6719pp_data->cap[139]->BitCount = 8
6720pp_data->cap[139]->BitField = 0x02
6721pp_data->cap[139]->NextBytePosition = 0x002B
6722pp_data->cap[139]->LinkCollection = 0x0003
6723pp_data->cap[139]->LinkUsagePage = 0xFF01
6724pp_data->cap[139]->LinkUsage = 0x0080
6725pp_data->cap[139]->IsMultipleItemsForArray = 0
6726pp_data->cap[139]->IsButtonCap = 0
6727pp_data->cap[139]->IsPadding = 0
6728pp_data->cap[139]->IsAbsolute = 1
6729pp_data->cap[139]->IsRange = 0
6730pp_data->cap[139]->IsAlias = 0
6731pp_data->cap[139]->IsStringRange = 0
6732pp_data->cap[139]->IsDesignatorRange = 0
6733pp_data->cap[139]->Reserved1 = 0x000000
6734pp_data->cap[139]->pp_cap->UnknownTokens[0].Token = 0x00
6735pp_data->cap[139]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6736pp_data->cap[139]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6737pp_data->cap[139]->pp_cap->UnknownTokens[1].Token = 0x00
6738pp_data->cap[139]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6739pp_data->cap[139]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6740pp_data->cap[139]->pp_cap->UnknownTokens[2].Token = 0x00
6741pp_data->cap[139]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6742pp_data->cap[139]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6743pp_data->cap[139]->pp_cap->UnknownTokens[3].Token = 0x00
6744pp_data->cap[139]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6745pp_data->cap[139]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6746pp_data->cap[139]->NotRange.Usage = 0x0081
6747pp_data->cap[139]->NotRange.Reserved1 = 0x0081
6748pp_data->cap[139]->NotRange.StringIndex = 0
6749pp_data->cap[139]->NotRange.Reserved2 = 0
6750pp_data->cap[139]->NotRange.DesignatorIndex = 0
6751pp_data->cap[139]->NotRange.Reserved3 = 0
6752pp_data->cap[139]->NotRange.DataIndex = 52
6753pp_data->cap[139]->NotRange.Reserved4 = 52
6754pp_data->cap[139]->NotButton.HasNull = 0
6755pp_data->cap[139]->NotButton.Reserved4 = 0x000000
6756pp_data->cap[139]->NotButton.LogicalMin = 0
6757pp_data->cap[139]->NotButton.LogicalMax = 127
6758pp_data->cap[139]->NotButton.PhysicalMin = 0
6759pp_data->cap[139]->NotButton.PhysicalMax = 0
6760pp_data->cap[139]->Units = 0
6761pp_data->cap[139]->UnitsExp = 0
6762
6763pp_data->cap[140]->UsagePage = 0xFF01
6764pp_data->cap[140]->ReportID = 0x80
6765pp_data->cap[140]->BitPosition = 0
6766pp_data->cap[140]->BitSize = 8
6767pp_data->cap[140]->ReportCount = 1
6768pp_data->cap[140]->BytePosition = 0x0029
6769pp_data->cap[140]->BitCount = 8
6770pp_data->cap[140]->BitField = 0x02
6771pp_data->cap[140]->NextBytePosition = 0x002A
6772pp_data->cap[140]->LinkCollection = 0x0003
6773pp_data->cap[140]->LinkUsagePage = 0xFF01
6774pp_data->cap[140]->LinkUsage = 0x0080
6775pp_data->cap[140]->IsMultipleItemsForArray = 0
6776pp_data->cap[140]->IsButtonCap = 0
6777pp_data->cap[140]->IsPadding = 0
6778pp_data->cap[140]->IsAbsolute = 1
6779pp_data->cap[140]->IsRange = 0
6780pp_data->cap[140]->IsAlias = 0
6781pp_data->cap[140]->IsStringRange = 0
6782pp_data->cap[140]->IsDesignatorRange = 0
6783pp_data->cap[140]->Reserved1 = 0x000000
6784pp_data->cap[140]->pp_cap->UnknownTokens[0].Token = 0x00
6785pp_data->cap[140]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6786pp_data->cap[140]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6787pp_data->cap[140]->pp_cap->UnknownTokens[1].Token = 0x00
6788pp_data->cap[140]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6789pp_data->cap[140]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6790pp_data->cap[140]->pp_cap->UnknownTokens[2].Token = 0x00
6791pp_data->cap[140]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6792pp_data->cap[140]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6793pp_data->cap[140]->pp_cap->UnknownTokens[3].Token = 0x00
6794pp_data->cap[140]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6795pp_data->cap[140]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6796pp_data->cap[140]->NotRange.Usage = 0x0081
6797pp_data->cap[140]->NotRange.Reserved1 = 0x0081
6798pp_data->cap[140]->NotRange.StringIndex = 0
6799pp_data->cap[140]->NotRange.Reserved2 = 0
6800pp_data->cap[140]->NotRange.DesignatorIndex = 0
6801pp_data->cap[140]->NotRange.Reserved3 = 0
6802pp_data->cap[140]->NotRange.DataIndex = 53
6803pp_data->cap[140]->NotRange.Reserved4 = 53
6804pp_data->cap[140]->NotButton.HasNull = 0
6805pp_data->cap[140]->NotButton.Reserved4 = 0x000000
6806pp_data->cap[140]->NotButton.LogicalMin = 0
6807pp_data->cap[140]->NotButton.LogicalMax = 127
6808pp_data->cap[140]->NotButton.PhysicalMin = 0
6809pp_data->cap[140]->NotButton.PhysicalMax = 0
6810pp_data->cap[140]->Units = 0
6811pp_data->cap[140]->UnitsExp = 0
6812
6813pp_data->cap[141]->UsagePage = 0xFF01
6814pp_data->cap[141]->ReportID = 0x80
6815pp_data->cap[141]->BitPosition = 0
6816pp_data->cap[141]->BitSize = 8
6817pp_data->cap[141]->ReportCount = 1
6818pp_data->cap[141]->BytePosition = 0x0028
6819pp_data->cap[141]->BitCount = 8
6820pp_data->cap[141]->BitField = 0x02
6821pp_data->cap[141]->NextBytePosition = 0x0029
6822pp_data->cap[141]->LinkCollection = 0x0003
6823pp_data->cap[141]->LinkUsagePage = 0xFF01
6824pp_data->cap[141]->LinkUsage = 0x0080
6825pp_data->cap[141]->IsMultipleItemsForArray = 0
6826pp_data->cap[141]->IsButtonCap = 0
6827pp_data->cap[141]->IsPadding = 0
6828pp_data->cap[141]->IsAbsolute = 1
6829pp_data->cap[141]->IsRange = 0
6830pp_data->cap[141]->IsAlias = 0
6831pp_data->cap[141]->IsStringRange = 0
6832pp_data->cap[141]->IsDesignatorRange = 0
6833pp_data->cap[141]->Reserved1 = 0x000000
6834pp_data->cap[141]->pp_cap->UnknownTokens[0].Token = 0x00
6835pp_data->cap[141]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6836pp_data->cap[141]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6837pp_data->cap[141]->pp_cap->UnknownTokens[1].Token = 0x00
6838pp_data->cap[141]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6839pp_data->cap[141]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6840pp_data->cap[141]->pp_cap->UnknownTokens[2].Token = 0x00
6841pp_data->cap[141]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6842pp_data->cap[141]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6843pp_data->cap[141]->pp_cap->UnknownTokens[3].Token = 0x00
6844pp_data->cap[141]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6845pp_data->cap[141]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6846pp_data->cap[141]->NotRange.Usage = 0x0081
6847pp_data->cap[141]->NotRange.Reserved1 = 0x0081
6848pp_data->cap[141]->NotRange.StringIndex = 0
6849pp_data->cap[141]->NotRange.Reserved2 = 0
6850pp_data->cap[141]->NotRange.DesignatorIndex = 0
6851pp_data->cap[141]->NotRange.Reserved3 = 0
6852pp_data->cap[141]->NotRange.DataIndex = 54
6853pp_data->cap[141]->NotRange.Reserved4 = 54
6854pp_data->cap[141]->NotButton.HasNull = 0
6855pp_data->cap[141]->NotButton.Reserved4 = 0x000000
6856pp_data->cap[141]->NotButton.LogicalMin = 0
6857pp_data->cap[141]->NotButton.LogicalMax = 127
6858pp_data->cap[141]->NotButton.PhysicalMin = 0
6859pp_data->cap[141]->NotButton.PhysicalMax = 0
6860pp_data->cap[141]->Units = 0
6861pp_data->cap[141]->UnitsExp = 0
6862
6863pp_data->cap[142]->UsagePage = 0xFF01
6864pp_data->cap[142]->ReportID = 0x80
6865pp_data->cap[142]->BitPosition = 0
6866pp_data->cap[142]->BitSize = 8
6867pp_data->cap[142]->ReportCount = 1
6868pp_data->cap[142]->BytePosition = 0x0027
6869pp_data->cap[142]->BitCount = 8
6870pp_data->cap[142]->BitField = 0x02
6871pp_data->cap[142]->NextBytePosition = 0x0028
6872pp_data->cap[142]->LinkCollection = 0x0003
6873pp_data->cap[142]->LinkUsagePage = 0xFF01
6874pp_data->cap[142]->LinkUsage = 0x0080
6875pp_data->cap[142]->IsMultipleItemsForArray = 0
6876pp_data->cap[142]->IsButtonCap = 0
6877pp_data->cap[142]->IsPadding = 0
6878pp_data->cap[142]->IsAbsolute = 1
6879pp_data->cap[142]->IsRange = 0
6880pp_data->cap[142]->IsAlias = 0
6881pp_data->cap[142]->IsStringRange = 0
6882pp_data->cap[142]->IsDesignatorRange = 0
6883pp_data->cap[142]->Reserved1 = 0x000000
6884pp_data->cap[142]->pp_cap->UnknownTokens[0].Token = 0x00
6885pp_data->cap[142]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6886pp_data->cap[142]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6887pp_data->cap[142]->pp_cap->UnknownTokens[1].Token = 0x00
6888pp_data->cap[142]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6889pp_data->cap[142]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6890pp_data->cap[142]->pp_cap->UnknownTokens[2].Token = 0x00
6891pp_data->cap[142]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6892pp_data->cap[142]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6893pp_data->cap[142]->pp_cap->UnknownTokens[3].Token = 0x00
6894pp_data->cap[142]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6895pp_data->cap[142]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6896pp_data->cap[142]->NotRange.Usage = 0x0081
6897pp_data->cap[142]->NotRange.Reserved1 = 0x0081
6898pp_data->cap[142]->NotRange.StringIndex = 0
6899pp_data->cap[142]->NotRange.Reserved2 = 0
6900pp_data->cap[142]->NotRange.DesignatorIndex = 0
6901pp_data->cap[142]->NotRange.Reserved3 = 0
6902pp_data->cap[142]->NotRange.DataIndex = 55
6903pp_data->cap[142]->NotRange.Reserved4 = 55
6904pp_data->cap[142]->NotButton.HasNull = 0
6905pp_data->cap[142]->NotButton.Reserved4 = 0x000000
6906pp_data->cap[142]->NotButton.LogicalMin = 0
6907pp_data->cap[142]->NotButton.LogicalMax = 127
6908pp_data->cap[142]->NotButton.PhysicalMin = 0
6909pp_data->cap[142]->NotButton.PhysicalMax = 0
6910pp_data->cap[142]->Units = 0
6911pp_data->cap[142]->UnitsExp = 0
6912
6913pp_data->cap[143]->UsagePage = 0xFF01
6914pp_data->cap[143]->ReportID = 0x80
6915pp_data->cap[143]->BitPosition = 0
6916pp_data->cap[143]->BitSize = 8
6917pp_data->cap[143]->ReportCount = 1
6918pp_data->cap[143]->BytePosition = 0x0026
6919pp_data->cap[143]->BitCount = 8
6920pp_data->cap[143]->BitField = 0x02
6921pp_data->cap[143]->NextBytePosition = 0x0027
6922pp_data->cap[143]->LinkCollection = 0x0003
6923pp_data->cap[143]->LinkUsagePage = 0xFF01
6924pp_data->cap[143]->LinkUsage = 0x0080
6925pp_data->cap[143]->IsMultipleItemsForArray = 0
6926pp_data->cap[143]->IsButtonCap = 0
6927pp_data->cap[143]->IsPadding = 0
6928pp_data->cap[143]->IsAbsolute = 1
6929pp_data->cap[143]->IsRange = 0
6930pp_data->cap[143]->IsAlias = 0
6931pp_data->cap[143]->IsStringRange = 0
6932pp_data->cap[143]->IsDesignatorRange = 0
6933pp_data->cap[143]->Reserved1 = 0x000000
6934pp_data->cap[143]->pp_cap->UnknownTokens[0].Token = 0x00
6935pp_data->cap[143]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6936pp_data->cap[143]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6937pp_data->cap[143]->pp_cap->UnknownTokens[1].Token = 0x00
6938pp_data->cap[143]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6939pp_data->cap[143]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6940pp_data->cap[143]->pp_cap->UnknownTokens[2].Token = 0x00
6941pp_data->cap[143]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6942pp_data->cap[143]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6943pp_data->cap[143]->pp_cap->UnknownTokens[3].Token = 0x00
6944pp_data->cap[143]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6945pp_data->cap[143]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6946pp_data->cap[143]->NotRange.Usage = 0x0081
6947pp_data->cap[143]->NotRange.Reserved1 = 0x0081
6948pp_data->cap[143]->NotRange.StringIndex = 0
6949pp_data->cap[143]->NotRange.Reserved2 = 0
6950pp_data->cap[143]->NotRange.DesignatorIndex = 0
6951pp_data->cap[143]->NotRange.Reserved3 = 0
6952pp_data->cap[143]->NotRange.DataIndex = 56
6953pp_data->cap[143]->NotRange.Reserved4 = 56
6954pp_data->cap[143]->NotButton.HasNull = 0
6955pp_data->cap[143]->NotButton.Reserved4 = 0x000000
6956pp_data->cap[143]->NotButton.LogicalMin = 0
6957pp_data->cap[143]->NotButton.LogicalMax = 127
6958pp_data->cap[143]->NotButton.PhysicalMin = 0
6959pp_data->cap[143]->NotButton.PhysicalMax = 0
6960pp_data->cap[143]->Units = 0
6961pp_data->cap[143]->UnitsExp = 0
6962
6963pp_data->cap[144]->UsagePage = 0xFF01
6964pp_data->cap[144]->ReportID = 0x80
6965pp_data->cap[144]->BitPosition = 0
6966pp_data->cap[144]->BitSize = 8
6967pp_data->cap[144]->ReportCount = 1
6968pp_data->cap[144]->BytePosition = 0x0025
6969pp_data->cap[144]->BitCount = 8
6970pp_data->cap[144]->BitField = 0x02
6971pp_data->cap[144]->NextBytePosition = 0x0026
6972pp_data->cap[144]->LinkCollection = 0x0003
6973pp_data->cap[144]->LinkUsagePage = 0xFF01
6974pp_data->cap[144]->LinkUsage = 0x0080
6975pp_data->cap[144]->IsMultipleItemsForArray = 0
6976pp_data->cap[144]->IsButtonCap = 0
6977pp_data->cap[144]->IsPadding = 0
6978pp_data->cap[144]->IsAbsolute = 1
6979pp_data->cap[144]->IsRange = 0
6980pp_data->cap[144]->IsAlias = 0
6981pp_data->cap[144]->IsStringRange = 0
6982pp_data->cap[144]->IsDesignatorRange = 0
6983pp_data->cap[144]->Reserved1 = 0x000000
6984pp_data->cap[144]->pp_cap->UnknownTokens[0].Token = 0x00
6985pp_data->cap[144]->pp_cap->UnknownTokens[0].Reserved = 0x000000
6986pp_data->cap[144]->pp_cap->UnknownTokens[0].BitField = 0x00000000
6987pp_data->cap[144]->pp_cap->UnknownTokens[1].Token = 0x00
6988pp_data->cap[144]->pp_cap->UnknownTokens[1].Reserved = 0x000000
6989pp_data->cap[144]->pp_cap->UnknownTokens[1].BitField = 0x00000000
6990pp_data->cap[144]->pp_cap->UnknownTokens[2].Token = 0x00
6991pp_data->cap[144]->pp_cap->UnknownTokens[2].Reserved = 0x000000
6992pp_data->cap[144]->pp_cap->UnknownTokens[2].BitField = 0x00000000
6993pp_data->cap[144]->pp_cap->UnknownTokens[3].Token = 0x00
6994pp_data->cap[144]->pp_cap->UnknownTokens[3].Reserved = 0x000000
6995pp_data->cap[144]->pp_cap->UnknownTokens[3].BitField = 0x00000000
6996pp_data->cap[144]->NotRange.Usage = 0x0081
6997pp_data->cap[144]->NotRange.Reserved1 = 0x0081
6998pp_data->cap[144]->NotRange.StringIndex = 0
6999pp_data->cap[144]->NotRange.Reserved2 = 0
7000pp_data->cap[144]->NotRange.DesignatorIndex = 0
7001pp_data->cap[144]->NotRange.Reserved3 = 0
7002pp_data->cap[144]->NotRange.DataIndex = 57
7003pp_data->cap[144]->NotRange.Reserved4 = 57
7004pp_data->cap[144]->NotButton.HasNull = 0
7005pp_data->cap[144]->NotButton.Reserved4 = 0x000000
7006pp_data->cap[144]->NotButton.LogicalMin = 0
7007pp_data->cap[144]->NotButton.LogicalMax = 127
7008pp_data->cap[144]->NotButton.PhysicalMin = 0
7009pp_data->cap[144]->NotButton.PhysicalMax = 0
7010pp_data->cap[144]->Units = 0
7011pp_data->cap[144]->UnitsExp = 0
7012
7013pp_data->cap[145]->UsagePage = 0xFF01
7014pp_data->cap[145]->ReportID = 0x80
7015pp_data->cap[145]->BitPosition = 0
7016pp_data->cap[145]->BitSize = 8
7017pp_data->cap[145]->ReportCount = 1
7018pp_data->cap[145]->BytePosition = 0x0024
7019pp_data->cap[145]->BitCount = 8
7020pp_data->cap[145]->BitField = 0x02
7021pp_data->cap[145]->NextBytePosition = 0x0025
7022pp_data->cap[145]->LinkCollection = 0x0003
7023pp_data->cap[145]->LinkUsagePage = 0xFF01
7024pp_data->cap[145]->LinkUsage = 0x0080
7025pp_data->cap[145]->IsMultipleItemsForArray = 0
7026pp_data->cap[145]->IsButtonCap = 0
7027pp_data->cap[145]->IsPadding = 0
7028pp_data->cap[145]->IsAbsolute = 1
7029pp_data->cap[145]->IsRange = 0
7030pp_data->cap[145]->IsAlias = 0
7031pp_data->cap[145]->IsStringRange = 0
7032pp_data->cap[145]->IsDesignatorRange = 0
7033pp_data->cap[145]->Reserved1 = 0x000000
7034pp_data->cap[145]->pp_cap->UnknownTokens[0].Token = 0x00
7035pp_data->cap[145]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7036pp_data->cap[145]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7037pp_data->cap[145]->pp_cap->UnknownTokens[1].Token = 0x00
7038pp_data->cap[145]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7039pp_data->cap[145]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7040pp_data->cap[145]->pp_cap->UnknownTokens[2].Token = 0x00
7041pp_data->cap[145]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7042pp_data->cap[145]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7043pp_data->cap[145]->pp_cap->UnknownTokens[3].Token = 0x00
7044pp_data->cap[145]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7045pp_data->cap[145]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7046pp_data->cap[145]->NotRange.Usage = 0x0081
7047pp_data->cap[145]->NotRange.Reserved1 = 0x0081
7048pp_data->cap[145]->NotRange.StringIndex = 0
7049pp_data->cap[145]->NotRange.Reserved2 = 0
7050pp_data->cap[145]->NotRange.DesignatorIndex = 0
7051pp_data->cap[145]->NotRange.Reserved3 = 0
7052pp_data->cap[145]->NotRange.DataIndex = 58
7053pp_data->cap[145]->NotRange.Reserved4 = 58
7054pp_data->cap[145]->NotButton.HasNull = 0
7055pp_data->cap[145]->NotButton.Reserved4 = 0x000000
7056pp_data->cap[145]->NotButton.LogicalMin = 0
7057pp_data->cap[145]->NotButton.LogicalMax = 127
7058pp_data->cap[145]->NotButton.PhysicalMin = 0
7059pp_data->cap[145]->NotButton.PhysicalMax = 0
7060pp_data->cap[145]->Units = 0
7061pp_data->cap[145]->UnitsExp = 0
7062
7063pp_data->cap[146]->UsagePage = 0xFF01
7064pp_data->cap[146]->ReportID = 0x80
7065pp_data->cap[146]->BitPosition = 0
7066pp_data->cap[146]->BitSize = 8
7067pp_data->cap[146]->ReportCount = 1
7068pp_data->cap[146]->BytePosition = 0x0023
7069pp_data->cap[146]->BitCount = 8
7070pp_data->cap[146]->BitField = 0x02
7071pp_data->cap[146]->NextBytePosition = 0x0024
7072pp_data->cap[146]->LinkCollection = 0x0003
7073pp_data->cap[146]->LinkUsagePage = 0xFF01
7074pp_data->cap[146]->LinkUsage = 0x0080
7075pp_data->cap[146]->IsMultipleItemsForArray = 0
7076pp_data->cap[146]->IsButtonCap = 0
7077pp_data->cap[146]->IsPadding = 0
7078pp_data->cap[146]->IsAbsolute = 1
7079pp_data->cap[146]->IsRange = 0
7080pp_data->cap[146]->IsAlias = 0
7081pp_data->cap[146]->IsStringRange = 0
7082pp_data->cap[146]->IsDesignatorRange = 0
7083pp_data->cap[146]->Reserved1 = 0x000000
7084pp_data->cap[146]->pp_cap->UnknownTokens[0].Token = 0x00
7085pp_data->cap[146]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7086pp_data->cap[146]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7087pp_data->cap[146]->pp_cap->UnknownTokens[1].Token = 0x00
7088pp_data->cap[146]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7089pp_data->cap[146]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7090pp_data->cap[146]->pp_cap->UnknownTokens[2].Token = 0x00
7091pp_data->cap[146]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7092pp_data->cap[146]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7093pp_data->cap[146]->pp_cap->UnknownTokens[3].Token = 0x00
7094pp_data->cap[146]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7095pp_data->cap[146]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7096pp_data->cap[146]->NotRange.Usage = 0x0081
7097pp_data->cap[146]->NotRange.Reserved1 = 0x0081
7098pp_data->cap[146]->NotRange.StringIndex = 0
7099pp_data->cap[146]->NotRange.Reserved2 = 0
7100pp_data->cap[146]->NotRange.DesignatorIndex = 0
7101pp_data->cap[146]->NotRange.Reserved3 = 0
7102pp_data->cap[146]->NotRange.DataIndex = 59
7103pp_data->cap[146]->NotRange.Reserved4 = 59
7104pp_data->cap[146]->NotButton.HasNull = 0
7105pp_data->cap[146]->NotButton.Reserved4 = 0x000000
7106pp_data->cap[146]->NotButton.LogicalMin = 0
7107pp_data->cap[146]->NotButton.LogicalMax = 127
7108pp_data->cap[146]->NotButton.PhysicalMin = 0
7109pp_data->cap[146]->NotButton.PhysicalMax = 0
7110pp_data->cap[146]->Units = 0
7111pp_data->cap[146]->UnitsExp = 0
7112
7113pp_data->cap[147]->UsagePage = 0xFF01
7114pp_data->cap[147]->ReportID = 0x80
7115pp_data->cap[147]->BitPosition = 0
7116pp_data->cap[147]->BitSize = 8
7117pp_data->cap[147]->ReportCount = 1
7118pp_data->cap[147]->BytePosition = 0x0022
7119pp_data->cap[147]->BitCount = 8
7120pp_data->cap[147]->BitField = 0x02
7121pp_data->cap[147]->NextBytePosition = 0x0023
7122pp_data->cap[147]->LinkCollection = 0x0003
7123pp_data->cap[147]->LinkUsagePage = 0xFF01
7124pp_data->cap[147]->LinkUsage = 0x0080
7125pp_data->cap[147]->IsMultipleItemsForArray = 0
7126pp_data->cap[147]->IsButtonCap = 0
7127pp_data->cap[147]->IsPadding = 0
7128pp_data->cap[147]->IsAbsolute = 1
7129pp_data->cap[147]->IsRange = 0
7130pp_data->cap[147]->IsAlias = 0
7131pp_data->cap[147]->IsStringRange = 0
7132pp_data->cap[147]->IsDesignatorRange = 0
7133pp_data->cap[147]->Reserved1 = 0x000000
7134pp_data->cap[147]->pp_cap->UnknownTokens[0].Token = 0x00
7135pp_data->cap[147]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7136pp_data->cap[147]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7137pp_data->cap[147]->pp_cap->UnknownTokens[1].Token = 0x00
7138pp_data->cap[147]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7139pp_data->cap[147]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7140pp_data->cap[147]->pp_cap->UnknownTokens[2].Token = 0x00
7141pp_data->cap[147]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7142pp_data->cap[147]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7143pp_data->cap[147]->pp_cap->UnknownTokens[3].Token = 0x00
7144pp_data->cap[147]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7145pp_data->cap[147]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7146pp_data->cap[147]->NotRange.Usage = 0x0081
7147pp_data->cap[147]->NotRange.Reserved1 = 0x0081
7148pp_data->cap[147]->NotRange.StringIndex = 0
7149pp_data->cap[147]->NotRange.Reserved2 = 0
7150pp_data->cap[147]->NotRange.DesignatorIndex = 0
7151pp_data->cap[147]->NotRange.Reserved3 = 0
7152pp_data->cap[147]->NotRange.DataIndex = 60
7153pp_data->cap[147]->NotRange.Reserved4 = 60
7154pp_data->cap[147]->NotButton.HasNull = 0
7155pp_data->cap[147]->NotButton.Reserved4 = 0x000000
7156pp_data->cap[147]->NotButton.LogicalMin = 0
7157pp_data->cap[147]->NotButton.LogicalMax = 127
7158pp_data->cap[147]->NotButton.PhysicalMin = 0
7159pp_data->cap[147]->NotButton.PhysicalMax = 0
7160pp_data->cap[147]->Units = 0
7161pp_data->cap[147]->UnitsExp = 0
7162
7163pp_data->cap[148]->UsagePage = 0xFF01
7164pp_data->cap[148]->ReportID = 0x80
7165pp_data->cap[148]->BitPosition = 0
7166pp_data->cap[148]->BitSize = 8
7167pp_data->cap[148]->ReportCount = 1
7168pp_data->cap[148]->BytePosition = 0x0021
7169pp_data->cap[148]->BitCount = 8
7170pp_data->cap[148]->BitField = 0x02
7171pp_data->cap[148]->NextBytePosition = 0x0022
7172pp_data->cap[148]->LinkCollection = 0x0003
7173pp_data->cap[148]->LinkUsagePage = 0xFF01
7174pp_data->cap[148]->LinkUsage = 0x0080
7175pp_data->cap[148]->IsMultipleItemsForArray = 0
7176pp_data->cap[148]->IsButtonCap = 0
7177pp_data->cap[148]->IsPadding = 0
7178pp_data->cap[148]->IsAbsolute = 1
7179pp_data->cap[148]->IsRange = 0
7180pp_data->cap[148]->IsAlias = 0
7181pp_data->cap[148]->IsStringRange = 0
7182pp_data->cap[148]->IsDesignatorRange = 0
7183pp_data->cap[148]->Reserved1 = 0x000000
7184pp_data->cap[148]->pp_cap->UnknownTokens[0].Token = 0x00
7185pp_data->cap[148]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7186pp_data->cap[148]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7187pp_data->cap[148]->pp_cap->UnknownTokens[1].Token = 0x00
7188pp_data->cap[148]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7189pp_data->cap[148]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7190pp_data->cap[148]->pp_cap->UnknownTokens[2].Token = 0x00
7191pp_data->cap[148]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7192pp_data->cap[148]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7193pp_data->cap[148]->pp_cap->UnknownTokens[3].Token = 0x00
7194pp_data->cap[148]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7195pp_data->cap[148]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7196pp_data->cap[148]->NotRange.Usage = 0x0081
7197pp_data->cap[148]->NotRange.Reserved1 = 0x0081
7198pp_data->cap[148]->NotRange.StringIndex = 0
7199pp_data->cap[148]->NotRange.Reserved2 = 0
7200pp_data->cap[148]->NotRange.DesignatorIndex = 0
7201pp_data->cap[148]->NotRange.Reserved3 = 0
7202pp_data->cap[148]->NotRange.DataIndex = 61
7203pp_data->cap[148]->NotRange.Reserved4 = 61
7204pp_data->cap[148]->NotButton.HasNull = 0
7205pp_data->cap[148]->NotButton.Reserved4 = 0x000000
7206pp_data->cap[148]->NotButton.LogicalMin = 0
7207pp_data->cap[148]->NotButton.LogicalMax = 127
7208pp_data->cap[148]->NotButton.PhysicalMin = 0
7209pp_data->cap[148]->NotButton.PhysicalMax = 0
7210pp_data->cap[148]->Units = 0
7211pp_data->cap[148]->UnitsExp = 0
7212
7213pp_data->cap[149]->UsagePage = 0xFF01
7214pp_data->cap[149]->ReportID = 0x80
7215pp_data->cap[149]->BitPosition = 0
7216pp_data->cap[149]->BitSize = 8
7217pp_data->cap[149]->ReportCount = 1
7218pp_data->cap[149]->BytePosition = 0x0020
7219pp_data->cap[149]->BitCount = 8
7220pp_data->cap[149]->BitField = 0x02
7221pp_data->cap[149]->NextBytePosition = 0x0021
7222pp_data->cap[149]->LinkCollection = 0x0003
7223pp_data->cap[149]->LinkUsagePage = 0xFF01
7224pp_data->cap[149]->LinkUsage = 0x0080
7225pp_data->cap[149]->IsMultipleItemsForArray = 0
7226pp_data->cap[149]->IsButtonCap = 0
7227pp_data->cap[149]->IsPadding = 0
7228pp_data->cap[149]->IsAbsolute = 1
7229pp_data->cap[149]->IsRange = 0
7230pp_data->cap[149]->IsAlias = 0
7231pp_data->cap[149]->IsStringRange = 0
7232pp_data->cap[149]->IsDesignatorRange = 0
7233pp_data->cap[149]->Reserved1 = 0x000000
7234pp_data->cap[149]->pp_cap->UnknownTokens[0].Token = 0x00
7235pp_data->cap[149]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7236pp_data->cap[149]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7237pp_data->cap[149]->pp_cap->UnknownTokens[1].Token = 0x00
7238pp_data->cap[149]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7239pp_data->cap[149]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7240pp_data->cap[149]->pp_cap->UnknownTokens[2].Token = 0x00
7241pp_data->cap[149]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7242pp_data->cap[149]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7243pp_data->cap[149]->pp_cap->UnknownTokens[3].Token = 0x00
7244pp_data->cap[149]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7245pp_data->cap[149]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7246pp_data->cap[149]->NotRange.Usage = 0x0081
7247pp_data->cap[149]->NotRange.Reserved1 = 0x0081
7248pp_data->cap[149]->NotRange.StringIndex = 0
7249pp_data->cap[149]->NotRange.Reserved2 = 0
7250pp_data->cap[149]->NotRange.DesignatorIndex = 0
7251pp_data->cap[149]->NotRange.Reserved3 = 0
7252pp_data->cap[149]->NotRange.DataIndex = 62
7253pp_data->cap[149]->NotRange.Reserved4 = 62
7254pp_data->cap[149]->NotButton.HasNull = 0
7255pp_data->cap[149]->NotButton.Reserved4 = 0x000000
7256pp_data->cap[149]->NotButton.LogicalMin = 0
7257pp_data->cap[149]->NotButton.LogicalMax = 127
7258pp_data->cap[149]->NotButton.PhysicalMin = 0
7259pp_data->cap[149]->NotButton.PhysicalMax = 0
7260pp_data->cap[149]->Units = 0
7261pp_data->cap[149]->UnitsExp = 0
7262
7263pp_data->cap[150]->UsagePage = 0xFF01
7264pp_data->cap[150]->ReportID = 0x80
7265pp_data->cap[150]->BitPosition = 0
7266pp_data->cap[150]->BitSize = 8
7267pp_data->cap[150]->ReportCount = 1
7268pp_data->cap[150]->BytePosition = 0x001F
7269pp_data->cap[150]->BitCount = 8
7270pp_data->cap[150]->BitField = 0x02
7271pp_data->cap[150]->NextBytePosition = 0x0020
7272pp_data->cap[150]->LinkCollection = 0x0003
7273pp_data->cap[150]->LinkUsagePage = 0xFF01
7274pp_data->cap[150]->LinkUsage = 0x0080
7275pp_data->cap[150]->IsMultipleItemsForArray = 0
7276pp_data->cap[150]->IsButtonCap = 0
7277pp_data->cap[150]->IsPadding = 0
7278pp_data->cap[150]->IsAbsolute = 1
7279pp_data->cap[150]->IsRange = 0
7280pp_data->cap[150]->IsAlias = 0
7281pp_data->cap[150]->IsStringRange = 0
7282pp_data->cap[150]->IsDesignatorRange = 0
7283pp_data->cap[150]->Reserved1 = 0x000000
7284pp_data->cap[150]->pp_cap->UnknownTokens[0].Token = 0x00
7285pp_data->cap[150]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7286pp_data->cap[150]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7287pp_data->cap[150]->pp_cap->UnknownTokens[1].Token = 0x00
7288pp_data->cap[150]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7289pp_data->cap[150]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7290pp_data->cap[150]->pp_cap->UnknownTokens[2].Token = 0x00
7291pp_data->cap[150]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7292pp_data->cap[150]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7293pp_data->cap[150]->pp_cap->UnknownTokens[3].Token = 0x00
7294pp_data->cap[150]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7295pp_data->cap[150]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7296pp_data->cap[150]->NotRange.Usage = 0x0081
7297pp_data->cap[150]->NotRange.Reserved1 = 0x0081
7298pp_data->cap[150]->NotRange.StringIndex = 0
7299pp_data->cap[150]->NotRange.Reserved2 = 0
7300pp_data->cap[150]->NotRange.DesignatorIndex = 0
7301pp_data->cap[150]->NotRange.Reserved3 = 0
7302pp_data->cap[150]->NotRange.DataIndex = 63
7303pp_data->cap[150]->NotRange.Reserved4 = 63
7304pp_data->cap[150]->NotButton.HasNull = 0
7305pp_data->cap[150]->NotButton.Reserved4 = 0x000000
7306pp_data->cap[150]->NotButton.LogicalMin = 0
7307pp_data->cap[150]->NotButton.LogicalMax = 127
7308pp_data->cap[150]->NotButton.PhysicalMin = 0
7309pp_data->cap[150]->NotButton.PhysicalMax = 0
7310pp_data->cap[150]->Units = 0
7311pp_data->cap[150]->UnitsExp = 0
7312
7313pp_data->cap[151]->UsagePage = 0xFF01
7314pp_data->cap[151]->ReportID = 0x80
7315pp_data->cap[151]->BitPosition = 0
7316pp_data->cap[151]->BitSize = 8
7317pp_data->cap[151]->ReportCount = 1
7318pp_data->cap[151]->BytePosition = 0x001E
7319pp_data->cap[151]->BitCount = 8
7320pp_data->cap[151]->BitField = 0x02
7321pp_data->cap[151]->NextBytePosition = 0x001F
7322pp_data->cap[151]->LinkCollection = 0x0003
7323pp_data->cap[151]->LinkUsagePage = 0xFF01
7324pp_data->cap[151]->LinkUsage = 0x0080
7325pp_data->cap[151]->IsMultipleItemsForArray = 0
7326pp_data->cap[151]->IsButtonCap = 0
7327pp_data->cap[151]->IsPadding = 0
7328pp_data->cap[151]->IsAbsolute = 1
7329pp_data->cap[151]->IsRange = 0
7330pp_data->cap[151]->IsAlias = 0
7331pp_data->cap[151]->IsStringRange = 0
7332pp_data->cap[151]->IsDesignatorRange = 0
7333pp_data->cap[151]->Reserved1 = 0x000000
7334pp_data->cap[151]->pp_cap->UnknownTokens[0].Token = 0x00
7335pp_data->cap[151]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7336pp_data->cap[151]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7337pp_data->cap[151]->pp_cap->UnknownTokens[1].Token = 0x00
7338pp_data->cap[151]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7339pp_data->cap[151]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7340pp_data->cap[151]->pp_cap->UnknownTokens[2].Token = 0x00
7341pp_data->cap[151]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7342pp_data->cap[151]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7343pp_data->cap[151]->pp_cap->UnknownTokens[3].Token = 0x00
7344pp_data->cap[151]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7345pp_data->cap[151]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7346pp_data->cap[151]->NotRange.Usage = 0x0081
7347pp_data->cap[151]->NotRange.Reserved1 = 0x0081
7348pp_data->cap[151]->NotRange.StringIndex = 0
7349pp_data->cap[151]->NotRange.Reserved2 = 0
7350pp_data->cap[151]->NotRange.DesignatorIndex = 0
7351pp_data->cap[151]->NotRange.Reserved3 = 0
7352pp_data->cap[151]->NotRange.DataIndex = 64
7353pp_data->cap[151]->NotRange.Reserved4 = 64
7354pp_data->cap[151]->NotButton.HasNull = 0
7355pp_data->cap[151]->NotButton.Reserved4 = 0x000000
7356pp_data->cap[151]->NotButton.LogicalMin = 0
7357pp_data->cap[151]->NotButton.LogicalMax = 127
7358pp_data->cap[151]->NotButton.PhysicalMin = 0
7359pp_data->cap[151]->NotButton.PhysicalMax = 0
7360pp_data->cap[151]->Units = 0
7361pp_data->cap[151]->UnitsExp = 0
7362
7363pp_data->cap[152]->UsagePage = 0xFF01
7364pp_data->cap[152]->ReportID = 0x80
7365pp_data->cap[152]->BitPosition = 0
7366pp_data->cap[152]->BitSize = 8
7367pp_data->cap[152]->ReportCount = 1
7368pp_data->cap[152]->BytePosition = 0x001D
7369pp_data->cap[152]->BitCount = 8
7370pp_data->cap[152]->BitField = 0x02
7371pp_data->cap[152]->NextBytePosition = 0x001E
7372pp_data->cap[152]->LinkCollection = 0x0003
7373pp_data->cap[152]->LinkUsagePage = 0xFF01
7374pp_data->cap[152]->LinkUsage = 0x0080
7375pp_data->cap[152]->IsMultipleItemsForArray = 0
7376pp_data->cap[152]->IsButtonCap = 0
7377pp_data->cap[152]->IsPadding = 0
7378pp_data->cap[152]->IsAbsolute = 1
7379pp_data->cap[152]->IsRange = 0
7380pp_data->cap[152]->IsAlias = 0
7381pp_data->cap[152]->IsStringRange = 0
7382pp_data->cap[152]->IsDesignatorRange = 0
7383pp_data->cap[152]->Reserved1 = 0x000000
7384pp_data->cap[152]->pp_cap->UnknownTokens[0].Token = 0x00
7385pp_data->cap[152]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7386pp_data->cap[152]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7387pp_data->cap[152]->pp_cap->UnknownTokens[1].Token = 0x00
7388pp_data->cap[152]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7389pp_data->cap[152]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7390pp_data->cap[152]->pp_cap->UnknownTokens[2].Token = 0x00
7391pp_data->cap[152]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7392pp_data->cap[152]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7393pp_data->cap[152]->pp_cap->UnknownTokens[3].Token = 0x00
7394pp_data->cap[152]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7395pp_data->cap[152]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7396pp_data->cap[152]->NotRange.Usage = 0x0081
7397pp_data->cap[152]->NotRange.Reserved1 = 0x0081
7398pp_data->cap[152]->NotRange.StringIndex = 0
7399pp_data->cap[152]->NotRange.Reserved2 = 0
7400pp_data->cap[152]->NotRange.DesignatorIndex = 0
7401pp_data->cap[152]->NotRange.Reserved3 = 0
7402pp_data->cap[152]->NotRange.DataIndex = 65
7403pp_data->cap[152]->NotRange.Reserved4 = 65
7404pp_data->cap[152]->NotButton.HasNull = 0
7405pp_data->cap[152]->NotButton.Reserved4 = 0x000000
7406pp_data->cap[152]->NotButton.LogicalMin = 0
7407pp_data->cap[152]->NotButton.LogicalMax = 127
7408pp_data->cap[152]->NotButton.PhysicalMin = 0
7409pp_data->cap[152]->NotButton.PhysicalMax = 0
7410pp_data->cap[152]->Units = 0
7411pp_data->cap[152]->UnitsExp = 0
7412
7413pp_data->cap[153]->UsagePage = 0xFF01
7414pp_data->cap[153]->ReportID = 0x80
7415pp_data->cap[153]->BitPosition = 0
7416pp_data->cap[153]->BitSize = 8
7417pp_data->cap[153]->ReportCount = 1
7418pp_data->cap[153]->BytePosition = 0x001C
7419pp_data->cap[153]->BitCount = 8
7420pp_data->cap[153]->BitField = 0x02
7421pp_data->cap[153]->NextBytePosition = 0x001D
7422pp_data->cap[153]->LinkCollection = 0x0003
7423pp_data->cap[153]->LinkUsagePage = 0xFF01
7424pp_data->cap[153]->LinkUsage = 0x0080
7425pp_data->cap[153]->IsMultipleItemsForArray = 0
7426pp_data->cap[153]->IsButtonCap = 0
7427pp_data->cap[153]->IsPadding = 0
7428pp_data->cap[153]->IsAbsolute = 1
7429pp_data->cap[153]->IsRange = 0
7430pp_data->cap[153]->IsAlias = 0
7431pp_data->cap[153]->IsStringRange = 0
7432pp_data->cap[153]->IsDesignatorRange = 0
7433pp_data->cap[153]->Reserved1 = 0x000000
7434pp_data->cap[153]->pp_cap->UnknownTokens[0].Token = 0x00
7435pp_data->cap[153]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7436pp_data->cap[153]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7437pp_data->cap[153]->pp_cap->UnknownTokens[1].Token = 0x00
7438pp_data->cap[153]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7439pp_data->cap[153]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7440pp_data->cap[153]->pp_cap->UnknownTokens[2].Token = 0x00
7441pp_data->cap[153]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7442pp_data->cap[153]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7443pp_data->cap[153]->pp_cap->UnknownTokens[3].Token = 0x00
7444pp_data->cap[153]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7445pp_data->cap[153]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7446pp_data->cap[153]->NotRange.Usage = 0x0081
7447pp_data->cap[153]->NotRange.Reserved1 = 0x0081
7448pp_data->cap[153]->NotRange.StringIndex = 0
7449pp_data->cap[153]->NotRange.Reserved2 = 0
7450pp_data->cap[153]->NotRange.DesignatorIndex = 0
7451pp_data->cap[153]->NotRange.Reserved3 = 0
7452pp_data->cap[153]->NotRange.DataIndex = 66
7453pp_data->cap[153]->NotRange.Reserved4 = 66
7454pp_data->cap[153]->NotButton.HasNull = 0
7455pp_data->cap[153]->NotButton.Reserved4 = 0x000000
7456pp_data->cap[153]->NotButton.LogicalMin = 0
7457pp_data->cap[153]->NotButton.LogicalMax = 127
7458pp_data->cap[153]->NotButton.PhysicalMin = 0
7459pp_data->cap[153]->NotButton.PhysicalMax = 0
7460pp_data->cap[153]->Units = 0
7461pp_data->cap[153]->UnitsExp = 0
7462
7463pp_data->cap[154]->UsagePage = 0xFF01
7464pp_data->cap[154]->ReportID = 0x80
7465pp_data->cap[154]->BitPosition = 0
7466pp_data->cap[154]->BitSize = 8
7467pp_data->cap[154]->ReportCount = 1
7468pp_data->cap[154]->BytePosition = 0x001B
7469pp_data->cap[154]->BitCount = 8
7470pp_data->cap[154]->BitField = 0x02
7471pp_data->cap[154]->NextBytePosition = 0x001C
7472pp_data->cap[154]->LinkCollection = 0x0003
7473pp_data->cap[154]->LinkUsagePage = 0xFF01
7474pp_data->cap[154]->LinkUsage = 0x0080
7475pp_data->cap[154]->IsMultipleItemsForArray = 0
7476pp_data->cap[154]->IsButtonCap = 0
7477pp_data->cap[154]->IsPadding = 0
7478pp_data->cap[154]->IsAbsolute = 1
7479pp_data->cap[154]->IsRange = 0
7480pp_data->cap[154]->IsAlias = 0
7481pp_data->cap[154]->IsStringRange = 0
7482pp_data->cap[154]->IsDesignatorRange = 0
7483pp_data->cap[154]->Reserved1 = 0x000000
7484pp_data->cap[154]->pp_cap->UnknownTokens[0].Token = 0x00
7485pp_data->cap[154]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7486pp_data->cap[154]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7487pp_data->cap[154]->pp_cap->UnknownTokens[1].Token = 0x00
7488pp_data->cap[154]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7489pp_data->cap[154]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7490pp_data->cap[154]->pp_cap->UnknownTokens[2].Token = 0x00
7491pp_data->cap[154]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7492pp_data->cap[154]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7493pp_data->cap[154]->pp_cap->UnknownTokens[3].Token = 0x00
7494pp_data->cap[154]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7495pp_data->cap[154]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7496pp_data->cap[154]->NotRange.Usage = 0x0081
7497pp_data->cap[154]->NotRange.Reserved1 = 0x0081
7498pp_data->cap[154]->NotRange.StringIndex = 0
7499pp_data->cap[154]->NotRange.Reserved2 = 0
7500pp_data->cap[154]->NotRange.DesignatorIndex = 0
7501pp_data->cap[154]->NotRange.Reserved3 = 0
7502pp_data->cap[154]->NotRange.DataIndex = 67
7503pp_data->cap[154]->NotRange.Reserved4 = 67
7504pp_data->cap[154]->NotButton.HasNull = 0
7505pp_data->cap[154]->NotButton.Reserved4 = 0x000000
7506pp_data->cap[154]->NotButton.LogicalMin = 0
7507pp_data->cap[154]->NotButton.LogicalMax = 127
7508pp_data->cap[154]->NotButton.PhysicalMin = 0
7509pp_data->cap[154]->NotButton.PhysicalMax = 0
7510pp_data->cap[154]->Units = 0
7511pp_data->cap[154]->UnitsExp = 0
7512
7513pp_data->cap[155]->UsagePage = 0xFF01
7514pp_data->cap[155]->ReportID = 0x80
7515pp_data->cap[155]->BitPosition = 0
7516pp_data->cap[155]->BitSize = 8
7517pp_data->cap[155]->ReportCount = 1
7518pp_data->cap[155]->BytePosition = 0x001A
7519pp_data->cap[155]->BitCount = 8
7520pp_data->cap[155]->BitField = 0x02
7521pp_data->cap[155]->NextBytePosition = 0x001B
7522pp_data->cap[155]->LinkCollection = 0x0003
7523pp_data->cap[155]->LinkUsagePage = 0xFF01
7524pp_data->cap[155]->LinkUsage = 0x0080
7525pp_data->cap[155]->IsMultipleItemsForArray = 0
7526pp_data->cap[155]->IsButtonCap = 0
7527pp_data->cap[155]->IsPadding = 0
7528pp_data->cap[155]->IsAbsolute = 1
7529pp_data->cap[155]->IsRange = 0
7530pp_data->cap[155]->IsAlias = 0
7531pp_data->cap[155]->IsStringRange = 0
7532pp_data->cap[155]->IsDesignatorRange = 0
7533pp_data->cap[155]->Reserved1 = 0x000000
7534pp_data->cap[155]->pp_cap->UnknownTokens[0].Token = 0x00
7535pp_data->cap[155]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7536pp_data->cap[155]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7537pp_data->cap[155]->pp_cap->UnknownTokens[1].Token = 0x00
7538pp_data->cap[155]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7539pp_data->cap[155]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7540pp_data->cap[155]->pp_cap->UnknownTokens[2].Token = 0x00
7541pp_data->cap[155]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7542pp_data->cap[155]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7543pp_data->cap[155]->pp_cap->UnknownTokens[3].Token = 0x00
7544pp_data->cap[155]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7545pp_data->cap[155]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7546pp_data->cap[155]->NotRange.Usage = 0x0081
7547pp_data->cap[155]->NotRange.Reserved1 = 0x0081
7548pp_data->cap[155]->NotRange.StringIndex = 0
7549pp_data->cap[155]->NotRange.Reserved2 = 0
7550pp_data->cap[155]->NotRange.DesignatorIndex = 0
7551pp_data->cap[155]->NotRange.Reserved3 = 0
7552pp_data->cap[155]->NotRange.DataIndex = 68
7553pp_data->cap[155]->NotRange.Reserved4 = 68
7554pp_data->cap[155]->NotButton.HasNull = 0
7555pp_data->cap[155]->NotButton.Reserved4 = 0x000000
7556pp_data->cap[155]->NotButton.LogicalMin = 0
7557pp_data->cap[155]->NotButton.LogicalMax = 127
7558pp_data->cap[155]->NotButton.PhysicalMin = 0
7559pp_data->cap[155]->NotButton.PhysicalMax = 0
7560pp_data->cap[155]->Units = 0
7561pp_data->cap[155]->UnitsExp = 0
7562
7563pp_data->cap[156]->UsagePage = 0xFF01
7564pp_data->cap[156]->ReportID = 0x80
7565pp_data->cap[156]->BitPosition = 0
7566pp_data->cap[156]->BitSize = 8
7567pp_data->cap[156]->ReportCount = 1
7568pp_data->cap[156]->BytePosition = 0x0019
7569pp_data->cap[156]->BitCount = 8
7570pp_data->cap[156]->BitField = 0x02
7571pp_data->cap[156]->NextBytePosition = 0x001A
7572pp_data->cap[156]->LinkCollection = 0x0003
7573pp_data->cap[156]->LinkUsagePage = 0xFF01
7574pp_data->cap[156]->LinkUsage = 0x0080
7575pp_data->cap[156]->IsMultipleItemsForArray = 0
7576pp_data->cap[156]->IsButtonCap = 0
7577pp_data->cap[156]->IsPadding = 0
7578pp_data->cap[156]->IsAbsolute = 1
7579pp_data->cap[156]->IsRange = 0
7580pp_data->cap[156]->IsAlias = 0
7581pp_data->cap[156]->IsStringRange = 0
7582pp_data->cap[156]->IsDesignatorRange = 0
7583pp_data->cap[156]->Reserved1 = 0x000000
7584pp_data->cap[156]->pp_cap->UnknownTokens[0].Token = 0x00
7585pp_data->cap[156]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7586pp_data->cap[156]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7587pp_data->cap[156]->pp_cap->UnknownTokens[1].Token = 0x00
7588pp_data->cap[156]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7589pp_data->cap[156]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7590pp_data->cap[156]->pp_cap->UnknownTokens[2].Token = 0x00
7591pp_data->cap[156]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7592pp_data->cap[156]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7593pp_data->cap[156]->pp_cap->UnknownTokens[3].Token = 0x00
7594pp_data->cap[156]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7595pp_data->cap[156]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7596pp_data->cap[156]->NotRange.Usage = 0x0081
7597pp_data->cap[156]->NotRange.Reserved1 = 0x0081
7598pp_data->cap[156]->NotRange.StringIndex = 0
7599pp_data->cap[156]->NotRange.Reserved2 = 0
7600pp_data->cap[156]->NotRange.DesignatorIndex = 0
7601pp_data->cap[156]->NotRange.Reserved3 = 0
7602pp_data->cap[156]->NotRange.DataIndex = 69
7603pp_data->cap[156]->NotRange.Reserved4 = 69
7604pp_data->cap[156]->NotButton.HasNull = 0
7605pp_data->cap[156]->NotButton.Reserved4 = 0x000000
7606pp_data->cap[156]->NotButton.LogicalMin = 0
7607pp_data->cap[156]->NotButton.LogicalMax = 127
7608pp_data->cap[156]->NotButton.PhysicalMin = 0
7609pp_data->cap[156]->NotButton.PhysicalMax = 0
7610pp_data->cap[156]->Units = 0
7611pp_data->cap[156]->UnitsExp = 0
7612
7613pp_data->cap[157]->UsagePage = 0xFF01
7614pp_data->cap[157]->ReportID = 0x80
7615pp_data->cap[157]->BitPosition = 0
7616pp_data->cap[157]->BitSize = 8
7617pp_data->cap[157]->ReportCount = 1
7618pp_data->cap[157]->BytePosition = 0x0018
7619pp_data->cap[157]->BitCount = 8
7620pp_data->cap[157]->BitField = 0x02
7621pp_data->cap[157]->NextBytePosition = 0x0019
7622pp_data->cap[157]->LinkCollection = 0x0003
7623pp_data->cap[157]->LinkUsagePage = 0xFF01
7624pp_data->cap[157]->LinkUsage = 0x0080
7625pp_data->cap[157]->IsMultipleItemsForArray = 0
7626pp_data->cap[157]->IsButtonCap = 0
7627pp_data->cap[157]->IsPadding = 0
7628pp_data->cap[157]->IsAbsolute = 1
7629pp_data->cap[157]->IsRange = 0
7630pp_data->cap[157]->IsAlias = 0
7631pp_data->cap[157]->IsStringRange = 0
7632pp_data->cap[157]->IsDesignatorRange = 0
7633pp_data->cap[157]->Reserved1 = 0x000000
7634pp_data->cap[157]->pp_cap->UnknownTokens[0].Token = 0x00
7635pp_data->cap[157]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7636pp_data->cap[157]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7637pp_data->cap[157]->pp_cap->UnknownTokens[1].Token = 0x00
7638pp_data->cap[157]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7639pp_data->cap[157]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7640pp_data->cap[157]->pp_cap->UnknownTokens[2].Token = 0x00
7641pp_data->cap[157]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7642pp_data->cap[157]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7643pp_data->cap[157]->pp_cap->UnknownTokens[3].Token = 0x00
7644pp_data->cap[157]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7645pp_data->cap[157]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7646pp_data->cap[157]->NotRange.Usage = 0x0081
7647pp_data->cap[157]->NotRange.Reserved1 = 0x0081
7648pp_data->cap[157]->NotRange.StringIndex = 0
7649pp_data->cap[157]->NotRange.Reserved2 = 0
7650pp_data->cap[157]->NotRange.DesignatorIndex = 0
7651pp_data->cap[157]->NotRange.Reserved3 = 0
7652pp_data->cap[157]->NotRange.DataIndex = 70
7653pp_data->cap[157]->NotRange.Reserved4 = 70
7654pp_data->cap[157]->NotButton.HasNull = 0
7655pp_data->cap[157]->NotButton.Reserved4 = 0x000000
7656pp_data->cap[157]->NotButton.LogicalMin = 0
7657pp_data->cap[157]->NotButton.LogicalMax = 127
7658pp_data->cap[157]->NotButton.PhysicalMin = 0
7659pp_data->cap[157]->NotButton.PhysicalMax = 0
7660pp_data->cap[157]->Units = 0
7661pp_data->cap[157]->UnitsExp = 0
7662
7663pp_data->cap[158]->UsagePage = 0xFF01
7664pp_data->cap[158]->ReportID = 0x80
7665pp_data->cap[158]->BitPosition = 0
7666pp_data->cap[158]->BitSize = 8
7667pp_data->cap[158]->ReportCount = 1
7668pp_data->cap[158]->BytePosition = 0x0017
7669pp_data->cap[158]->BitCount = 8
7670pp_data->cap[158]->BitField = 0x02
7671pp_data->cap[158]->NextBytePosition = 0x0018
7672pp_data->cap[158]->LinkCollection = 0x0003
7673pp_data->cap[158]->LinkUsagePage = 0xFF01
7674pp_data->cap[158]->LinkUsage = 0x0080
7675pp_data->cap[158]->IsMultipleItemsForArray = 0
7676pp_data->cap[158]->IsButtonCap = 0
7677pp_data->cap[158]->IsPadding = 0
7678pp_data->cap[158]->IsAbsolute = 1
7679pp_data->cap[158]->IsRange = 0
7680pp_data->cap[158]->IsAlias = 0
7681pp_data->cap[158]->IsStringRange = 0
7682pp_data->cap[158]->IsDesignatorRange = 0
7683pp_data->cap[158]->Reserved1 = 0x000000
7684pp_data->cap[158]->pp_cap->UnknownTokens[0].Token = 0x00
7685pp_data->cap[158]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7686pp_data->cap[158]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7687pp_data->cap[158]->pp_cap->UnknownTokens[1].Token = 0x00
7688pp_data->cap[158]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7689pp_data->cap[158]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7690pp_data->cap[158]->pp_cap->UnknownTokens[2].Token = 0x00
7691pp_data->cap[158]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7692pp_data->cap[158]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7693pp_data->cap[158]->pp_cap->UnknownTokens[3].Token = 0x00
7694pp_data->cap[158]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7695pp_data->cap[158]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7696pp_data->cap[158]->NotRange.Usage = 0x0081
7697pp_data->cap[158]->NotRange.Reserved1 = 0x0081
7698pp_data->cap[158]->NotRange.StringIndex = 0
7699pp_data->cap[158]->NotRange.Reserved2 = 0
7700pp_data->cap[158]->NotRange.DesignatorIndex = 0
7701pp_data->cap[158]->NotRange.Reserved3 = 0
7702pp_data->cap[158]->NotRange.DataIndex = 71
7703pp_data->cap[158]->NotRange.Reserved4 = 71
7704pp_data->cap[158]->NotButton.HasNull = 0
7705pp_data->cap[158]->NotButton.Reserved4 = 0x000000
7706pp_data->cap[158]->NotButton.LogicalMin = 0
7707pp_data->cap[158]->NotButton.LogicalMax = 127
7708pp_data->cap[158]->NotButton.PhysicalMin = 0
7709pp_data->cap[158]->NotButton.PhysicalMax = 0
7710pp_data->cap[158]->Units = 0
7711pp_data->cap[158]->UnitsExp = 0
7712
7713pp_data->cap[159]->UsagePage = 0xFF01
7714pp_data->cap[159]->ReportID = 0x80
7715pp_data->cap[159]->BitPosition = 0
7716pp_data->cap[159]->BitSize = 8
7717pp_data->cap[159]->ReportCount = 1
7718pp_data->cap[159]->BytePosition = 0x0016
7719pp_data->cap[159]->BitCount = 8
7720pp_data->cap[159]->BitField = 0x02
7721pp_data->cap[159]->NextBytePosition = 0x0017
7722pp_data->cap[159]->LinkCollection = 0x0003
7723pp_data->cap[159]->LinkUsagePage = 0xFF01
7724pp_data->cap[159]->LinkUsage = 0x0080
7725pp_data->cap[159]->IsMultipleItemsForArray = 0
7726pp_data->cap[159]->IsButtonCap = 0
7727pp_data->cap[159]->IsPadding = 0
7728pp_data->cap[159]->IsAbsolute = 1
7729pp_data->cap[159]->IsRange = 0
7730pp_data->cap[159]->IsAlias = 0
7731pp_data->cap[159]->IsStringRange = 0
7732pp_data->cap[159]->IsDesignatorRange = 0
7733pp_data->cap[159]->Reserved1 = 0x000000
7734pp_data->cap[159]->pp_cap->UnknownTokens[0].Token = 0x00
7735pp_data->cap[159]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7736pp_data->cap[159]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7737pp_data->cap[159]->pp_cap->UnknownTokens[1].Token = 0x00
7738pp_data->cap[159]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7739pp_data->cap[159]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7740pp_data->cap[159]->pp_cap->UnknownTokens[2].Token = 0x00
7741pp_data->cap[159]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7742pp_data->cap[159]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7743pp_data->cap[159]->pp_cap->UnknownTokens[3].Token = 0x00
7744pp_data->cap[159]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7745pp_data->cap[159]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7746pp_data->cap[159]->NotRange.Usage = 0x0081
7747pp_data->cap[159]->NotRange.Reserved1 = 0x0081
7748pp_data->cap[159]->NotRange.StringIndex = 0
7749pp_data->cap[159]->NotRange.Reserved2 = 0
7750pp_data->cap[159]->NotRange.DesignatorIndex = 0
7751pp_data->cap[159]->NotRange.Reserved3 = 0
7752pp_data->cap[159]->NotRange.DataIndex = 72
7753pp_data->cap[159]->NotRange.Reserved4 = 72
7754pp_data->cap[159]->NotButton.HasNull = 0
7755pp_data->cap[159]->NotButton.Reserved4 = 0x000000
7756pp_data->cap[159]->NotButton.LogicalMin = 0
7757pp_data->cap[159]->NotButton.LogicalMax = 127
7758pp_data->cap[159]->NotButton.PhysicalMin = 0
7759pp_data->cap[159]->NotButton.PhysicalMax = 0
7760pp_data->cap[159]->Units = 0
7761pp_data->cap[159]->UnitsExp = 0
7762
7763pp_data->cap[160]->UsagePage = 0xFF01
7764pp_data->cap[160]->ReportID = 0x80
7765pp_data->cap[160]->BitPosition = 0
7766pp_data->cap[160]->BitSize = 8
7767pp_data->cap[160]->ReportCount = 1
7768pp_data->cap[160]->BytePosition = 0x0015
7769pp_data->cap[160]->BitCount = 8
7770pp_data->cap[160]->BitField = 0x02
7771pp_data->cap[160]->NextBytePosition = 0x0016
7772pp_data->cap[160]->LinkCollection = 0x0003
7773pp_data->cap[160]->LinkUsagePage = 0xFF01
7774pp_data->cap[160]->LinkUsage = 0x0080
7775pp_data->cap[160]->IsMultipleItemsForArray = 0
7776pp_data->cap[160]->IsButtonCap = 0
7777pp_data->cap[160]->IsPadding = 0
7778pp_data->cap[160]->IsAbsolute = 1
7779pp_data->cap[160]->IsRange = 0
7780pp_data->cap[160]->IsAlias = 0
7781pp_data->cap[160]->IsStringRange = 0
7782pp_data->cap[160]->IsDesignatorRange = 0
7783pp_data->cap[160]->Reserved1 = 0x000000
7784pp_data->cap[160]->pp_cap->UnknownTokens[0].Token = 0x00
7785pp_data->cap[160]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7786pp_data->cap[160]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7787pp_data->cap[160]->pp_cap->UnknownTokens[1].Token = 0x00
7788pp_data->cap[160]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7789pp_data->cap[160]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7790pp_data->cap[160]->pp_cap->UnknownTokens[2].Token = 0x00
7791pp_data->cap[160]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7792pp_data->cap[160]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7793pp_data->cap[160]->pp_cap->UnknownTokens[3].Token = 0x00
7794pp_data->cap[160]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7795pp_data->cap[160]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7796pp_data->cap[160]->NotRange.Usage = 0x0081
7797pp_data->cap[160]->NotRange.Reserved1 = 0x0081
7798pp_data->cap[160]->NotRange.StringIndex = 0
7799pp_data->cap[160]->NotRange.Reserved2 = 0
7800pp_data->cap[160]->NotRange.DesignatorIndex = 0
7801pp_data->cap[160]->NotRange.Reserved3 = 0
7802pp_data->cap[160]->NotRange.DataIndex = 73
7803pp_data->cap[160]->NotRange.Reserved4 = 73
7804pp_data->cap[160]->NotButton.HasNull = 0
7805pp_data->cap[160]->NotButton.Reserved4 = 0x000000
7806pp_data->cap[160]->NotButton.LogicalMin = 0
7807pp_data->cap[160]->NotButton.LogicalMax = 127
7808pp_data->cap[160]->NotButton.PhysicalMin = 0
7809pp_data->cap[160]->NotButton.PhysicalMax = 0
7810pp_data->cap[160]->Units = 0
7811pp_data->cap[160]->UnitsExp = 0
7812
7813pp_data->cap[161]->UsagePage = 0xFF01
7814pp_data->cap[161]->ReportID = 0x80
7815pp_data->cap[161]->BitPosition = 0
7816pp_data->cap[161]->BitSize = 8
7817pp_data->cap[161]->ReportCount = 1
7818pp_data->cap[161]->BytePosition = 0x0014
7819pp_data->cap[161]->BitCount = 8
7820pp_data->cap[161]->BitField = 0x02
7821pp_data->cap[161]->NextBytePosition = 0x0015
7822pp_data->cap[161]->LinkCollection = 0x0003
7823pp_data->cap[161]->LinkUsagePage = 0xFF01
7824pp_data->cap[161]->LinkUsage = 0x0080
7825pp_data->cap[161]->IsMultipleItemsForArray = 0
7826pp_data->cap[161]->IsButtonCap = 0
7827pp_data->cap[161]->IsPadding = 0
7828pp_data->cap[161]->IsAbsolute = 1
7829pp_data->cap[161]->IsRange = 0
7830pp_data->cap[161]->IsAlias = 0
7831pp_data->cap[161]->IsStringRange = 0
7832pp_data->cap[161]->IsDesignatorRange = 0
7833pp_data->cap[161]->Reserved1 = 0x000000
7834pp_data->cap[161]->pp_cap->UnknownTokens[0].Token = 0x00
7835pp_data->cap[161]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7836pp_data->cap[161]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7837pp_data->cap[161]->pp_cap->UnknownTokens[1].Token = 0x00
7838pp_data->cap[161]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7839pp_data->cap[161]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7840pp_data->cap[161]->pp_cap->UnknownTokens[2].Token = 0x00
7841pp_data->cap[161]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7842pp_data->cap[161]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7843pp_data->cap[161]->pp_cap->UnknownTokens[3].Token = 0x00
7844pp_data->cap[161]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7845pp_data->cap[161]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7846pp_data->cap[161]->NotRange.Usage = 0x0081
7847pp_data->cap[161]->NotRange.Reserved1 = 0x0081
7848pp_data->cap[161]->NotRange.StringIndex = 0
7849pp_data->cap[161]->NotRange.Reserved2 = 0
7850pp_data->cap[161]->NotRange.DesignatorIndex = 0
7851pp_data->cap[161]->NotRange.Reserved3 = 0
7852pp_data->cap[161]->NotRange.DataIndex = 74
7853pp_data->cap[161]->NotRange.Reserved4 = 74
7854pp_data->cap[161]->NotButton.HasNull = 0
7855pp_data->cap[161]->NotButton.Reserved4 = 0x000000
7856pp_data->cap[161]->NotButton.LogicalMin = 0
7857pp_data->cap[161]->NotButton.LogicalMax = 127
7858pp_data->cap[161]->NotButton.PhysicalMin = 0
7859pp_data->cap[161]->NotButton.PhysicalMax = 0
7860pp_data->cap[161]->Units = 0
7861pp_data->cap[161]->UnitsExp = 0
7862
7863pp_data->cap[162]->UsagePage = 0xFF01
7864pp_data->cap[162]->ReportID = 0x80
7865pp_data->cap[162]->BitPosition = 0
7866pp_data->cap[162]->BitSize = 8
7867pp_data->cap[162]->ReportCount = 1
7868pp_data->cap[162]->BytePosition = 0x0013
7869pp_data->cap[162]->BitCount = 8
7870pp_data->cap[162]->BitField = 0x02
7871pp_data->cap[162]->NextBytePosition = 0x0014
7872pp_data->cap[162]->LinkCollection = 0x0003
7873pp_data->cap[162]->LinkUsagePage = 0xFF01
7874pp_data->cap[162]->LinkUsage = 0x0080
7875pp_data->cap[162]->IsMultipleItemsForArray = 0
7876pp_data->cap[162]->IsButtonCap = 0
7877pp_data->cap[162]->IsPadding = 0
7878pp_data->cap[162]->IsAbsolute = 1
7879pp_data->cap[162]->IsRange = 0
7880pp_data->cap[162]->IsAlias = 0
7881pp_data->cap[162]->IsStringRange = 0
7882pp_data->cap[162]->IsDesignatorRange = 0
7883pp_data->cap[162]->Reserved1 = 0x000000
7884pp_data->cap[162]->pp_cap->UnknownTokens[0].Token = 0x00
7885pp_data->cap[162]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7886pp_data->cap[162]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7887pp_data->cap[162]->pp_cap->UnknownTokens[1].Token = 0x00
7888pp_data->cap[162]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7889pp_data->cap[162]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7890pp_data->cap[162]->pp_cap->UnknownTokens[2].Token = 0x00
7891pp_data->cap[162]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7892pp_data->cap[162]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7893pp_data->cap[162]->pp_cap->UnknownTokens[3].Token = 0x00
7894pp_data->cap[162]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7895pp_data->cap[162]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7896pp_data->cap[162]->NotRange.Usage = 0x0081
7897pp_data->cap[162]->NotRange.Reserved1 = 0x0081
7898pp_data->cap[162]->NotRange.StringIndex = 0
7899pp_data->cap[162]->NotRange.Reserved2 = 0
7900pp_data->cap[162]->NotRange.DesignatorIndex = 0
7901pp_data->cap[162]->NotRange.Reserved3 = 0
7902pp_data->cap[162]->NotRange.DataIndex = 75
7903pp_data->cap[162]->NotRange.Reserved4 = 75
7904pp_data->cap[162]->NotButton.HasNull = 0
7905pp_data->cap[162]->NotButton.Reserved4 = 0x000000
7906pp_data->cap[162]->NotButton.LogicalMin = 0
7907pp_data->cap[162]->NotButton.LogicalMax = 127
7908pp_data->cap[162]->NotButton.PhysicalMin = 0
7909pp_data->cap[162]->NotButton.PhysicalMax = 0
7910pp_data->cap[162]->Units = 0
7911pp_data->cap[162]->UnitsExp = 0
7912
7913pp_data->cap[163]->UsagePage = 0xFF01
7914pp_data->cap[163]->ReportID = 0x80
7915pp_data->cap[163]->BitPosition = 0
7916pp_data->cap[163]->BitSize = 8
7917pp_data->cap[163]->ReportCount = 1
7918pp_data->cap[163]->BytePosition = 0x0012
7919pp_data->cap[163]->BitCount = 8
7920pp_data->cap[163]->BitField = 0x02
7921pp_data->cap[163]->NextBytePosition = 0x0013
7922pp_data->cap[163]->LinkCollection = 0x0003
7923pp_data->cap[163]->LinkUsagePage = 0xFF01
7924pp_data->cap[163]->LinkUsage = 0x0080
7925pp_data->cap[163]->IsMultipleItemsForArray = 0
7926pp_data->cap[163]->IsButtonCap = 0
7927pp_data->cap[163]->IsPadding = 0
7928pp_data->cap[163]->IsAbsolute = 1
7929pp_data->cap[163]->IsRange = 0
7930pp_data->cap[163]->IsAlias = 0
7931pp_data->cap[163]->IsStringRange = 0
7932pp_data->cap[163]->IsDesignatorRange = 0
7933pp_data->cap[163]->Reserved1 = 0x000000
7934pp_data->cap[163]->pp_cap->UnknownTokens[0].Token = 0x00
7935pp_data->cap[163]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7936pp_data->cap[163]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7937pp_data->cap[163]->pp_cap->UnknownTokens[1].Token = 0x00
7938pp_data->cap[163]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7939pp_data->cap[163]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7940pp_data->cap[163]->pp_cap->UnknownTokens[2].Token = 0x00
7941pp_data->cap[163]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7942pp_data->cap[163]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7943pp_data->cap[163]->pp_cap->UnknownTokens[3].Token = 0x00
7944pp_data->cap[163]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7945pp_data->cap[163]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7946pp_data->cap[163]->NotRange.Usage = 0x0081
7947pp_data->cap[163]->NotRange.Reserved1 = 0x0081
7948pp_data->cap[163]->NotRange.StringIndex = 0
7949pp_data->cap[163]->NotRange.Reserved2 = 0
7950pp_data->cap[163]->NotRange.DesignatorIndex = 0
7951pp_data->cap[163]->NotRange.Reserved3 = 0
7952pp_data->cap[163]->NotRange.DataIndex = 76
7953pp_data->cap[163]->NotRange.Reserved4 = 76
7954pp_data->cap[163]->NotButton.HasNull = 0
7955pp_data->cap[163]->NotButton.Reserved4 = 0x000000
7956pp_data->cap[163]->NotButton.LogicalMin = 0
7957pp_data->cap[163]->NotButton.LogicalMax = 127
7958pp_data->cap[163]->NotButton.PhysicalMin = 0
7959pp_data->cap[163]->NotButton.PhysicalMax = 0
7960pp_data->cap[163]->Units = 0
7961pp_data->cap[163]->UnitsExp = 0
7962
7963pp_data->cap[164]->UsagePage = 0xFF01
7964pp_data->cap[164]->ReportID = 0x80
7965pp_data->cap[164]->BitPosition = 0
7966pp_data->cap[164]->BitSize = 8
7967pp_data->cap[164]->ReportCount = 1
7968pp_data->cap[164]->BytePosition = 0x0011
7969pp_data->cap[164]->BitCount = 8
7970pp_data->cap[164]->BitField = 0x02
7971pp_data->cap[164]->NextBytePosition = 0x0012
7972pp_data->cap[164]->LinkCollection = 0x0003
7973pp_data->cap[164]->LinkUsagePage = 0xFF01
7974pp_data->cap[164]->LinkUsage = 0x0080
7975pp_data->cap[164]->IsMultipleItemsForArray = 0
7976pp_data->cap[164]->IsButtonCap = 0
7977pp_data->cap[164]->IsPadding = 0
7978pp_data->cap[164]->IsAbsolute = 1
7979pp_data->cap[164]->IsRange = 0
7980pp_data->cap[164]->IsAlias = 0
7981pp_data->cap[164]->IsStringRange = 0
7982pp_data->cap[164]->IsDesignatorRange = 0
7983pp_data->cap[164]->Reserved1 = 0x000000
7984pp_data->cap[164]->pp_cap->UnknownTokens[0].Token = 0x00
7985pp_data->cap[164]->pp_cap->UnknownTokens[0].Reserved = 0x000000
7986pp_data->cap[164]->pp_cap->UnknownTokens[0].BitField = 0x00000000
7987pp_data->cap[164]->pp_cap->UnknownTokens[1].Token = 0x00
7988pp_data->cap[164]->pp_cap->UnknownTokens[1].Reserved = 0x000000
7989pp_data->cap[164]->pp_cap->UnknownTokens[1].BitField = 0x00000000
7990pp_data->cap[164]->pp_cap->UnknownTokens[2].Token = 0x00
7991pp_data->cap[164]->pp_cap->UnknownTokens[2].Reserved = 0x000000
7992pp_data->cap[164]->pp_cap->UnknownTokens[2].BitField = 0x00000000
7993pp_data->cap[164]->pp_cap->UnknownTokens[3].Token = 0x00
7994pp_data->cap[164]->pp_cap->UnknownTokens[3].Reserved = 0x000000
7995pp_data->cap[164]->pp_cap->UnknownTokens[3].BitField = 0x00000000
7996pp_data->cap[164]->NotRange.Usage = 0x0081
7997pp_data->cap[164]->NotRange.Reserved1 = 0x0081
7998pp_data->cap[164]->NotRange.StringIndex = 0
7999pp_data->cap[164]->NotRange.Reserved2 = 0
8000pp_data->cap[164]->NotRange.DesignatorIndex = 0
8001pp_data->cap[164]->NotRange.Reserved3 = 0
8002pp_data->cap[164]->NotRange.DataIndex = 77
8003pp_data->cap[164]->NotRange.Reserved4 = 77
8004pp_data->cap[164]->NotButton.HasNull = 0
8005pp_data->cap[164]->NotButton.Reserved4 = 0x000000
8006pp_data->cap[164]->NotButton.LogicalMin = 0
8007pp_data->cap[164]->NotButton.LogicalMax = 127
8008pp_data->cap[164]->NotButton.PhysicalMin = 0
8009pp_data->cap[164]->NotButton.PhysicalMax = 0
8010pp_data->cap[164]->Units = 0
8011pp_data->cap[164]->UnitsExp = 0
8012
8013pp_data->cap[165]->UsagePage = 0xFF01
8014pp_data->cap[165]->ReportID = 0x80
8015pp_data->cap[165]->BitPosition = 0
8016pp_data->cap[165]->BitSize = 8
8017pp_data->cap[165]->ReportCount = 1
8018pp_data->cap[165]->BytePosition = 0x0010
8019pp_data->cap[165]->BitCount = 8
8020pp_data->cap[165]->BitField = 0x02
8021pp_data->cap[165]->NextBytePosition = 0x0011
8022pp_data->cap[165]->LinkCollection = 0x0003
8023pp_data->cap[165]->LinkUsagePage = 0xFF01
8024pp_data->cap[165]->LinkUsage = 0x0080
8025pp_data->cap[165]->IsMultipleItemsForArray = 0
8026pp_data->cap[165]->IsButtonCap = 0
8027pp_data->cap[165]->IsPadding = 0
8028pp_data->cap[165]->IsAbsolute = 1
8029pp_data->cap[165]->IsRange = 0
8030pp_data->cap[165]->IsAlias = 0
8031pp_data->cap[165]->IsStringRange = 0
8032pp_data->cap[165]->IsDesignatorRange = 0
8033pp_data->cap[165]->Reserved1 = 0x000000
8034pp_data->cap[165]->pp_cap->UnknownTokens[0].Token = 0x00
8035pp_data->cap[165]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8036pp_data->cap[165]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8037pp_data->cap[165]->pp_cap->UnknownTokens[1].Token = 0x00
8038pp_data->cap[165]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8039pp_data->cap[165]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8040pp_data->cap[165]->pp_cap->UnknownTokens[2].Token = 0x00
8041pp_data->cap[165]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8042pp_data->cap[165]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8043pp_data->cap[165]->pp_cap->UnknownTokens[3].Token = 0x00
8044pp_data->cap[165]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8045pp_data->cap[165]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8046pp_data->cap[165]->NotRange.Usage = 0x0081
8047pp_data->cap[165]->NotRange.Reserved1 = 0x0081
8048pp_data->cap[165]->NotRange.StringIndex = 0
8049pp_data->cap[165]->NotRange.Reserved2 = 0
8050pp_data->cap[165]->NotRange.DesignatorIndex = 0
8051pp_data->cap[165]->NotRange.Reserved3 = 0
8052pp_data->cap[165]->NotRange.DataIndex = 78
8053pp_data->cap[165]->NotRange.Reserved4 = 78
8054pp_data->cap[165]->NotButton.HasNull = 0
8055pp_data->cap[165]->NotButton.Reserved4 = 0x000000
8056pp_data->cap[165]->NotButton.LogicalMin = 0
8057pp_data->cap[165]->NotButton.LogicalMax = 127
8058pp_data->cap[165]->NotButton.PhysicalMin = 0
8059pp_data->cap[165]->NotButton.PhysicalMax = 0
8060pp_data->cap[165]->Units = 0
8061pp_data->cap[165]->UnitsExp = 0
8062
8063pp_data->cap[166]->UsagePage = 0xFF01
8064pp_data->cap[166]->ReportID = 0x80
8065pp_data->cap[166]->BitPosition = 0
8066pp_data->cap[166]->BitSize = 8
8067pp_data->cap[166]->ReportCount = 1
8068pp_data->cap[166]->BytePosition = 0x000F
8069pp_data->cap[166]->BitCount = 8
8070pp_data->cap[166]->BitField = 0x02
8071pp_data->cap[166]->NextBytePosition = 0x0010
8072pp_data->cap[166]->LinkCollection = 0x0003
8073pp_data->cap[166]->LinkUsagePage = 0xFF01
8074pp_data->cap[166]->LinkUsage = 0x0080
8075pp_data->cap[166]->IsMultipleItemsForArray = 0
8076pp_data->cap[166]->IsButtonCap = 0
8077pp_data->cap[166]->IsPadding = 0
8078pp_data->cap[166]->IsAbsolute = 1
8079pp_data->cap[166]->IsRange = 0
8080pp_data->cap[166]->IsAlias = 0
8081pp_data->cap[166]->IsStringRange = 0
8082pp_data->cap[166]->IsDesignatorRange = 0
8083pp_data->cap[166]->Reserved1 = 0x000000
8084pp_data->cap[166]->pp_cap->UnknownTokens[0].Token = 0x00
8085pp_data->cap[166]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8086pp_data->cap[166]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8087pp_data->cap[166]->pp_cap->UnknownTokens[1].Token = 0x00
8088pp_data->cap[166]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8089pp_data->cap[166]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8090pp_data->cap[166]->pp_cap->UnknownTokens[2].Token = 0x00
8091pp_data->cap[166]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8092pp_data->cap[166]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8093pp_data->cap[166]->pp_cap->UnknownTokens[3].Token = 0x00
8094pp_data->cap[166]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8095pp_data->cap[166]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8096pp_data->cap[166]->NotRange.Usage = 0x0081
8097pp_data->cap[166]->NotRange.Reserved1 = 0x0081
8098pp_data->cap[166]->NotRange.StringIndex = 0
8099pp_data->cap[166]->NotRange.Reserved2 = 0
8100pp_data->cap[166]->NotRange.DesignatorIndex = 0
8101pp_data->cap[166]->NotRange.Reserved3 = 0
8102pp_data->cap[166]->NotRange.DataIndex = 79
8103pp_data->cap[166]->NotRange.Reserved4 = 79
8104pp_data->cap[166]->NotButton.HasNull = 0
8105pp_data->cap[166]->NotButton.Reserved4 = 0x000000
8106pp_data->cap[166]->NotButton.LogicalMin = 0
8107pp_data->cap[166]->NotButton.LogicalMax = 127
8108pp_data->cap[166]->NotButton.PhysicalMin = 0
8109pp_data->cap[166]->NotButton.PhysicalMax = 0
8110pp_data->cap[166]->Units = 0
8111pp_data->cap[166]->UnitsExp = 0
8112
8113pp_data->cap[167]->UsagePage = 0xFF01
8114pp_data->cap[167]->ReportID = 0x80
8115pp_data->cap[167]->BitPosition = 0
8116pp_data->cap[167]->BitSize = 8
8117pp_data->cap[167]->ReportCount = 1
8118pp_data->cap[167]->BytePosition = 0x000E
8119pp_data->cap[167]->BitCount = 8
8120pp_data->cap[167]->BitField = 0x02
8121pp_data->cap[167]->NextBytePosition = 0x000F
8122pp_data->cap[167]->LinkCollection = 0x0003
8123pp_data->cap[167]->LinkUsagePage = 0xFF01
8124pp_data->cap[167]->LinkUsage = 0x0080
8125pp_data->cap[167]->IsMultipleItemsForArray = 0
8126pp_data->cap[167]->IsButtonCap = 0
8127pp_data->cap[167]->IsPadding = 0
8128pp_data->cap[167]->IsAbsolute = 1
8129pp_data->cap[167]->IsRange = 0
8130pp_data->cap[167]->IsAlias = 0
8131pp_data->cap[167]->IsStringRange = 0
8132pp_data->cap[167]->IsDesignatorRange = 0
8133pp_data->cap[167]->Reserved1 = 0x000000
8134pp_data->cap[167]->pp_cap->UnknownTokens[0].Token = 0x00
8135pp_data->cap[167]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8136pp_data->cap[167]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8137pp_data->cap[167]->pp_cap->UnknownTokens[1].Token = 0x00
8138pp_data->cap[167]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8139pp_data->cap[167]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8140pp_data->cap[167]->pp_cap->UnknownTokens[2].Token = 0x00
8141pp_data->cap[167]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8142pp_data->cap[167]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8143pp_data->cap[167]->pp_cap->UnknownTokens[3].Token = 0x00
8144pp_data->cap[167]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8145pp_data->cap[167]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8146pp_data->cap[167]->NotRange.Usage = 0x0081
8147pp_data->cap[167]->NotRange.Reserved1 = 0x0081
8148pp_data->cap[167]->NotRange.StringIndex = 0
8149pp_data->cap[167]->NotRange.Reserved2 = 0
8150pp_data->cap[167]->NotRange.DesignatorIndex = 0
8151pp_data->cap[167]->NotRange.Reserved3 = 0
8152pp_data->cap[167]->NotRange.DataIndex = 80
8153pp_data->cap[167]->NotRange.Reserved4 = 80
8154pp_data->cap[167]->NotButton.HasNull = 0
8155pp_data->cap[167]->NotButton.Reserved4 = 0x000000
8156pp_data->cap[167]->NotButton.LogicalMin = 0
8157pp_data->cap[167]->NotButton.LogicalMax = 127
8158pp_data->cap[167]->NotButton.PhysicalMin = 0
8159pp_data->cap[167]->NotButton.PhysicalMax = 0
8160pp_data->cap[167]->Units = 0
8161pp_data->cap[167]->UnitsExp = 0
8162
8163pp_data->cap[168]->UsagePage = 0xFF01
8164pp_data->cap[168]->ReportID = 0x80
8165pp_data->cap[168]->BitPosition = 0
8166pp_data->cap[168]->BitSize = 8
8167pp_data->cap[168]->ReportCount = 1
8168pp_data->cap[168]->BytePosition = 0x000D
8169pp_data->cap[168]->BitCount = 8
8170pp_data->cap[168]->BitField = 0x02
8171pp_data->cap[168]->NextBytePosition = 0x000E
8172pp_data->cap[168]->LinkCollection = 0x0003
8173pp_data->cap[168]->LinkUsagePage = 0xFF01
8174pp_data->cap[168]->LinkUsage = 0x0080
8175pp_data->cap[168]->IsMultipleItemsForArray = 0
8176pp_data->cap[168]->IsButtonCap = 0
8177pp_data->cap[168]->IsPadding = 0
8178pp_data->cap[168]->IsAbsolute = 1
8179pp_data->cap[168]->IsRange = 0
8180pp_data->cap[168]->IsAlias = 0
8181pp_data->cap[168]->IsStringRange = 0
8182pp_data->cap[168]->IsDesignatorRange = 0
8183pp_data->cap[168]->Reserved1 = 0x000000
8184pp_data->cap[168]->pp_cap->UnknownTokens[0].Token = 0x00
8185pp_data->cap[168]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8186pp_data->cap[168]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8187pp_data->cap[168]->pp_cap->UnknownTokens[1].Token = 0x00
8188pp_data->cap[168]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8189pp_data->cap[168]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8190pp_data->cap[168]->pp_cap->UnknownTokens[2].Token = 0x00
8191pp_data->cap[168]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8192pp_data->cap[168]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8193pp_data->cap[168]->pp_cap->UnknownTokens[3].Token = 0x00
8194pp_data->cap[168]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8195pp_data->cap[168]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8196pp_data->cap[168]->NotRange.Usage = 0x0081
8197pp_data->cap[168]->NotRange.Reserved1 = 0x0081
8198pp_data->cap[168]->NotRange.StringIndex = 0
8199pp_data->cap[168]->NotRange.Reserved2 = 0
8200pp_data->cap[168]->NotRange.DesignatorIndex = 0
8201pp_data->cap[168]->NotRange.Reserved3 = 0
8202pp_data->cap[168]->NotRange.DataIndex = 81
8203pp_data->cap[168]->NotRange.Reserved4 = 81
8204pp_data->cap[168]->NotButton.HasNull = 0
8205pp_data->cap[168]->NotButton.Reserved4 = 0x000000
8206pp_data->cap[168]->NotButton.LogicalMin = 0
8207pp_data->cap[168]->NotButton.LogicalMax = 127
8208pp_data->cap[168]->NotButton.PhysicalMin = 0
8209pp_data->cap[168]->NotButton.PhysicalMax = 0
8210pp_data->cap[168]->Units = 0
8211pp_data->cap[168]->UnitsExp = 0
8212
8213pp_data->cap[169]->UsagePage = 0xFF01
8214pp_data->cap[169]->ReportID = 0x80
8215pp_data->cap[169]->BitPosition = 0
8216pp_data->cap[169]->BitSize = 8
8217pp_data->cap[169]->ReportCount = 1
8218pp_data->cap[169]->BytePosition = 0x000C
8219pp_data->cap[169]->BitCount = 8
8220pp_data->cap[169]->BitField = 0x02
8221pp_data->cap[169]->NextBytePosition = 0x000D
8222pp_data->cap[169]->LinkCollection = 0x0003
8223pp_data->cap[169]->LinkUsagePage = 0xFF01
8224pp_data->cap[169]->LinkUsage = 0x0080
8225pp_data->cap[169]->IsMultipleItemsForArray = 0
8226pp_data->cap[169]->IsButtonCap = 0
8227pp_data->cap[169]->IsPadding = 0
8228pp_data->cap[169]->IsAbsolute = 1
8229pp_data->cap[169]->IsRange = 0
8230pp_data->cap[169]->IsAlias = 0
8231pp_data->cap[169]->IsStringRange = 0
8232pp_data->cap[169]->IsDesignatorRange = 0
8233pp_data->cap[169]->Reserved1 = 0x000000
8234pp_data->cap[169]->pp_cap->UnknownTokens[0].Token = 0x00
8235pp_data->cap[169]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8236pp_data->cap[169]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8237pp_data->cap[169]->pp_cap->UnknownTokens[1].Token = 0x00
8238pp_data->cap[169]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8239pp_data->cap[169]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8240pp_data->cap[169]->pp_cap->UnknownTokens[2].Token = 0x00
8241pp_data->cap[169]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8242pp_data->cap[169]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8243pp_data->cap[169]->pp_cap->UnknownTokens[3].Token = 0x00
8244pp_data->cap[169]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8245pp_data->cap[169]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8246pp_data->cap[169]->NotRange.Usage = 0x0081
8247pp_data->cap[169]->NotRange.Reserved1 = 0x0081
8248pp_data->cap[169]->NotRange.StringIndex = 0
8249pp_data->cap[169]->NotRange.Reserved2 = 0
8250pp_data->cap[169]->NotRange.DesignatorIndex = 0
8251pp_data->cap[169]->NotRange.Reserved3 = 0
8252pp_data->cap[169]->NotRange.DataIndex = 82
8253pp_data->cap[169]->NotRange.Reserved4 = 82
8254pp_data->cap[169]->NotButton.HasNull = 0
8255pp_data->cap[169]->NotButton.Reserved4 = 0x000000
8256pp_data->cap[169]->NotButton.LogicalMin = 0
8257pp_data->cap[169]->NotButton.LogicalMax = 127
8258pp_data->cap[169]->NotButton.PhysicalMin = 0
8259pp_data->cap[169]->NotButton.PhysicalMax = 0
8260pp_data->cap[169]->Units = 0
8261pp_data->cap[169]->UnitsExp = 0
8262
8263pp_data->cap[170]->UsagePage = 0xFF01
8264pp_data->cap[170]->ReportID = 0x80
8265pp_data->cap[170]->BitPosition = 0
8266pp_data->cap[170]->BitSize = 8
8267pp_data->cap[170]->ReportCount = 1
8268pp_data->cap[170]->BytePosition = 0x000B
8269pp_data->cap[170]->BitCount = 8
8270pp_data->cap[170]->BitField = 0x02
8271pp_data->cap[170]->NextBytePosition = 0x000C
8272pp_data->cap[170]->LinkCollection = 0x0003
8273pp_data->cap[170]->LinkUsagePage = 0xFF01
8274pp_data->cap[170]->LinkUsage = 0x0080
8275pp_data->cap[170]->IsMultipleItemsForArray = 0
8276pp_data->cap[170]->IsButtonCap = 0
8277pp_data->cap[170]->IsPadding = 0
8278pp_data->cap[170]->IsAbsolute = 1
8279pp_data->cap[170]->IsRange = 0
8280pp_data->cap[170]->IsAlias = 0
8281pp_data->cap[170]->IsStringRange = 0
8282pp_data->cap[170]->IsDesignatorRange = 0
8283pp_data->cap[170]->Reserved1 = 0x000000
8284pp_data->cap[170]->pp_cap->UnknownTokens[0].Token = 0x00
8285pp_data->cap[170]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8286pp_data->cap[170]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8287pp_data->cap[170]->pp_cap->UnknownTokens[1].Token = 0x00
8288pp_data->cap[170]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8289pp_data->cap[170]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8290pp_data->cap[170]->pp_cap->UnknownTokens[2].Token = 0x00
8291pp_data->cap[170]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8292pp_data->cap[170]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8293pp_data->cap[170]->pp_cap->UnknownTokens[3].Token = 0x00
8294pp_data->cap[170]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8295pp_data->cap[170]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8296pp_data->cap[170]->NotRange.Usage = 0x0081
8297pp_data->cap[170]->NotRange.Reserved1 = 0x0081
8298pp_data->cap[170]->NotRange.StringIndex = 0
8299pp_data->cap[170]->NotRange.Reserved2 = 0
8300pp_data->cap[170]->NotRange.DesignatorIndex = 0
8301pp_data->cap[170]->NotRange.Reserved3 = 0
8302pp_data->cap[170]->NotRange.DataIndex = 83
8303pp_data->cap[170]->NotRange.Reserved4 = 83
8304pp_data->cap[170]->NotButton.HasNull = 0
8305pp_data->cap[170]->NotButton.Reserved4 = 0x000000
8306pp_data->cap[170]->NotButton.LogicalMin = 0
8307pp_data->cap[170]->NotButton.LogicalMax = 127
8308pp_data->cap[170]->NotButton.PhysicalMin = 0
8309pp_data->cap[170]->NotButton.PhysicalMax = 0
8310pp_data->cap[170]->Units = 0
8311pp_data->cap[170]->UnitsExp = 0
8312
8313pp_data->cap[171]->UsagePage = 0xFF01
8314pp_data->cap[171]->ReportID = 0x80
8315pp_data->cap[171]->BitPosition = 0
8316pp_data->cap[171]->BitSize = 8
8317pp_data->cap[171]->ReportCount = 1
8318pp_data->cap[171]->BytePosition = 0x000A
8319pp_data->cap[171]->BitCount = 8
8320pp_data->cap[171]->BitField = 0x02
8321pp_data->cap[171]->NextBytePosition = 0x000B
8322pp_data->cap[171]->LinkCollection = 0x0003
8323pp_data->cap[171]->LinkUsagePage = 0xFF01
8324pp_data->cap[171]->LinkUsage = 0x0080
8325pp_data->cap[171]->IsMultipleItemsForArray = 0
8326pp_data->cap[171]->IsButtonCap = 0
8327pp_data->cap[171]->IsPadding = 0
8328pp_data->cap[171]->IsAbsolute = 1
8329pp_data->cap[171]->IsRange = 0
8330pp_data->cap[171]->IsAlias = 0
8331pp_data->cap[171]->IsStringRange = 0
8332pp_data->cap[171]->IsDesignatorRange = 0
8333pp_data->cap[171]->Reserved1 = 0x000000
8334pp_data->cap[171]->pp_cap->UnknownTokens[0].Token = 0x00
8335pp_data->cap[171]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8336pp_data->cap[171]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8337pp_data->cap[171]->pp_cap->UnknownTokens[1].Token = 0x00
8338pp_data->cap[171]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8339pp_data->cap[171]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8340pp_data->cap[171]->pp_cap->UnknownTokens[2].Token = 0x00
8341pp_data->cap[171]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8342pp_data->cap[171]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8343pp_data->cap[171]->pp_cap->UnknownTokens[3].Token = 0x00
8344pp_data->cap[171]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8345pp_data->cap[171]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8346pp_data->cap[171]->NotRange.Usage = 0x0081
8347pp_data->cap[171]->NotRange.Reserved1 = 0x0081
8348pp_data->cap[171]->NotRange.StringIndex = 0
8349pp_data->cap[171]->NotRange.Reserved2 = 0
8350pp_data->cap[171]->NotRange.DesignatorIndex = 0
8351pp_data->cap[171]->NotRange.Reserved3 = 0
8352pp_data->cap[171]->NotRange.DataIndex = 84
8353pp_data->cap[171]->NotRange.Reserved4 = 84
8354pp_data->cap[171]->NotButton.HasNull = 0
8355pp_data->cap[171]->NotButton.Reserved4 = 0x000000
8356pp_data->cap[171]->NotButton.LogicalMin = 0
8357pp_data->cap[171]->NotButton.LogicalMax = 127
8358pp_data->cap[171]->NotButton.PhysicalMin = 0
8359pp_data->cap[171]->NotButton.PhysicalMax = 0
8360pp_data->cap[171]->Units = 0
8361pp_data->cap[171]->UnitsExp = 0
8362
8363pp_data->cap[172]->UsagePage = 0xFF01
8364pp_data->cap[172]->ReportID = 0x80
8365pp_data->cap[172]->BitPosition = 0
8366pp_data->cap[172]->BitSize = 8
8367pp_data->cap[172]->ReportCount = 1
8368pp_data->cap[172]->BytePosition = 0x0009
8369pp_data->cap[172]->BitCount = 8
8370pp_data->cap[172]->BitField = 0x02
8371pp_data->cap[172]->NextBytePosition = 0x000A
8372pp_data->cap[172]->LinkCollection = 0x0003
8373pp_data->cap[172]->LinkUsagePage = 0xFF01
8374pp_data->cap[172]->LinkUsage = 0x0080
8375pp_data->cap[172]->IsMultipleItemsForArray = 0
8376pp_data->cap[172]->IsButtonCap = 0
8377pp_data->cap[172]->IsPadding = 0
8378pp_data->cap[172]->IsAbsolute = 1
8379pp_data->cap[172]->IsRange = 0
8380pp_data->cap[172]->IsAlias = 0
8381pp_data->cap[172]->IsStringRange = 0
8382pp_data->cap[172]->IsDesignatorRange = 0
8383pp_data->cap[172]->Reserved1 = 0x000000
8384pp_data->cap[172]->pp_cap->UnknownTokens[0].Token = 0x00
8385pp_data->cap[172]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8386pp_data->cap[172]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8387pp_data->cap[172]->pp_cap->UnknownTokens[1].Token = 0x00
8388pp_data->cap[172]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8389pp_data->cap[172]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8390pp_data->cap[172]->pp_cap->UnknownTokens[2].Token = 0x00
8391pp_data->cap[172]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8392pp_data->cap[172]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8393pp_data->cap[172]->pp_cap->UnknownTokens[3].Token = 0x00
8394pp_data->cap[172]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8395pp_data->cap[172]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8396pp_data->cap[172]->NotRange.Usage = 0x0081
8397pp_data->cap[172]->NotRange.Reserved1 = 0x0081
8398pp_data->cap[172]->NotRange.StringIndex = 0
8399pp_data->cap[172]->NotRange.Reserved2 = 0
8400pp_data->cap[172]->NotRange.DesignatorIndex = 0
8401pp_data->cap[172]->NotRange.Reserved3 = 0
8402pp_data->cap[172]->NotRange.DataIndex = 85
8403pp_data->cap[172]->NotRange.Reserved4 = 85
8404pp_data->cap[172]->NotButton.HasNull = 0
8405pp_data->cap[172]->NotButton.Reserved4 = 0x000000
8406pp_data->cap[172]->NotButton.LogicalMin = 0
8407pp_data->cap[172]->NotButton.LogicalMax = 127
8408pp_data->cap[172]->NotButton.PhysicalMin = 0
8409pp_data->cap[172]->NotButton.PhysicalMax = 0
8410pp_data->cap[172]->Units = 0
8411pp_data->cap[172]->UnitsExp = 0
8412
8413pp_data->cap[173]->UsagePage = 0xFF01
8414pp_data->cap[173]->ReportID = 0x80
8415pp_data->cap[173]->BitPosition = 0
8416pp_data->cap[173]->BitSize = 8
8417pp_data->cap[173]->ReportCount = 1
8418pp_data->cap[173]->BytePosition = 0x0008
8419pp_data->cap[173]->BitCount = 8
8420pp_data->cap[173]->BitField = 0x02
8421pp_data->cap[173]->NextBytePosition = 0x0009
8422pp_data->cap[173]->LinkCollection = 0x0003
8423pp_data->cap[173]->LinkUsagePage = 0xFF01
8424pp_data->cap[173]->LinkUsage = 0x0080
8425pp_data->cap[173]->IsMultipleItemsForArray = 0
8426pp_data->cap[173]->IsButtonCap = 0
8427pp_data->cap[173]->IsPadding = 0
8428pp_data->cap[173]->IsAbsolute = 1
8429pp_data->cap[173]->IsRange = 0
8430pp_data->cap[173]->IsAlias = 0
8431pp_data->cap[173]->IsStringRange = 0
8432pp_data->cap[173]->IsDesignatorRange = 0
8433pp_data->cap[173]->Reserved1 = 0x000000
8434pp_data->cap[173]->pp_cap->UnknownTokens[0].Token = 0x00
8435pp_data->cap[173]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8436pp_data->cap[173]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8437pp_data->cap[173]->pp_cap->UnknownTokens[1].Token = 0x00
8438pp_data->cap[173]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8439pp_data->cap[173]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8440pp_data->cap[173]->pp_cap->UnknownTokens[2].Token = 0x00
8441pp_data->cap[173]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8442pp_data->cap[173]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8443pp_data->cap[173]->pp_cap->UnknownTokens[3].Token = 0x00
8444pp_data->cap[173]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8445pp_data->cap[173]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8446pp_data->cap[173]->NotRange.Usage = 0x0081
8447pp_data->cap[173]->NotRange.Reserved1 = 0x0081
8448pp_data->cap[173]->NotRange.StringIndex = 0
8449pp_data->cap[173]->NotRange.Reserved2 = 0
8450pp_data->cap[173]->NotRange.DesignatorIndex = 0
8451pp_data->cap[173]->NotRange.Reserved3 = 0
8452pp_data->cap[173]->NotRange.DataIndex = 86
8453pp_data->cap[173]->NotRange.Reserved4 = 86
8454pp_data->cap[173]->NotButton.HasNull = 0
8455pp_data->cap[173]->NotButton.Reserved4 = 0x000000
8456pp_data->cap[173]->NotButton.LogicalMin = 0
8457pp_data->cap[173]->NotButton.LogicalMax = 127
8458pp_data->cap[173]->NotButton.PhysicalMin = 0
8459pp_data->cap[173]->NotButton.PhysicalMax = 0
8460pp_data->cap[173]->Units = 0
8461pp_data->cap[173]->UnitsExp = 0
8462
8463pp_data->cap[174]->UsagePage = 0xFF01
8464pp_data->cap[174]->ReportID = 0x80
8465pp_data->cap[174]->BitPosition = 0
8466pp_data->cap[174]->BitSize = 8
8467pp_data->cap[174]->ReportCount = 1
8468pp_data->cap[174]->BytePosition = 0x0007
8469pp_data->cap[174]->BitCount = 8
8470pp_data->cap[174]->BitField = 0x02
8471pp_data->cap[174]->NextBytePosition = 0x0008
8472pp_data->cap[174]->LinkCollection = 0x0003
8473pp_data->cap[174]->LinkUsagePage = 0xFF01
8474pp_data->cap[174]->LinkUsage = 0x0080
8475pp_data->cap[174]->IsMultipleItemsForArray = 0
8476pp_data->cap[174]->IsButtonCap = 0
8477pp_data->cap[174]->IsPadding = 0
8478pp_data->cap[174]->IsAbsolute = 1
8479pp_data->cap[174]->IsRange = 0
8480pp_data->cap[174]->IsAlias = 0
8481pp_data->cap[174]->IsStringRange = 0
8482pp_data->cap[174]->IsDesignatorRange = 0
8483pp_data->cap[174]->Reserved1 = 0x000000
8484pp_data->cap[174]->pp_cap->UnknownTokens[0].Token = 0x00
8485pp_data->cap[174]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8486pp_data->cap[174]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8487pp_data->cap[174]->pp_cap->UnknownTokens[1].Token = 0x00
8488pp_data->cap[174]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8489pp_data->cap[174]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8490pp_data->cap[174]->pp_cap->UnknownTokens[2].Token = 0x00
8491pp_data->cap[174]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8492pp_data->cap[174]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8493pp_data->cap[174]->pp_cap->UnknownTokens[3].Token = 0x00
8494pp_data->cap[174]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8495pp_data->cap[174]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8496pp_data->cap[174]->NotRange.Usage = 0x0081
8497pp_data->cap[174]->NotRange.Reserved1 = 0x0081
8498pp_data->cap[174]->NotRange.StringIndex = 0
8499pp_data->cap[174]->NotRange.Reserved2 = 0
8500pp_data->cap[174]->NotRange.DesignatorIndex = 0
8501pp_data->cap[174]->NotRange.Reserved3 = 0
8502pp_data->cap[174]->NotRange.DataIndex = 87
8503pp_data->cap[174]->NotRange.Reserved4 = 87
8504pp_data->cap[174]->NotButton.HasNull = 0
8505pp_data->cap[174]->NotButton.Reserved4 = 0x000000
8506pp_data->cap[174]->NotButton.LogicalMin = 0
8507pp_data->cap[174]->NotButton.LogicalMax = 127
8508pp_data->cap[174]->NotButton.PhysicalMin = 0
8509pp_data->cap[174]->NotButton.PhysicalMax = 0
8510pp_data->cap[174]->Units = 0
8511pp_data->cap[174]->UnitsExp = 0
8512
8513pp_data->cap[175]->UsagePage = 0xFF01
8514pp_data->cap[175]->ReportID = 0x80
8515pp_data->cap[175]->BitPosition = 0
8516pp_data->cap[175]->BitSize = 8
8517pp_data->cap[175]->ReportCount = 1
8518pp_data->cap[175]->BytePosition = 0x0006
8519pp_data->cap[175]->BitCount = 8
8520pp_data->cap[175]->BitField = 0x02
8521pp_data->cap[175]->NextBytePosition = 0x0007
8522pp_data->cap[175]->LinkCollection = 0x0003
8523pp_data->cap[175]->LinkUsagePage = 0xFF01
8524pp_data->cap[175]->LinkUsage = 0x0080
8525pp_data->cap[175]->IsMultipleItemsForArray = 0
8526pp_data->cap[175]->IsButtonCap = 0
8527pp_data->cap[175]->IsPadding = 0
8528pp_data->cap[175]->IsAbsolute = 1
8529pp_data->cap[175]->IsRange = 0
8530pp_data->cap[175]->IsAlias = 0
8531pp_data->cap[175]->IsStringRange = 0
8532pp_data->cap[175]->IsDesignatorRange = 0
8533pp_data->cap[175]->Reserved1 = 0x000000
8534pp_data->cap[175]->pp_cap->UnknownTokens[0].Token = 0x00
8535pp_data->cap[175]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8536pp_data->cap[175]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8537pp_data->cap[175]->pp_cap->UnknownTokens[1].Token = 0x00
8538pp_data->cap[175]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8539pp_data->cap[175]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8540pp_data->cap[175]->pp_cap->UnknownTokens[2].Token = 0x00
8541pp_data->cap[175]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8542pp_data->cap[175]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8543pp_data->cap[175]->pp_cap->UnknownTokens[3].Token = 0x00
8544pp_data->cap[175]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8545pp_data->cap[175]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8546pp_data->cap[175]->NotRange.Usage = 0x0081
8547pp_data->cap[175]->NotRange.Reserved1 = 0x0081
8548pp_data->cap[175]->NotRange.StringIndex = 0
8549pp_data->cap[175]->NotRange.Reserved2 = 0
8550pp_data->cap[175]->NotRange.DesignatorIndex = 0
8551pp_data->cap[175]->NotRange.Reserved3 = 0
8552pp_data->cap[175]->NotRange.DataIndex = 88
8553pp_data->cap[175]->NotRange.Reserved4 = 88
8554pp_data->cap[175]->NotButton.HasNull = 0
8555pp_data->cap[175]->NotButton.Reserved4 = 0x000000
8556pp_data->cap[175]->NotButton.LogicalMin = 0
8557pp_data->cap[175]->NotButton.LogicalMax = 127
8558pp_data->cap[175]->NotButton.PhysicalMin = 0
8559pp_data->cap[175]->NotButton.PhysicalMax = 0
8560pp_data->cap[175]->Units = 0
8561pp_data->cap[175]->UnitsExp = 0
8562
8563pp_data->cap[176]->UsagePage = 0xFF01
8564pp_data->cap[176]->ReportID = 0x80
8565pp_data->cap[176]->BitPosition = 0
8566pp_data->cap[176]->BitSize = 8
8567pp_data->cap[176]->ReportCount = 1
8568pp_data->cap[176]->BytePosition = 0x0005
8569pp_data->cap[176]->BitCount = 8
8570pp_data->cap[176]->BitField = 0x02
8571pp_data->cap[176]->NextBytePosition = 0x0006
8572pp_data->cap[176]->LinkCollection = 0x0003
8573pp_data->cap[176]->LinkUsagePage = 0xFF01
8574pp_data->cap[176]->LinkUsage = 0x0080
8575pp_data->cap[176]->IsMultipleItemsForArray = 0
8576pp_data->cap[176]->IsButtonCap = 0
8577pp_data->cap[176]->IsPadding = 0
8578pp_data->cap[176]->IsAbsolute = 1
8579pp_data->cap[176]->IsRange = 0
8580pp_data->cap[176]->IsAlias = 0
8581pp_data->cap[176]->IsStringRange = 0
8582pp_data->cap[176]->IsDesignatorRange = 0
8583pp_data->cap[176]->Reserved1 = 0x000000
8584pp_data->cap[176]->pp_cap->UnknownTokens[0].Token = 0x00
8585pp_data->cap[176]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8586pp_data->cap[176]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8587pp_data->cap[176]->pp_cap->UnknownTokens[1].Token = 0x00
8588pp_data->cap[176]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8589pp_data->cap[176]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8590pp_data->cap[176]->pp_cap->UnknownTokens[2].Token = 0x00
8591pp_data->cap[176]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8592pp_data->cap[176]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8593pp_data->cap[176]->pp_cap->UnknownTokens[3].Token = 0x00
8594pp_data->cap[176]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8595pp_data->cap[176]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8596pp_data->cap[176]->NotRange.Usage = 0x0081
8597pp_data->cap[176]->NotRange.Reserved1 = 0x0081
8598pp_data->cap[176]->NotRange.StringIndex = 0
8599pp_data->cap[176]->NotRange.Reserved2 = 0
8600pp_data->cap[176]->NotRange.DesignatorIndex = 0
8601pp_data->cap[176]->NotRange.Reserved3 = 0
8602pp_data->cap[176]->NotRange.DataIndex = 89
8603pp_data->cap[176]->NotRange.Reserved4 = 89
8604pp_data->cap[176]->NotButton.HasNull = 0
8605pp_data->cap[176]->NotButton.Reserved4 = 0x000000
8606pp_data->cap[176]->NotButton.LogicalMin = 0
8607pp_data->cap[176]->NotButton.LogicalMax = 127
8608pp_data->cap[176]->NotButton.PhysicalMin = 0
8609pp_data->cap[176]->NotButton.PhysicalMax = 0
8610pp_data->cap[176]->Units = 0
8611pp_data->cap[176]->UnitsExp = 0
8612
8613pp_data->cap[177]->UsagePage = 0xFF01
8614pp_data->cap[177]->ReportID = 0x80
8615pp_data->cap[177]->BitPosition = 0
8616pp_data->cap[177]->BitSize = 8
8617pp_data->cap[177]->ReportCount = 1
8618pp_data->cap[177]->BytePosition = 0x0004
8619pp_data->cap[177]->BitCount = 8
8620pp_data->cap[177]->BitField = 0x02
8621pp_data->cap[177]->NextBytePosition = 0x0005
8622pp_data->cap[177]->LinkCollection = 0x0003
8623pp_data->cap[177]->LinkUsagePage = 0xFF01
8624pp_data->cap[177]->LinkUsage = 0x0080
8625pp_data->cap[177]->IsMultipleItemsForArray = 0
8626pp_data->cap[177]->IsButtonCap = 0
8627pp_data->cap[177]->IsPadding = 0
8628pp_data->cap[177]->IsAbsolute = 1
8629pp_data->cap[177]->IsRange = 0
8630pp_data->cap[177]->IsAlias = 0
8631pp_data->cap[177]->IsStringRange = 0
8632pp_data->cap[177]->IsDesignatorRange = 0
8633pp_data->cap[177]->Reserved1 = 0x000000
8634pp_data->cap[177]->pp_cap->UnknownTokens[0].Token = 0x00
8635pp_data->cap[177]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8636pp_data->cap[177]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8637pp_data->cap[177]->pp_cap->UnknownTokens[1].Token = 0x00
8638pp_data->cap[177]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8639pp_data->cap[177]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8640pp_data->cap[177]->pp_cap->UnknownTokens[2].Token = 0x00
8641pp_data->cap[177]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8642pp_data->cap[177]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8643pp_data->cap[177]->pp_cap->UnknownTokens[3].Token = 0x00
8644pp_data->cap[177]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8645pp_data->cap[177]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8646pp_data->cap[177]->NotRange.Usage = 0x0081
8647pp_data->cap[177]->NotRange.Reserved1 = 0x0081
8648pp_data->cap[177]->NotRange.StringIndex = 0
8649pp_data->cap[177]->NotRange.Reserved2 = 0
8650pp_data->cap[177]->NotRange.DesignatorIndex = 0
8651pp_data->cap[177]->NotRange.Reserved3 = 0
8652pp_data->cap[177]->NotRange.DataIndex = 90
8653pp_data->cap[177]->NotRange.Reserved4 = 90
8654pp_data->cap[177]->NotButton.HasNull = 0
8655pp_data->cap[177]->NotButton.Reserved4 = 0x000000
8656pp_data->cap[177]->NotButton.LogicalMin = 0
8657pp_data->cap[177]->NotButton.LogicalMax = 127
8658pp_data->cap[177]->NotButton.PhysicalMin = 0
8659pp_data->cap[177]->NotButton.PhysicalMax = 0
8660pp_data->cap[177]->Units = 0
8661pp_data->cap[177]->UnitsExp = 0
8662
8663pp_data->cap[178]->UsagePage = 0xFF01
8664pp_data->cap[178]->ReportID = 0x80
8665pp_data->cap[178]->BitPosition = 0
8666pp_data->cap[178]->BitSize = 8
8667pp_data->cap[178]->ReportCount = 1
8668pp_data->cap[178]->BytePosition = 0x0003
8669pp_data->cap[178]->BitCount = 8
8670pp_data->cap[178]->BitField = 0x02
8671pp_data->cap[178]->NextBytePosition = 0x0004
8672pp_data->cap[178]->LinkCollection = 0x0003
8673pp_data->cap[178]->LinkUsagePage = 0xFF01
8674pp_data->cap[178]->LinkUsage = 0x0080
8675pp_data->cap[178]->IsMultipleItemsForArray = 0
8676pp_data->cap[178]->IsButtonCap = 0
8677pp_data->cap[178]->IsPadding = 0
8678pp_data->cap[178]->IsAbsolute = 1
8679pp_data->cap[178]->IsRange = 0
8680pp_data->cap[178]->IsAlias = 0
8681pp_data->cap[178]->IsStringRange = 0
8682pp_data->cap[178]->IsDesignatorRange = 0
8683pp_data->cap[178]->Reserved1 = 0x000000
8684pp_data->cap[178]->pp_cap->UnknownTokens[0].Token = 0x00
8685pp_data->cap[178]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8686pp_data->cap[178]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8687pp_data->cap[178]->pp_cap->UnknownTokens[1].Token = 0x00
8688pp_data->cap[178]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8689pp_data->cap[178]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8690pp_data->cap[178]->pp_cap->UnknownTokens[2].Token = 0x00
8691pp_data->cap[178]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8692pp_data->cap[178]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8693pp_data->cap[178]->pp_cap->UnknownTokens[3].Token = 0x00
8694pp_data->cap[178]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8695pp_data->cap[178]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8696pp_data->cap[178]->NotRange.Usage = 0x0081
8697pp_data->cap[178]->NotRange.Reserved1 = 0x0081
8698pp_data->cap[178]->NotRange.StringIndex = 0
8699pp_data->cap[178]->NotRange.Reserved2 = 0
8700pp_data->cap[178]->NotRange.DesignatorIndex = 0
8701pp_data->cap[178]->NotRange.Reserved3 = 0
8702pp_data->cap[178]->NotRange.DataIndex = 91
8703pp_data->cap[178]->NotRange.Reserved4 = 91
8704pp_data->cap[178]->NotButton.HasNull = 0
8705pp_data->cap[178]->NotButton.Reserved4 = 0x000000
8706pp_data->cap[178]->NotButton.LogicalMin = 0
8707pp_data->cap[178]->NotButton.LogicalMax = 127
8708pp_data->cap[178]->NotButton.PhysicalMin = 0
8709pp_data->cap[178]->NotButton.PhysicalMax = 0
8710pp_data->cap[178]->Units = 0
8711pp_data->cap[178]->UnitsExp = 0
8712
8713pp_data->cap[179]->UsagePage = 0xFF01
8714pp_data->cap[179]->ReportID = 0x80
8715pp_data->cap[179]->BitPosition = 0
8716pp_data->cap[179]->BitSize = 8
8717pp_data->cap[179]->ReportCount = 1
8718pp_data->cap[179]->BytePosition = 0x0002
8719pp_data->cap[179]->BitCount = 8
8720pp_data->cap[179]->BitField = 0x02
8721pp_data->cap[179]->NextBytePosition = 0x0003
8722pp_data->cap[179]->LinkCollection = 0x0003
8723pp_data->cap[179]->LinkUsagePage = 0xFF01
8724pp_data->cap[179]->LinkUsage = 0x0080
8725pp_data->cap[179]->IsMultipleItemsForArray = 0
8726pp_data->cap[179]->IsButtonCap = 0
8727pp_data->cap[179]->IsPadding = 0
8728pp_data->cap[179]->IsAbsolute = 1
8729pp_data->cap[179]->IsRange = 0
8730pp_data->cap[179]->IsAlias = 0
8731pp_data->cap[179]->IsStringRange = 0
8732pp_data->cap[179]->IsDesignatorRange = 0
8733pp_data->cap[179]->Reserved1 = 0x000000
8734pp_data->cap[179]->pp_cap->UnknownTokens[0].Token = 0x00
8735pp_data->cap[179]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8736pp_data->cap[179]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8737pp_data->cap[179]->pp_cap->UnknownTokens[1].Token = 0x00
8738pp_data->cap[179]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8739pp_data->cap[179]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8740pp_data->cap[179]->pp_cap->UnknownTokens[2].Token = 0x00
8741pp_data->cap[179]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8742pp_data->cap[179]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8743pp_data->cap[179]->pp_cap->UnknownTokens[3].Token = 0x00
8744pp_data->cap[179]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8745pp_data->cap[179]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8746pp_data->cap[179]->NotRange.Usage = 0x0081
8747pp_data->cap[179]->NotRange.Reserved1 = 0x0081
8748pp_data->cap[179]->NotRange.StringIndex = 0
8749pp_data->cap[179]->NotRange.Reserved2 = 0
8750pp_data->cap[179]->NotRange.DesignatorIndex = 0
8751pp_data->cap[179]->NotRange.Reserved3 = 0
8752pp_data->cap[179]->NotRange.DataIndex = 92
8753pp_data->cap[179]->NotRange.Reserved4 = 92
8754pp_data->cap[179]->NotButton.HasNull = 0
8755pp_data->cap[179]->NotButton.Reserved4 = 0x000000
8756pp_data->cap[179]->NotButton.LogicalMin = 0
8757pp_data->cap[179]->NotButton.LogicalMax = 127
8758pp_data->cap[179]->NotButton.PhysicalMin = 0
8759pp_data->cap[179]->NotButton.PhysicalMax = 0
8760pp_data->cap[179]->Units = 0
8761pp_data->cap[179]->UnitsExp = 0
8762
8763pp_data->cap[180]->UsagePage = 0xFF01
8764pp_data->cap[180]->ReportID = 0x80
8765pp_data->cap[180]->BitPosition = 0
8766pp_data->cap[180]->BitSize = 8
8767pp_data->cap[180]->ReportCount = 1
8768pp_data->cap[180]->BytePosition = 0x0001
8769pp_data->cap[180]->BitCount = 8
8770pp_data->cap[180]->BitField = 0x02
8771pp_data->cap[180]->NextBytePosition = 0x0002
8772pp_data->cap[180]->LinkCollection = 0x0003
8773pp_data->cap[180]->LinkUsagePage = 0xFF01
8774pp_data->cap[180]->LinkUsage = 0x0080
8775pp_data->cap[180]->IsMultipleItemsForArray = 0
8776pp_data->cap[180]->IsButtonCap = 0
8777pp_data->cap[180]->IsPadding = 0
8778pp_data->cap[180]->IsAbsolute = 1
8779pp_data->cap[180]->IsRange = 0
8780pp_data->cap[180]->IsAlias = 0
8781pp_data->cap[180]->IsStringRange = 0
8782pp_data->cap[180]->IsDesignatorRange = 0
8783pp_data->cap[180]->Reserved1 = 0x000000
8784pp_data->cap[180]->pp_cap->UnknownTokens[0].Token = 0x00
8785pp_data->cap[180]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8786pp_data->cap[180]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8787pp_data->cap[180]->pp_cap->UnknownTokens[1].Token = 0x00
8788pp_data->cap[180]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8789pp_data->cap[180]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8790pp_data->cap[180]->pp_cap->UnknownTokens[2].Token = 0x00
8791pp_data->cap[180]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8792pp_data->cap[180]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8793pp_data->cap[180]->pp_cap->UnknownTokens[3].Token = 0x00
8794pp_data->cap[180]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8795pp_data->cap[180]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8796pp_data->cap[180]->NotRange.Usage = 0x0081
8797pp_data->cap[180]->NotRange.Reserved1 = 0x0081
8798pp_data->cap[180]->NotRange.StringIndex = 0
8799pp_data->cap[180]->NotRange.Reserved2 = 0
8800pp_data->cap[180]->NotRange.DesignatorIndex = 0
8801pp_data->cap[180]->NotRange.Reserved3 = 0
8802pp_data->cap[180]->NotRange.DataIndex = 93
8803pp_data->cap[180]->NotRange.Reserved4 = 93
8804pp_data->cap[180]->NotButton.HasNull = 0
8805pp_data->cap[180]->NotButton.Reserved4 = 0x000000
8806pp_data->cap[180]->NotButton.LogicalMin = 0
8807pp_data->cap[180]->NotButton.LogicalMax = 127
8808pp_data->cap[180]->NotButton.PhysicalMin = 0
8809pp_data->cap[180]->NotButton.PhysicalMax = 0
8810pp_data->cap[180]->Units = 0
8811pp_data->cap[180]->UnitsExp = 0
8812
8813pp_data->cap[181]->UsagePage = 0xFF01
8814pp_data->cap[181]->ReportID = 0x81
8815pp_data->cap[181]->BitPosition = 0
8816pp_data->cap[181]->BitSize = 8
8817pp_data->cap[181]->ReportCount = 1
8818pp_data->cap[181]->BytePosition = 0x0028
8819pp_data->cap[181]->BitCount = 8
8820pp_data->cap[181]->BitField = 0x02
8821pp_data->cap[181]->NextBytePosition = 0x0029
8822pp_data->cap[181]->LinkCollection = 0x0004
8823pp_data->cap[181]->LinkUsagePage = 0xFF01
8824pp_data->cap[181]->LinkUsage = 0x0080
8825pp_data->cap[181]->IsMultipleItemsForArray = 0
8826pp_data->cap[181]->IsButtonCap = 0
8827pp_data->cap[181]->IsPadding = 0
8828pp_data->cap[181]->IsAbsolute = 1
8829pp_data->cap[181]->IsRange = 0
8830pp_data->cap[181]->IsAlias = 0
8831pp_data->cap[181]->IsStringRange = 0
8832pp_data->cap[181]->IsDesignatorRange = 0
8833pp_data->cap[181]->Reserved1 = 0x000000
8834pp_data->cap[181]->pp_cap->UnknownTokens[0].Token = 0x00
8835pp_data->cap[181]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8836pp_data->cap[181]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8837pp_data->cap[181]->pp_cap->UnknownTokens[1].Token = 0x00
8838pp_data->cap[181]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8839pp_data->cap[181]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8840pp_data->cap[181]->pp_cap->UnknownTokens[2].Token = 0x00
8841pp_data->cap[181]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8842pp_data->cap[181]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8843pp_data->cap[181]->pp_cap->UnknownTokens[3].Token = 0x00
8844pp_data->cap[181]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8845pp_data->cap[181]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8846pp_data->cap[181]->NotRange.Usage = 0x0081
8847pp_data->cap[181]->NotRange.Reserved1 = 0x0081
8848pp_data->cap[181]->NotRange.StringIndex = 0
8849pp_data->cap[181]->NotRange.Reserved2 = 0
8850pp_data->cap[181]->NotRange.DesignatorIndex = 0
8851pp_data->cap[181]->NotRange.Reserved3 = 0
8852pp_data->cap[181]->NotRange.DataIndex = 94
8853pp_data->cap[181]->NotRange.Reserved4 = 94
8854pp_data->cap[181]->NotButton.HasNull = 0
8855pp_data->cap[181]->NotButton.Reserved4 = 0x000000
8856pp_data->cap[181]->NotButton.LogicalMin = 0
8857pp_data->cap[181]->NotButton.LogicalMax = 127
8858pp_data->cap[181]->NotButton.PhysicalMin = 0
8859pp_data->cap[181]->NotButton.PhysicalMax = 0
8860pp_data->cap[181]->Units = 0
8861pp_data->cap[181]->UnitsExp = 0
8862
8863pp_data->cap[182]->UsagePage = 0xFF01
8864pp_data->cap[182]->ReportID = 0x81
8865pp_data->cap[182]->BitPosition = 0
8866pp_data->cap[182]->BitSize = 8
8867pp_data->cap[182]->ReportCount = 1
8868pp_data->cap[182]->BytePosition = 0x0027
8869pp_data->cap[182]->BitCount = 8
8870pp_data->cap[182]->BitField = 0x02
8871pp_data->cap[182]->NextBytePosition = 0x0028
8872pp_data->cap[182]->LinkCollection = 0x0004
8873pp_data->cap[182]->LinkUsagePage = 0xFF01
8874pp_data->cap[182]->LinkUsage = 0x0080
8875pp_data->cap[182]->IsMultipleItemsForArray = 0
8876pp_data->cap[182]->IsButtonCap = 0
8877pp_data->cap[182]->IsPadding = 0
8878pp_data->cap[182]->IsAbsolute = 1
8879pp_data->cap[182]->IsRange = 0
8880pp_data->cap[182]->IsAlias = 0
8881pp_data->cap[182]->IsStringRange = 0
8882pp_data->cap[182]->IsDesignatorRange = 0
8883pp_data->cap[182]->Reserved1 = 0x000000
8884pp_data->cap[182]->pp_cap->UnknownTokens[0].Token = 0x00
8885pp_data->cap[182]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8886pp_data->cap[182]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8887pp_data->cap[182]->pp_cap->UnknownTokens[1].Token = 0x00
8888pp_data->cap[182]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8889pp_data->cap[182]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8890pp_data->cap[182]->pp_cap->UnknownTokens[2].Token = 0x00
8891pp_data->cap[182]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8892pp_data->cap[182]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8893pp_data->cap[182]->pp_cap->UnknownTokens[3].Token = 0x00
8894pp_data->cap[182]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8895pp_data->cap[182]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8896pp_data->cap[182]->NotRange.Usage = 0x0081
8897pp_data->cap[182]->NotRange.Reserved1 = 0x0081
8898pp_data->cap[182]->NotRange.StringIndex = 0
8899pp_data->cap[182]->NotRange.Reserved2 = 0
8900pp_data->cap[182]->NotRange.DesignatorIndex = 0
8901pp_data->cap[182]->NotRange.Reserved3 = 0
8902pp_data->cap[182]->NotRange.DataIndex = 95
8903pp_data->cap[182]->NotRange.Reserved4 = 95
8904pp_data->cap[182]->NotButton.HasNull = 0
8905pp_data->cap[182]->NotButton.Reserved4 = 0x000000
8906pp_data->cap[182]->NotButton.LogicalMin = 0
8907pp_data->cap[182]->NotButton.LogicalMax = 127
8908pp_data->cap[182]->NotButton.PhysicalMin = 0
8909pp_data->cap[182]->NotButton.PhysicalMax = 0
8910pp_data->cap[182]->Units = 0
8911pp_data->cap[182]->UnitsExp = 0
8912
8913pp_data->cap[183]->UsagePage = 0xFF01
8914pp_data->cap[183]->ReportID = 0x81
8915pp_data->cap[183]->BitPosition = 0
8916pp_data->cap[183]->BitSize = 8
8917pp_data->cap[183]->ReportCount = 1
8918pp_data->cap[183]->BytePosition = 0x0026
8919pp_data->cap[183]->BitCount = 8
8920pp_data->cap[183]->BitField = 0x02
8921pp_data->cap[183]->NextBytePosition = 0x0027
8922pp_data->cap[183]->LinkCollection = 0x0004
8923pp_data->cap[183]->LinkUsagePage = 0xFF01
8924pp_data->cap[183]->LinkUsage = 0x0080
8925pp_data->cap[183]->IsMultipleItemsForArray = 0
8926pp_data->cap[183]->IsButtonCap = 0
8927pp_data->cap[183]->IsPadding = 0
8928pp_data->cap[183]->IsAbsolute = 1
8929pp_data->cap[183]->IsRange = 0
8930pp_data->cap[183]->IsAlias = 0
8931pp_data->cap[183]->IsStringRange = 0
8932pp_data->cap[183]->IsDesignatorRange = 0
8933pp_data->cap[183]->Reserved1 = 0x000000
8934pp_data->cap[183]->pp_cap->UnknownTokens[0].Token = 0x00
8935pp_data->cap[183]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8936pp_data->cap[183]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8937pp_data->cap[183]->pp_cap->UnknownTokens[1].Token = 0x00
8938pp_data->cap[183]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8939pp_data->cap[183]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8940pp_data->cap[183]->pp_cap->UnknownTokens[2].Token = 0x00
8941pp_data->cap[183]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8942pp_data->cap[183]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8943pp_data->cap[183]->pp_cap->UnknownTokens[3].Token = 0x00
8944pp_data->cap[183]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8945pp_data->cap[183]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8946pp_data->cap[183]->NotRange.Usage = 0x0081
8947pp_data->cap[183]->NotRange.Reserved1 = 0x0081
8948pp_data->cap[183]->NotRange.StringIndex = 0
8949pp_data->cap[183]->NotRange.Reserved2 = 0
8950pp_data->cap[183]->NotRange.DesignatorIndex = 0
8951pp_data->cap[183]->NotRange.Reserved3 = 0
8952pp_data->cap[183]->NotRange.DataIndex = 96
8953pp_data->cap[183]->NotRange.Reserved4 = 96
8954pp_data->cap[183]->NotButton.HasNull = 0
8955pp_data->cap[183]->NotButton.Reserved4 = 0x000000
8956pp_data->cap[183]->NotButton.LogicalMin = 0
8957pp_data->cap[183]->NotButton.LogicalMax = 127
8958pp_data->cap[183]->NotButton.PhysicalMin = 0
8959pp_data->cap[183]->NotButton.PhysicalMax = 0
8960pp_data->cap[183]->Units = 0
8961pp_data->cap[183]->UnitsExp = 0
8962
8963pp_data->cap[184]->UsagePage = 0xFF01
8964pp_data->cap[184]->ReportID = 0x81
8965pp_data->cap[184]->BitPosition = 0
8966pp_data->cap[184]->BitSize = 8
8967pp_data->cap[184]->ReportCount = 1
8968pp_data->cap[184]->BytePosition = 0x0025
8969pp_data->cap[184]->BitCount = 8
8970pp_data->cap[184]->BitField = 0x02
8971pp_data->cap[184]->NextBytePosition = 0x0026
8972pp_data->cap[184]->LinkCollection = 0x0004
8973pp_data->cap[184]->LinkUsagePage = 0xFF01
8974pp_data->cap[184]->LinkUsage = 0x0080
8975pp_data->cap[184]->IsMultipleItemsForArray = 0
8976pp_data->cap[184]->IsButtonCap = 0
8977pp_data->cap[184]->IsPadding = 0
8978pp_data->cap[184]->IsAbsolute = 1
8979pp_data->cap[184]->IsRange = 0
8980pp_data->cap[184]->IsAlias = 0
8981pp_data->cap[184]->IsStringRange = 0
8982pp_data->cap[184]->IsDesignatorRange = 0
8983pp_data->cap[184]->Reserved1 = 0x000000
8984pp_data->cap[184]->pp_cap->UnknownTokens[0].Token = 0x00
8985pp_data->cap[184]->pp_cap->UnknownTokens[0].Reserved = 0x000000
8986pp_data->cap[184]->pp_cap->UnknownTokens[0].BitField = 0x00000000
8987pp_data->cap[184]->pp_cap->UnknownTokens[1].Token = 0x00
8988pp_data->cap[184]->pp_cap->UnknownTokens[1].Reserved = 0x000000
8989pp_data->cap[184]->pp_cap->UnknownTokens[1].BitField = 0x00000000
8990pp_data->cap[184]->pp_cap->UnknownTokens[2].Token = 0x00
8991pp_data->cap[184]->pp_cap->UnknownTokens[2].Reserved = 0x000000
8992pp_data->cap[184]->pp_cap->UnknownTokens[2].BitField = 0x00000000
8993pp_data->cap[184]->pp_cap->UnknownTokens[3].Token = 0x00
8994pp_data->cap[184]->pp_cap->UnknownTokens[3].Reserved = 0x000000
8995pp_data->cap[184]->pp_cap->UnknownTokens[3].BitField = 0x00000000
8996pp_data->cap[184]->NotRange.Usage = 0x0081
8997pp_data->cap[184]->NotRange.Reserved1 = 0x0081
8998pp_data->cap[184]->NotRange.StringIndex = 0
8999pp_data->cap[184]->NotRange.Reserved2 = 0
9000pp_data->cap[184]->NotRange.DesignatorIndex = 0
9001pp_data->cap[184]->NotRange.Reserved3 = 0
9002pp_data->cap[184]->NotRange.DataIndex = 97
9003pp_data->cap[184]->NotRange.Reserved4 = 97
9004pp_data->cap[184]->NotButton.HasNull = 0
9005pp_data->cap[184]->NotButton.Reserved4 = 0x000000
9006pp_data->cap[184]->NotButton.LogicalMin = 0
9007pp_data->cap[184]->NotButton.LogicalMax = 127
9008pp_data->cap[184]->NotButton.PhysicalMin = 0
9009pp_data->cap[184]->NotButton.PhysicalMax = 0
9010pp_data->cap[184]->Units = 0
9011pp_data->cap[184]->UnitsExp = 0
9012
9013pp_data->cap[185]->UsagePage = 0xFF01
9014pp_data->cap[185]->ReportID = 0x81
9015pp_data->cap[185]->BitPosition = 0
9016pp_data->cap[185]->BitSize = 8
9017pp_data->cap[185]->ReportCount = 1
9018pp_data->cap[185]->BytePosition = 0x0024
9019pp_data->cap[185]->BitCount = 8
9020pp_data->cap[185]->BitField = 0x02
9021pp_data->cap[185]->NextBytePosition = 0x0025
9022pp_data->cap[185]->LinkCollection = 0x0004
9023pp_data->cap[185]->LinkUsagePage = 0xFF01
9024pp_data->cap[185]->LinkUsage = 0x0080
9025pp_data->cap[185]->IsMultipleItemsForArray = 0
9026pp_data->cap[185]->IsButtonCap = 0
9027pp_data->cap[185]->IsPadding = 0
9028pp_data->cap[185]->IsAbsolute = 1
9029pp_data->cap[185]->IsRange = 0
9030pp_data->cap[185]->IsAlias = 0
9031pp_data->cap[185]->IsStringRange = 0
9032pp_data->cap[185]->IsDesignatorRange = 0
9033pp_data->cap[185]->Reserved1 = 0x000000
9034pp_data->cap[185]->pp_cap->UnknownTokens[0].Token = 0x00
9035pp_data->cap[185]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9036pp_data->cap[185]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9037pp_data->cap[185]->pp_cap->UnknownTokens[1].Token = 0x00
9038pp_data->cap[185]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9039pp_data->cap[185]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9040pp_data->cap[185]->pp_cap->UnknownTokens[2].Token = 0x00
9041pp_data->cap[185]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9042pp_data->cap[185]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9043pp_data->cap[185]->pp_cap->UnknownTokens[3].Token = 0x00
9044pp_data->cap[185]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9045pp_data->cap[185]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9046pp_data->cap[185]->NotRange.Usage = 0x0081
9047pp_data->cap[185]->NotRange.Reserved1 = 0x0081
9048pp_data->cap[185]->NotRange.StringIndex = 0
9049pp_data->cap[185]->NotRange.Reserved2 = 0
9050pp_data->cap[185]->NotRange.DesignatorIndex = 0
9051pp_data->cap[185]->NotRange.Reserved3 = 0
9052pp_data->cap[185]->NotRange.DataIndex = 98
9053pp_data->cap[185]->NotRange.Reserved4 = 98
9054pp_data->cap[185]->NotButton.HasNull = 0
9055pp_data->cap[185]->NotButton.Reserved4 = 0x000000
9056pp_data->cap[185]->NotButton.LogicalMin = 0
9057pp_data->cap[185]->NotButton.LogicalMax = 127
9058pp_data->cap[185]->NotButton.PhysicalMin = 0
9059pp_data->cap[185]->NotButton.PhysicalMax = 0
9060pp_data->cap[185]->Units = 0
9061pp_data->cap[185]->UnitsExp = 0
9062
9063pp_data->cap[186]->UsagePage = 0xFF01
9064pp_data->cap[186]->ReportID = 0x81
9065pp_data->cap[186]->BitPosition = 0
9066pp_data->cap[186]->BitSize = 8
9067pp_data->cap[186]->ReportCount = 1
9068pp_data->cap[186]->BytePosition = 0x0023
9069pp_data->cap[186]->BitCount = 8
9070pp_data->cap[186]->BitField = 0x02
9071pp_data->cap[186]->NextBytePosition = 0x0024
9072pp_data->cap[186]->LinkCollection = 0x0004
9073pp_data->cap[186]->LinkUsagePage = 0xFF01
9074pp_data->cap[186]->LinkUsage = 0x0080
9075pp_data->cap[186]->IsMultipleItemsForArray = 0
9076pp_data->cap[186]->IsButtonCap = 0
9077pp_data->cap[186]->IsPadding = 0
9078pp_data->cap[186]->IsAbsolute = 1
9079pp_data->cap[186]->IsRange = 0
9080pp_data->cap[186]->IsAlias = 0
9081pp_data->cap[186]->IsStringRange = 0
9082pp_data->cap[186]->IsDesignatorRange = 0
9083pp_data->cap[186]->Reserved1 = 0x000000
9084pp_data->cap[186]->pp_cap->UnknownTokens[0].Token = 0x00
9085pp_data->cap[186]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9086pp_data->cap[186]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9087pp_data->cap[186]->pp_cap->UnknownTokens[1].Token = 0x00
9088pp_data->cap[186]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9089pp_data->cap[186]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9090pp_data->cap[186]->pp_cap->UnknownTokens[2].Token = 0x00
9091pp_data->cap[186]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9092pp_data->cap[186]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9093pp_data->cap[186]->pp_cap->UnknownTokens[3].Token = 0x00
9094pp_data->cap[186]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9095pp_data->cap[186]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9096pp_data->cap[186]->NotRange.Usage = 0x0081
9097pp_data->cap[186]->NotRange.Reserved1 = 0x0081
9098pp_data->cap[186]->NotRange.StringIndex = 0
9099pp_data->cap[186]->NotRange.Reserved2 = 0
9100pp_data->cap[186]->NotRange.DesignatorIndex = 0
9101pp_data->cap[186]->NotRange.Reserved3 = 0
9102pp_data->cap[186]->NotRange.DataIndex = 99
9103pp_data->cap[186]->NotRange.Reserved4 = 99
9104pp_data->cap[186]->NotButton.HasNull = 0
9105pp_data->cap[186]->NotButton.Reserved4 = 0x000000
9106pp_data->cap[186]->NotButton.LogicalMin = 0
9107pp_data->cap[186]->NotButton.LogicalMax = 127
9108pp_data->cap[186]->NotButton.PhysicalMin = 0
9109pp_data->cap[186]->NotButton.PhysicalMax = 0
9110pp_data->cap[186]->Units = 0
9111pp_data->cap[186]->UnitsExp = 0
9112
9113pp_data->cap[187]->UsagePage = 0xFF01
9114pp_data->cap[187]->ReportID = 0x81
9115pp_data->cap[187]->BitPosition = 0
9116pp_data->cap[187]->BitSize = 8
9117pp_data->cap[187]->ReportCount = 1
9118pp_data->cap[187]->BytePosition = 0x0022
9119pp_data->cap[187]->BitCount = 8
9120pp_data->cap[187]->BitField = 0x02
9121pp_data->cap[187]->NextBytePosition = 0x0023
9122pp_data->cap[187]->LinkCollection = 0x0004
9123pp_data->cap[187]->LinkUsagePage = 0xFF01
9124pp_data->cap[187]->LinkUsage = 0x0080
9125pp_data->cap[187]->IsMultipleItemsForArray = 0
9126pp_data->cap[187]->IsButtonCap = 0
9127pp_data->cap[187]->IsPadding = 0
9128pp_data->cap[187]->IsAbsolute = 1
9129pp_data->cap[187]->IsRange = 0
9130pp_data->cap[187]->IsAlias = 0
9131pp_data->cap[187]->IsStringRange = 0
9132pp_data->cap[187]->IsDesignatorRange = 0
9133pp_data->cap[187]->Reserved1 = 0x000000
9134pp_data->cap[187]->pp_cap->UnknownTokens[0].Token = 0x00
9135pp_data->cap[187]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9136pp_data->cap[187]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9137pp_data->cap[187]->pp_cap->UnknownTokens[1].Token = 0x00
9138pp_data->cap[187]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9139pp_data->cap[187]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9140pp_data->cap[187]->pp_cap->UnknownTokens[2].Token = 0x00
9141pp_data->cap[187]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9142pp_data->cap[187]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9143pp_data->cap[187]->pp_cap->UnknownTokens[3].Token = 0x00
9144pp_data->cap[187]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9145pp_data->cap[187]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9146pp_data->cap[187]->NotRange.Usage = 0x0081
9147pp_data->cap[187]->NotRange.Reserved1 = 0x0081
9148pp_data->cap[187]->NotRange.StringIndex = 0
9149pp_data->cap[187]->NotRange.Reserved2 = 0
9150pp_data->cap[187]->NotRange.DesignatorIndex = 0
9151pp_data->cap[187]->NotRange.Reserved3 = 0
9152pp_data->cap[187]->NotRange.DataIndex = 100
9153pp_data->cap[187]->NotRange.Reserved4 = 100
9154pp_data->cap[187]->NotButton.HasNull = 0
9155pp_data->cap[187]->NotButton.Reserved4 = 0x000000
9156pp_data->cap[187]->NotButton.LogicalMin = 0
9157pp_data->cap[187]->NotButton.LogicalMax = 127
9158pp_data->cap[187]->NotButton.PhysicalMin = 0
9159pp_data->cap[187]->NotButton.PhysicalMax = 0
9160pp_data->cap[187]->Units = 0
9161pp_data->cap[187]->UnitsExp = 0
9162
9163pp_data->cap[188]->UsagePage = 0xFF01
9164pp_data->cap[188]->ReportID = 0x81
9165pp_data->cap[188]->BitPosition = 0
9166pp_data->cap[188]->BitSize = 8
9167pp_data->cap[188]->ReportCount = 1
9168pp_data->cap[188]->BytePosition = 0x0021
9169pp_data->cap[188]->BitCount = 8
9170pp_data->cap[188]->BitField = 0x02
9171pp_data->cap[188]->NextBytePosition = 0x0022
9172pp_data->cap[188]->LinkCollection = 0x0004
9173pp_data->cap[188]->LinkUsagePage = 0xFF01
9174pp_data->cap[188]->LinkUsage = 0x0080
9175pp_data->cap[188]->IsMultipleItemsForArray = 0
9176pp_data->cap[188]->IsButtonCap = 0
9177pp_data->cap[188]->IsPadding = 0
9178pp_data->cap[188]->IsAbsolute = 1
9179pp_data->cap[188]->IsRange = 0
9180pp_data->cap[188]->IsAlias = 0
9181pp_data->cap[188]->IsStringRange = 0
9182pp_data->cap[188]->IsDesignatorRange = 0
9183pp_data->cap[188]->Reserved1 = 0x000000
9184pp_data->cap[188]->pp_cap->UnknownTokens[0].Token = 0x00
9185pp_data->cap[188]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9186pp_data->cap[188]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9187pp_data->cap[188]->pp_cap->UnknownTokens[1].Token = 0x00
9188pp_data->cap[188]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9189pp_data->cap[188]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9190pp_data->cap[188]->pp_cap->UnknownTokens[2].Token = 0x00
9191pp_data->cap[188]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9192pp_data->cap[188]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9193pp_data->cap[188]->pp_cap->UnknownTokens[3].Token = 0x00
9194pp_data->cap[188]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9195pp_data->cap[188]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9196pp_data->cap[188]->NotRange.Usage = 0x0081
9197pp_data->cap[188]->NotRange.Reserved1 = 0x0081
9198pp_data->cap[188]->NotRange.StringIndex = 0
9199pp_data->cap[188]->NotRange.Reserved2 = 0
9200pp_data->cap[188]->NotRange.DesignatorIndex = 0
9201pp_data->cap[188]->NotRange.Reserved3 = 0
9202pp_data->cap[188]->NotRange.DataIndex = 101
9203pp_data->cap[188]->NotRange.Reserved4 = 101
9204pp_data->cap[188]->NotButton.HasNull = 0
9205pp_data->cap[188]->NotButton.Reserved4 = 0x000000
9206pp_data->cap[188]->NotButton.LogicalMin = 0
9207pp_data->cap[188]->NotButton.LogicalMax = 127
9208pp_data->cap[188]->NotButton.PhysicalMin = 0
9209pp_data->cap[188]->NotButton.PhysicalMax = 0
9210pp_data->cap[188]->Units = 0
9211pp_data->cap[188]->UnitsExp = 0
9212
9213pp_data->cap[189]->UsagePage = 0xFF01
9214pp_data->cap[189]->ReportID = 0x81
9215pp_data->cap[189]->BitPosition = 0
9216pp_data->cap[189]->BitSize = 8
9217pp_data->cap[189]->ReportCount = 1
9218pp_data->cap[189]->BytePosition = 0x0020
9219pp_data->cap[189]->BitCount = 8
9220pp_data->cap[189]->BitField = 0x02
9221pp_data->cap[189]->NextBytePosition = 0x0021
9222pp_data->cap[189]->LinkCollection = 0x0004
9223pp_data->cap[189]->LinkUsagePage = 0xFF01
9224pp_data->cap[189]->LinkUsage = 0x0080
9225pp_data->cap[189]->IsMultipleItemsForArray = 0
9226pp_data->cap[189]->IsButtonCap = 0
9227pp_data->cap[189]->IsPadding = 0
9228pp_data->cap[189]->IsAbsolute = 1
9229pp_data->cap[189]->IsRange = 0
9230pp_data->cap[189]->IsAlias = 0
9231pp_data->cap[189]->IsStringRange = 0
9232pp_data->cap[189]->IsDesignatorRange = 0
9233pp_data->cap[189]->Reserved1 = 0x000000
9234pp_data->cap[189]->pp_cap->UnknownTokens[0].Token = 0x00
9235pp_data->cap[189]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9236pp_data->cap[189]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9237pp_data->cap[189]->pp_cap->UnknownTokens[1].Token = 0x00
9238pp_data->cap[189]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9239pp_data->cap[189]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9240pp_data->cap[189]->pp_cap->UnknownTokens[2].Token = 0x00
9241pp_data->cap[189]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9242pp_data->cap[189]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9243pp_data->cap[189]->pp_cap->UnknownTokens[3].Token = 0x00
9244pp_data->cap[189]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9245pp_data->cap[189]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9246pp_data->cap[189]->NotRange.Usage = 0x0081
9247pp_data->cap[189]->NotRange.Reserved1 = 0x0081
9248pp_data->cap[189]->NotRange.StringIndex = 0
9249pp_data->cap[189]->NotRange.Reserved2 = 0
9250pp_data->cap[189]->NotRange.DesignatorIndex = 0
9251pp_data->cap[189]->NotRange.Reserved3 = 0
9252pp_data->cap[189]->NotRange.DataIndex = 102
9253pp_data->cap[189]->NotRange.Reserved4 = 102
9254pp_data->cap[189]->NotButton.HasNull = 0
9255pp_data->cap[189]->NotButton.Reserved4 = 0x000000
9256pp_data->cap[189]->NotButton.LogicalMin = 0
9257pp_data->cap[189]->NotButton.LogicalMax = 127
9258pp_data->cap[189]->NotButton.PhysicalMin = 0
9259pp_data->cap[189]->NotButton.PhysicalMax = 0
9260pp_data->cap[189]->Units = 0
9261pp_data->cap[189]->UnitsExp = 0
9262
9263pp_data->cap[190]->UsagePage = 0xFF01
9264pp_data->cap[190]->ReportID = 0x81
9265pp_data->cap[190]->BitPosition = 0
9266pp_data->cap[190]->BitSize = 8
9267pp_data->cap[190]->ReportCount = 1
9268pp_data->cap[190]->BytePosition = 0x001F
9269pp_data->cap[190]->BitCount = 8
9270pp_data->cap[190]->BitField = 0x02
9271pp_data->cap[190]->NextBytePosition = 0x0020
9272pp_data->cap[190]->LinkCollection = 0x0004
9273pp_data->cap[190]->LinkUsagePage = 0xFF01
9274pp_data->cap[190]->LinkUsage = 0x0080
9275pp_data->cap[190]->IsMultipleItemsForArray = 0
9276pp_data->cap[190]->IsButtonCap = 0
9277pp_data->cap[190]->IsPadding = 0
9278pp_data->cap[190]->IsAbsolute = 1
9279pp_data->cap[190]->IsRange = 0
9280pp_data->cap[190]->IsAlias = 0
9281pp_data->cap[190]->IsStringRange = 0
9282pp_data->cap[190]->IsDesignatorRange = 0
9283pp_data->cap[190]->Reserved1 = 0x000000
9284pp_data->cap[190]->pp_cap->UnknownTokens[0].Token = 0x00
9285pp_data->cap[190]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9286pp_data->cap[190]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9287pp_data->cap[190]->pp_cap->UnknownTokens[1].Token = 0x00
9288pp_data->cap[190]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9289pp_data->cap[190]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9290pp_data->cap[190]->pp_cap->UnknownTokens[2].Token = 0x00
9291pp_data->cap[190]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9292pp_data->cap[190]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9293pp_data->cap[190]->pp_cap->UnknownTokens[3].Token = 0x00
9294pp_data->cap[190]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9295pp_data->cap[190]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9296pp_data->cap[190]->NotRange.Usage = 0x0081
9297pp_data->cap[190]->NotRange.Reserved1 = 0x0081
9298pp_data->cap[190]->NotRange.StringIndex = 0
9299pp_data->cap[190]->NotRange.Reserved2 = 0
9300pp_data->cap[190]->NotRange.DesignatorIndex = 0
9301pp_data->cap[190]->NotRange.Reserved3 = 0
9302pp_data->cap[190]->NotRange.DataIndex = 103
9303pp_data->cap[190]->NotRange.Reserved4 = 103
9304pp_data->cap[190]->NotButton.HasNull = 0
9305pp_data->cap[190]->NotButton.Reserved4 = 0x000000
9306pp_data->cap[190]->NotButton.LogicalMin = 0
9307pp_data->cap[190]->NotButton.LogicalMax = 127
9308pp_data->cap[190]->NotButton.PhysicalMin = 0
9309pp_data->cap[190]->NotButton.PhysicalMax = 0
9310pp_data->cap[190]->Units = 0
9311pp_data->cap[190]->UnitsExp = 0
9312
9313pp_data->cap[191]->UsagePage = 0xFF01
9314pp_data->cap[191]->ReportID = 0x81
9315pp_data->cap[191]->BitPosition = 0
9316pp_data->cap[191]->BitSize = 8
9317pp_data->cap[191]->ReportCount = 1
9318pp_data->cap[191]->BytePosition = 0x001E
9319pp_data->cap[191]->BitCount = 8
9320pp_data->cap[191]->BitField = 0x02
9321pp_data->cap[191]->NextBytePosition = 0x001F
9322pp_data->cap[191]->LinkCollection = 0x0004
9323pp_data->cap[191]->LinkUsagePage = 0xFF01
9324pp_data->cap[191]->LinkUsage = 0x0080
9325pp_data->cap[191]->IsMultipleItemsForArray = 0
9326pp_data->cap[191]->IsButtonCap = 0
9327pp_data->cap[191]->IsPadding = 0
9328pp_data->cap[191]->IsAbsolute = 1
9329pp_data->cap[191]->IsRange = 0
9330pp_data->cap[191]->IsAlias = 0
9331pp_data->cap[191]->IsStringRange = 0
9332pp_data->cap[191]->IsDesignatorRange = 0
9333pp_data->cap[191]->Reserved1 = 0x000000
9334pp_data->cap[191]->pp_cap->UnknownTokens[0].Token = 0x00
9335pp_data->cap[191]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9336pp_data->cap[191]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9337pp_data->cap[191]->pp_cap->UnknownTokens[1].Token = 0x00
9338pp_data->cap[191]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9339pp_data->cap[191]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9340pp_data->cap[191]->pp_cap->UnknownTokens[2].Token = 0x00
9341pp_data->cap[191]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9342pp_data->cap[191]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9343pp_data->cap[191]->pp_cap->UnknownTokens[3].Token = 0x00
9344pp_data->cap[191]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9345pp_data->cap[191]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9346pp_data->cap[191]->NotRange.Usage = 0x0081
9347pp_data->cap[191]->NotRange.Reserved1 = 0x0081
9348pp_data->cap[191]->NotRange.StringIndex = 0
9349pp_data->cap[191]->NotRange.Reserved2 = 0
9350pp_data->cap[191]->NotRange.DesignatorIndex = 0
9351pp_data->cap[191]->NotRange.Reserved3 = 0
9352pp_data->cap[191]->NotRange.DataIndex = 104
9353pp_data->cap[191]->NotRange.Reserved4 = 104
9354pp_data->cap[191]->NotButton.HasNull = 0
9355pp_data->cap[191]->NotButton.Reserved4 = 0x000000
9356pp_data->cap[191]->NotButton.LogicalMin = 0
9357pp_data->cap[191]->NotButton.LogicalMax = 127
9358pp_data->cap[191]->NotButton.PhysicalMin = 0
9359pp_data->cap[191]->NotButton.PhysicalMax = 0
9360pp_data->cap[191]->Units = 0
9361pp_data->cap[191]->UnitsExp = 0
9362
9363pp_data->cap[192]->UsagePage = 0xFF01
9364pp_data->cap[192]->ReportID = 0x81
9365pp_data->cap[192]->BitPosition = 0
9366pp_data->cap[192]->BitSize = 8
9367pp_data->cap[192]->ReportCount = 1
9368pp_data->cap[192]->BytePosition = 0x001D
9369pp_data->cap[192]->BitCount = 8
9370pp_data->cap[192]->BitField = 0x02
9371pp_data->cap[192]->NextBytePosition = 0x001E
9372pp_data->cap[192]->LinkCollection = 0x0004
9373pp_data->cap[192]->LinkUsagePage = 0xFF01
9374pp_data->cap[192]->LinkUsage = 0x0080
9375pp_data->cap[192]->IsMultipleItemsForArray = 0
9376pp_data->cap[192]->IsButtonCap = 0
9377pp_data->cap[192]->IsPadding = 0
9378pp_data->cap[192]->IsAbsolute = 1
9379pp_data->cap[192]->IsRange = 0
9380pp_data->cap[192]->IsAlias = 0
9381pp_data->cap[192]->IsStringRange = 0
9382pp_data->cap[192]->IsDesignatorRange = 0
9383pp_data->cap[192]->Reserved1 = 0x000000
9384pp_data->cap[192]->pp_cap->UnknownTokens[0].Token = 0x00
9385pp_data->cap[192]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9386pp_data->cap[192]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9387pp_data->cap[192]->pp_cap->UnknownTokens[1].Token = 0x00
9388pp_data->cap[192]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9389pp_data->cap[192]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9390pp_data->cap[192]->pp_cap->UnknownTokens[2].Token = 0x00
9391pp_data->cap[192]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9392pp_data->cap[192]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9393pp_data->cap[192]->pp_cap->UnknownTokens[3].Token = 0x00
9394pp_data->cap[192]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9395pp_data->cap[192]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9396pp_data->cap[192]->NotRange.Usage = 0x0081
9397pp_data->cap[192]->NotRange.Reserved1 = 0x0081
9398pp_data->cap[192]->NotRange.StringIndex = 0
9399pp_data->cap[192]->NotRange.Reserved2 = 0
9400pp_data->cap[192]->NotRange.DesignatorIndex = 0
9401pp_data->cap[192]->NotRange.Reserved3 = 0
9402pp_data->cap[192]->NotRange.DataIndex = 105
9403pp_data->cap[192]->NotRange.Reserved4 = 105
9404pp_data->cap[192]->NotButton.HasNull = 0
9405pp_data->cap[192]->NotButton.Reserved4 = 0x000000
9406pp_data->cap[192]->NotButton.LogicalMin = 0
9407pp_data->cap[192]->NotButton.LogicalMax = 127
9408pp_data->cap[192]->NotButton.PhysicalMin = 0
9409pp_data->cap[192]->NotButton.PhysicalMax = 0
9410pp_data->cap[192]->Units = 0
9411pp_data->cap[192]->UnitsExp = 0
9412
9413pp_data->cap[193]->UsagePage = 0xFF01
9414pp_data->cap[193]->ReportID = 0x81
9415pp_data->cap[193]->BitPosition = 0
9416pp_data->cap[193]->BitSize = 8
9417pp_data->cap[193]->ReportCount = 1
9418pp_data->cap[193]->BytePosition = 0x001C
9419pp_data->cap[193]->BitCount = 8
9420pp_data->cap[193]->BitField = 0x02
9421pp_data->cap[193]->NextBytePosition = 0x001D
9422pp_data->cap[193]->LinkCollection = 0x0004
9423pp_data->cap[193]->LinkUsagePage = 0xFF01
9424pp_data->cap[193]->LinkUsage = 0x0080
9425pp_data->cap[193]->IsMultipleItemsForArray = 0
9426pp_data->cap[193]->IsButtonCap = 0
9427pp_data->cap[193]->IsPadding = 0
9428pp_data->cap[193]->IsAbsolute = 1
9429pp_data->cap[193]->IsRange = 0
9430pp_data->cap[193]->IsAlias = 0
9431pp_data->cap[193]->IsStringRange = 0
9432pp_data->cap[193]->IsDesignatorRange = 0
9433pp_data->cap[193]->Reserved1 = 0x000000
9434pp_data->cap[193]->pp_cap->UnknownTokens[0].Token = 0x00
9435pp_data->cap[193]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9436pp_data->cap[193]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9437pp_data->cap[193]->pp_cap->UnknownTokens[1].Token = 0x00
9438pp_data->cap[193]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9439pp_data->cap[193]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9440pp_data->cap[193]->pp_cap->UnknownTokens[2].Token = 0x00
9441pp_data->cap[193]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9442pp_data->cap[193]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9443pp_data->cap[193]->pp_cap->UnknownTokens[3].Token = 0x00
9444pp_data->cap[193]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9445pp_data->cap[193]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9446pp_data->cap[193]->NotRange.Usage = 0x0081
9447pp_data->cap[193]->NotRange.Reserved1 = 0x0081
9448pp_data->cap[193]->NotRange.StringIndex = 0
9449pp_data->cap[193]->NotRange.Reserved2 = 0
9450pp_data->cap[193]->NotRange.DesignatorIndex = 0
9451pp_data->cap[193]->NotRange.Reserved3 = 0
9452pp_data->cap[193]->NotRange.DataIndex = 106
9453pp_data->cap[193]->NotRange.Reserved4 = 106
9454pp_data->cap[193]->NotButton.HasNull = 0
9455pp_data->cap[193]->NotButton.Reserved4 = 0x000000
9456pp_data->cap[193]->NotButton.LogicalMin = 0
9457pp_data->cap[193]->NotButton.LogicalMax = 127
9458pp_data->cap[193]->NotButton.PhysicalMin = 0
9459pp_data->cap[193]->NotButton.PhysicalMax = 0
9460pp_data->cap[193]->Units = 0
9461pp_data->cap[193]->UnitsExp = 0
9462
9463pp_data->cap[194]->UsagePage = 0xFF01
9464pp_data->cap[194]->ReportID = 0x81
9465pp_data->cap[194]->BitPosition = 0
9466pp_data->cap[194]->BitSize = 8
9467pp_data->cap[194]->ReportCount = 1
9468pp_data->cap[194]->BytePosition = 0x001B
9469pp_data->cap[194]->BitCount = 8
9470pp_data->cap[194]->BitField = 0x02
9471pp_data->cap[194]->NextBytePosition = 0x001C
9472pp_data->cap[194]->LinkCollection = 0x0004
9473pp_data->cap[194]->LinkUsagePage = 0xFF01
9474pp_data->cap[194]->LinkUsage = 0x0080
9475pp_data->cap[194]->IsMultipleItemsForArray = 0
9476pp_data->cap[194]->IsButtonCap = 0
9477pp_data->cap[194]->IsPadding = 0
9478pp_data->cap[194]->IsAbsolute = 1
9479pp_data->cap[194]->IsRange = 0
9480pp_data->cap[194]->IsAlias = 0
9481pp_data->cap[194]->IsStringRange = 0
9482pp_data->cap[194]->IsDesignatorRange = 0
9483pp_data->cap[194]->Reserved1 = 0x000000
9484pp_data->cap[194]->pp_cap->UnknownTokens[0].Token = 0x00
9485pp_data->cap[194]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9486pp_data->cap[194]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9487pp_data->cap[194]->pp_cap->UnknownTokens[1].Token = 0x00
9488pp_data->cap[194]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9489pp_data->cap[194]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9490pp_data->cap[194]->pp_cap->UnknownTokens[2].Token = 0x00
9491pp_data->cap[194]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9492pp_data->cap[194]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9493pp_data->cap[194]->pp_cap->UnknownTokens[3].Token = 0x00
9494pp_data->cap[194]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9495pp_data->cap[194]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9496pp_data->cap[194]->NotRange.Usage = 0x0081
9497pp_data->cap[194]->NotRange.Reserved1 = 0x0081
9498pp_data->cap[194]->NotRange.StringIndex = 0
9499pp_data->cap[194]->NotRange.Reserved2 = 0
9500pp_data->cap[194]->NotRange.DesignatorIndex = 0
9501pp_data->cap[194]->NotRange.Reserved3 = 0
9502pp_data->cap[194]->NotRange.DataIndex = 107
9503pp_data->cap[194]->NotRange.Reserved4 = 107
9504pp_data->cap[194]->NotButton.HasNull = 0
9505pp_data->cap[194]->NotButton.Reserved4 = 0x000000
9506pp_data->cap[194]->NotButton.LogicalMin = 0
9507pp_data->cap[194]->NotButton.LogicalMax = 127
9508pp_data->cap[194]->NotButton.PhysicalMin = 0
9509pp_data->cap[194]->NotButton.PhysicalMax = 0
9510pp_data->cap[194]->Units = 0
9511pp_data->cap[194]->UnitsExp = 0
9512
9513pp_data->cap[195]->UsagePage = 0xFF01
9514pp_data->cap[195]->ReportID = 0x81
9515pp_data->cap[195]->BitPosition = 0
9516pp_data->cap[195]->BitSize = 8
9517pp_data->cap[195]->ReportCount = 1
9518pp_data->cap[195]->BytePosition = 0x001A
9519pp_data->cap[195]->BitCount = 8
9520pp_data->cap[195]->BitField = 0x02
9521pp_data->cap[195]->NextBytePosition = 0x001B
9522pp_data->cap[195]->LinkCollection = 0x0004
9523pp_data->cap[195]->LinkUsagePage = 0xFF01
9524pp_data->cap[195]->LinkUsage = 0x0080
9525pp_data->cap[195]->IsMultipleItemsForArray = 0
9526pp_data->cap[195]->IsButtonCap = 0
9527pp_data->cap[195]->IsPadding = 0
9528pp_data->cap[195]->IsAbsolute = 1
9529pp_data->cap[195]->IsRange = 0
9530pp_data->cap[195]->IsAlias = 0
9531pp_data->cap[195]->IsStringRange = 0
9532pp_data->cap[195]->IsDesignatorRange = 0
9533pp_data->cap[195]->Reserved1 = 0x000000
9534pp_data->cap[195]->pp_cap->UnknownTokens[0].Token = 0x00
9535pp_data->cap[195]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9536pp_data->cap[195]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9537pp_data->cap[195]->pp_cap->UnknownTokens[1].Token = 0x00
9538pp_data->cap[195]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9539pp_data->cap[195]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9540pp_data->cap[195]->pp_cap->UnknownTokens[2].Token = 0x00
9541pp_data->cap[195]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9542pp_data->cap[195]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9543pp_data->cap[195]->pp_cap->UnknownTokens[3].Token = 0x00
9544pp_data->cap[195]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9545pp_data->cap[195]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9546pp_data->cap[195]->NotRange.Usage = 0x0081
9547pp_data->cap[195]->NotRange.Reserved1 = 0x0081
9548pp_data->cap[195]->NotRange.StringIndex = 0
9549pp_data->cap[195]->NotRange.Reserved2 = 0
9550pp_data->cap[195]->NotRange.DesignatorIndex = 0
9551pp_data->cap[195]->NotRange.Reserved3 = 0
9552pp_data->cap[195]->NotRange.DataIndex = 108
9553pp_data->cap[195]->NotRange.Reserved4 = 108
9554pp_data->cap[195]->NotButton.HasNull = 0
9555pp_data->cap[195]->NotButton.Reserved4 = 0x000000
9556pp_data->cap[195]->NotButton.LogicalMin = 0
9557pp_data->cap[195]->NotButton.LogicalMax = 127
9558pp_data->cap[195]->NotButton.PhysicalMin = 0
9559pp_data->cap[195]->NotButton.PhysicalMax = 0
9560pp_data->cap[195]->Units = 0
9561pp_data->cap[195]->UnitsExp = 0
9562
9563pp_data->cap[196]->UsagePage = 0xFF01
9564pp_data->cap[196]->ReportID = 0x81
9565pp_data->cap[196]->BitPosition = 0
9566pp_data->cap[196]->BitSize = 8
9567pp_data->cap[196]->ReportCount = 1
9568pp_data->cap[196]->BytePosition = 0x0019
9569pp_data->cap[196]->BitCount = 8
9570pp_data->cap[196]->BitField = 0x02
9571pp_data->cap[196]->NextBytePosition = 0x001A
9572pp_data->cap[196]->LinkCollection = 0x0004
9573pp_data->cap[196]->LinkUsagePage = 0xFF01
9574pp_data->cap[196]->LinkUsage = 0x0080
9575pp_data->cap[196]->IsMultipleItemsForArray = 0
9576pp_data->cap[196]->IsButtonCap = 0
9577pp_data->cap[196]->IsPadding = 0
9578pp_data->cap[196]->IsAbsolute = 1
9579pp_data->cap[196]->IsRange = 0
9580pp_data->cap[196]->IsAlias = 0
9581pp_data->cap[196]->IsStringRange = 0
9582pp_data->cap[196]->IsDesignatorRange = 0
9583pp_data->cap[196]->Reserved1 = 0x000000
9584pp_data->cap[196]->pp_cap->UnknownTokens[0].Token = 0x00
9585pp_data->cap[196]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9586pp_data->cap[196]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9587pp_data->cap[196]->pp_cap->UnknownTokens[1].Token = 0x00
9588pp_data->cap[196]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9589pp_data->cap[196]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9590pp_data->cap[196]->pp_cap->UnknownTokens[2].Token = 0x00
9591pp_data->cap[196]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9592pp_data->cap[196]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9593pp_data->cap[196]->pp_cap->UnknownTokens[3].Token = 0x00
9594pp_data->cap[196]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9595pp_data->cap[196]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9596pp_data->cap[196]->NotRange.Usage = 0x0081
9597pp_data->cap[196]->NotRange.Reserved1 = 0x0081
9598pp_data->cap[196]->NotRange.StringIndex = 0
9599pp_data->cap[196]->NotRange.Reserved2 = 0
9600pp_data->cap[196]->NotRange.DesignatorIndex = 0
9601pp_data->cap[196]->NotRange.Reserved3 = 0
9602pp_data->cap[196]->NotRange.DataIndex = 109
9603pp_data->cap[196]->NotRange.Reserved4 = 109
9604pp_data->cap[196]->NotButton.HasNull = 0
9605pp_data->cap[196]->NotButton.Reserved4 = 0x000000
9606pp_data->cap[196]->NotButton.LogicalMin = 0
9607pp_data->cap[196]->NotButton.LogicalMax = 127
9608pp_data->cap[196]->NotButton.PhysicalMin = 0
9609pp_data->cap[196]->NotButton.PhysicalMax = 0
9610pp_data->cap[196]->Units = 0
9611pp_data->cap[196]->UnitsExp = 0
9612
9613pp_data->cap[197]->UsagePage = 0xFF01
9614pp_data->cap[197]->ReportID = 0x81
9615pp_data->cap[197]->BitPosition = 0
9616pp_data->cap[197]->BitSize = 8
9617pp_data->cap[197]->ReportCount = 1
9618pp_data->cap[197]->BytePosition = 0x0018
9619pp_data->cap[197]->BitCount = 8
9620pp_data->cap[197]->BitField = 0x02
9621pp_data->cap[197]->NextBytePosition = 0x0019
9622pp_data->cap[197]->LinkCollection = 0x0004
9623pp_data->cap[197]->LinkUsagePage = 0xFF01
9624pp_data->cap[197]->LinkUsage = 0x0080
9625pp_data->cap[197]->IsMultipleItemsForArray = 0
9626pp_data->cap[197]->IsButtonCap = 0
9627pp_data->cap[197]->IsPadding = 0
9628pp_data->cap[197]->IsAbsolute = 1
9629pp_data->cap[197]->IsRange = 0
9630pp_data->cap[197]->IsAlias = 0
9631pp_data->cap[197]->IsStringRange = 0
9632pp_data->cap[197]->IsDesignatorRange = 0
9633pp_data->cap[197]->Reserved1 = 0x000000
9634pp_data->cap[197]->pp_cap->UnknownTokens[0].Token = 0x00
9635pp_data->cap[197]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9636pp_data->cap[197]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9637pp_data->cap[197]->pp_cap->UnknownTokens[1].Token = 0x00
9638pp_data->cap[197]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9639pp_data->cap[197]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9640pp_data->cap[197]->pp_cap->UnknownTokens[2].Token = 0x00
9641pp_data->cap[197]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9642pp_data->cap[197]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9643pp_data->cap[197]->pp_cap->UnknownTokens[3].Token = 0x00
9644pp_data->cap[197]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9645pp_data->cap[197]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9646pp_data->cap[197]->NotRange.Usage = 0x0081
9647pp_data->cap[197]->NotRange.Reserved1 = 0x0081
9648pp_data->cap[197]->NotRange.StringIndex = 0
9649pp_data->cap[197]->NotRange.Reserved2 = 0
9650pp_data->cap[197]->NotRange.DesignatorIndex = 0
9651pp_data->cap[197]->NotRange.Reserved3 = 0
9652pp_data->cap[197]->NotRange.DataIndex = 110
9653pp_data->cap[197]->NotRange.Reserved4 = 110
9654pp_data->cap[197]->NotButton.HasNull = 0
9655pp_data->cap[197]->NotButton.Reserved4 = 0x000000
9656pp_data->cap[197]->NotButton.LogicalMin = 0
9657pp_data->cap[197]->NotButton.LogicalMax = 127
9658pp_data->cap[197]->NotButton.PhysicalMin = 0
9659pp_data->cap[197]->NotButton.PhysicalMax = 0
9660pp_data->cap[197]->Units = 0
9661pp_data->cap[197]->UnitsExp = 0
9662
9663pp_data->cap[198]->UsagePage = 0xFF01
9664pp_data->cap[198]->ReportID = 0x81
9665pp_data->cap[198]->BitPosition = 0
9666pp_data->cap[198]->BitSize = 8
9667pp_data->cap[198]->ReportCount = 1
9668pp_data->cap[198]->BytePosition = 0x0017
9669pp_data->cap[198]->BitCount = 8
9670pp_data->cap[198]->BitField = 0x02
9671pp_data->cap[198]->NextBytePosition = 0x0018
9672pp_data->cap[198]->LinkCollection = 0x0004
9673pp_data->cap[198]->LinkUsagePage = 0xFF01
9674pp_data->cap[198]->LinkUsage = 0x0080
9675pp_data->cap[198]->IsMultipleItemsForArray = 0
9676pp_data->cap[198]->IsButtonCap = 0
9677pp_data->cap[198]->IsPadding = 0
9678pp_data->cap[198]->IsAbsolute = 1
9679pp_data->cap[198]->IsRange = 0
9680pp_data->cap[198]->IsAlias = 0
9681pp_data->cap[198]->IsStringRange = 0
9682pp_data->cap[198]->IsDesignatorRange = 0
9683pp_data->cap[198]->Reserved1 = 0x000000
9684pp_data->cap[198]->pp_cap->UnknownTokens[0].Token = 0x00
9685pp_data->cap[198]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9686pp_data->cap[198]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9687pp_data->cap[198]->pp_cap->UnknownTokens[1].Token = 0x00
9688pp_data->cap[198]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9689pp_data->cap[198]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9690pp_data->cap[198]->pp_cap->UnknownTokens[2].Token = 0x00
9691pp_data->cap[198]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9692pp_data->cap[198]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9693pp_data->cap[198]->pp_cap->UnknownTokens[3].Token = 0x00
9694pp_data->cap[198]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9695pp_data->cap[198]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9696pp_data->cap[198]->NotRange.Usage = 0x0081
9697pp_data->cap[198]->NotRange.Reserved1 = 0x0081
9698pp_data->cap[198]->NotRange.StringIndex = 0
9699pp_data->cap[198]->NotRange.Reserved2 = 0
9700pp_data->cap[198]->NotRange.DesignatorIndex = 0
9701pp_data->cap[198]->NotRange.Reserved3 = 0
9702pp_data->cap[198]->NotRange.DataIndex = 111
9703pp_data->cap[198]->NotRange.Reserved4 = 111
9704pp_data->cap[198]->NotButton.HasNull = 0
9705pp_data->cap[198]->NotButton.Reserved4 = 0x000000
9706pp_data->cap[198]->NotButton.LogicalMin = 0
9707pp_data->cap[198]->NotButton.LogicalMax = 127
9708pp_data->cap[198]->NotButton.PhysicalMin = 0
9709pp_data->cap[198]->NotButton.PhysicalMax = 0
9710pp_data->cap[198]->Units = 0
9711pp_data->cap[198]->UnitsExp = 0
9712
9713pp_data->cap[199]->UsagePage = 0xFF01
9714pp_data->cap[199]->ReportID = 0x81
9715pp_data->cap[199]->BitPosition = 0
9716pp_data->cap[199]->BitSize = 8
9717pp_data->cap[199]->ReportCount = 1
9718pp_data->cap[199]->BytePosition = 0x0016
9719pp_data->cap[199]->BitCount = 8
9720pp_data->cap[199]->BitField = 0x02
9721pp_data->cap[199]->NextBytePosition = 0x0017
9722pp_data->cap[199]->LinkCollection = 0x0004
9723pp_data->cap[199]->LinkUsagePage = 0xFF01
9724pp_data->cap[199]->LinkUsage = 0x0080
9725pp_data->cap[199]->IsMultipleItemsForArray = 0
9726pp_data->cap[199]->IsButtonCap = 0
9727pp_data->cap[199]->IsPadding = 0
9728pp_data->cap[199]->IsAbsolute = 1
9729pp_data->cap[199]->IsRange = 0
9730pp_data->cap[199]->IsAlias = 0
9731pp_data->cap[199]->IsStringRange = 0
9732pp_data->cap[199]->IsDesignatorRange = 0
9733pp_data->cap[199]->Reserved1 = 0x000000
9734pp_data->cap[199]->pp_cap->UnknownTokens[0].Token = 0x00
9735pp_data->cap[199]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9736pp_data->cap[199]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9737pp_data->cap[199]->pp_cap->UnknownTokens[1].Token = 0x00
9738pp_data->cap[199]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9739pp_data->cap[199]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9740pp_data->cap[199]->pp_cap->UnknownTokens[2].Token = 0x00
9741pp_data->cap[199]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9742pp_data->cap[199]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9743pp_data->cap[199]->pp_cap->UnknownTokens[3].Token = 0x00
9744pp_data->cap[199]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9745pp_data->cap[199]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9746pp_data->cap[199]->NotRange.Usage = 0x0081
9747pp_data->cap[199]->NotRange.Reserved1 = 0x0081
9748pp_data->cap[199]->NotRange.StringIndex = 0
9749pp_data->cap[199]->NotRange.Reserved2 = 0
9750pp_data->cap[199]->NotRange.DesignatorIndex = 0
9751pp_data->cap[199]->NotRange.Reserved3 = 0
9752pp_data->cap[199]->NotRange.DataIndex = 112
9753pp_data->cap[199]->NotRange.Reserved4 = 112
9754pp_data->cap[199]->NotButton.HasNull = 0
9755pp_data->cap[199]->NotButton.Reserved4 = 0x000000
9756pp_data->cap[199]->NotButton.LogicalMin = 0
9757pp_data->cap[199]->NotButton.LogicalMax = 127
9758pp_data->cap[199]->NotButton.PhysicalMin = 0
9759pp_data->cap[199]->NotButton.PhysicalMax = 0
9760pp_data->cap[199]->Units = 0
9761pp_data->cap[199]->UnitsExp = 0
9762
9763pp_data->cap[200]->UsagePage = 0xFF01
9764pp_data->cap[200]->ReportID = 0x81
9765pp_data->cap[200]->BitPosition = 0
9766pp_data->cap[200]->BitSize = 8
9767pp_data->cap[200]->ReportCount = 1
9768pp_data->cap[200]->BytePosition = 0x0015
9769pp_data->cap[200]->BitCount = 8
9770pp_data->cap[200]->BitField = 0x02
9771pp_data->cap[200]->NextBytePosition = 0x0016
9772pp_data->cap[200]->LinkCollection = 0x0004
9773pp_data->cap[200]->LinkUsagePage = 0xFF01
9774pp_data->cap[200]->LinkUsage = 0x0080
9775pp_data->cap[200]->IsMultipleItemsForArray = 0
9776pp_data->cap[200]->IsButtonCap = 0
9777pp_data->cap[200]->IsPadding = 0
9778pp_data->cap[200]->IsAbsolute = 1
9779pp_data->cap[200]->IsRange = 0
9780pp_data->cap[200]->IsAlias = 0
9781pp_data->cap[200]->IsStringRange = 0
9782pp_data->cap[200]->IsDesignatorRange = 0
9783pp_data->cap[200]->Reserved1 = 0x000000
9784pp_data->cap[200]->pp_cap->UnknownTokens[0].Token = 0x00
9785pp_data->cap[200]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9786pp_data->cap[200]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9787pp_data->cap[200]->pp_cap->UnknownTokens[1].Token = 0x00
9788pp_data->cap[200]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9789pp_data->cap[200]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9790pp_data->cap[200]->pp_cap->UnknownTokens[2].Token = 0x00
9791pp_data->cap[200]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9792pp_data->cap[200]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9793pp_data->cap[200]->pp_cap->UnknownTokens[3].Token = 0x00
9794pp_data->cap[200]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9795pp_data->cap[200]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9796pp_data->cap[200]->NotRange.Usage = 0x0081
9797pp_data->cap[200]->NotRange.Reserved1 = 0x0081
9798pp_data->cap[200]->NotRange.StringIndex = 0
9799pp_data->cap[200]->NotRange.Reserved2 = 0
9800pp_data->cap[200]->NotRange.DesignatorIndex = 0
9801pp_data->cap[200]->NotRange.Reserved3 = 0
9802pp_data->cap[200]->NotRange.DataIndex = 113
9803pp_data->cap[200]->NotRange.Reserved4 = 113
9804pp_data->cap[200]->NotButton.HasNull = 0
9805pp_data->cap[200]->NotButton.Reserved4 = 0x000000
9806pp_data->cap[200]->NotButton.LogicalMin = 0
9807pp_data->cap[200]->NotButton.LogicalMax = 127
9808pp_data->cap[200]->NotButton.PhysicalMin = 0
9809pp_data->cap[200]->NotButton.PhysicalMax = 0
9810pp_data->cap[200]->Units = 0
9811pp_data->cap[200]->UnitsExp = 0
9812
9813pp_data->cap[201]->UsagePage = 0xFF01
9814pp_data->cap[201]->ReportID = 0x81
9815pp_data->cap[201]->BitPosition = 0
9816pp_data->cap[201]->BitSize = 8
9817pp_data->cap[201]->ReportCount = 1
9818pp_data->cap[201]->BytePosition = 0x0014
9819pp_data->cap[201]->BitCount = 8
9820pp_data->cap[201]->BitField = 0x02
9821pp_data->cap[201]->NextBytePosition = 0x0015
9822pp_data->cap[201]->LinkCollection = 0x0004
9823pp_data->cap[201]->LinkUsagePage = 0xFF01
9824pp_data->cap[201]->LinkUsage = 0x0080
9825pp_data->cap[201]->IsMultipleItemsForArray = 0
9826pp_data->cap[201]->IsButtonCap = 0
9827pp_data->cap[201]->IsPadding = 0
9828pp_data->cap[201]->IsAbsolute = 1
9829pp_data->cap[201]->IsRange = 0
9830pp_data->cap[201]->IsAlias = 0
9831pp_data->cap[201]->IsStringRange = 0
9832pp_data->cap[201]->IsDesignatorRange = 0
9833pp_data->cap[201]->Reserved1 = 0x000000
9834pp_data->cap[201]->pp_cap->UnknownTokens[0].Token = 0x00
9835pp_data->cap[201]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9836pp_data->cap[201]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9837pp_data->cap[201]->pp_cap->UnknownTokens[1].Token = 0x00
9838pp_data->cap[201]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9839pp_data->cap[201]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9840pp_data->cap[201]->pp_cap->UnknownTokens[2].Token = 0x00
9841pp_data->cap[201]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9842pp_data->cap[201]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9843pp_data->cap[201]->pp_cap->UnknownTokens[3].Token = 0x00
9844pp_data->cap[201]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9845pp_data->cap[201]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9846pp_data->cap[201]->NotRange.Usage = 0x0081
9847pp_data->cap[201]->NotRange.Reserved1 = 0x0081
9848pp_data->cap[201]->NotRange.StringIndex = 0
9849pp_data->cap[201]->NotRange.Reserved2 = 0
9850pp_data->cap[201]->NotRange.DesignatorIndex = 0
9851pp_data->cap[201]->NotRange.Reserved3 = 0
9852pp_data->cap[201]->NotRange.DataIndex = 114
9853pp_data->cap[201]->NotRange.Reserved4 = 114
9854pp_data->cap[201]->NotButton.HasNull = 0
9855pp_data->cap[201]->NotButton.Reserved4 = 0x000000
9856pp_data->cap[201]->NotButton.LogicalMin = 0
9857pp_data->cap[201]->NotButton.LogicalMax = 127
9858pp_data->cap[201]->NotButton.PhysicalMin = 0
9859pp_data->cap[201]->NotButton.PhysicalMax = 0
9860pp_data->cap[201]->Units = 0
9861pp_data->cap[201]->UnitsExp = 0
9862
9863pp_data->cap[202]->UsagePage = 0xFF01
9864pp_data->cap[202]->ReportID = 0x81
9865pp_data->cap[202]->BitPosition = 0
9866pp_data->cap[202]->BitSize = 8
9867pp_data->cap[202]->ReportCount = 1
9868pp_data->cap[202]->BytePosition = 0x0013
9869pp_data->cap[202]->BitCount = 8
9870pp_data->cap[202]->BitField = 0x02
9871pp_data->cap[202]->NextBytePosition = 0x0014
9872pp_data->cap[202]->LinkCollection = 0x0004
9873pp_data->cap[202]->LinkUsagePage = 0xFF01
9874pp_data->cap[202]->LinkUsage = 0x0080
9875pp_data->cap[202]->IsMultipleItemsForArray = 0
9876pp_data->cap[202]->IsButtonCap = 0
9877pp_data->cap[202]->IsPadding = 0
9878pp_data->cap[202]->IsAbsolute = 1
9879pp_data->cap[202]->IsRange = 0
9880pp_data->cap[202]->IsAlias = 0
9881pp_data->cap[202]->IsStringRange = 0
9882pp_data->cap[202]->IsDesignatorRange = 0
9883pp_data->cap[202]->Reserved1 = 0x000000
9884pp_data->cap[202]->pp_cap->UnknownTokens[0].Token = 0x00
9885pp_data->cap[202]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9886pp_data->cap[202]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9887pp_data->cap[202]->pp_cap->UnknownTokens[1].Token = 0x00
9888pp_data->cap[202]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9889pp_data->cap[202]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9890pp_data->cap[202]->pp_cap->UnknownTokens[2].Token = 0x00
9891pp_data->cap[202]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9892pp_data->cap[202]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9893pp_data->cap[202]->pp_cap->UnknownTokens[3].Token = 0x00
9894pp_data->cap[202]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9895pp_data->cap[202]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9896pp_data->cap[202]->NotRange.Usage = 0x0081
9897pp_data->cap[202]->NotRange.Reserved1 = 0x0081
9898pp_data->cap[202]->NotRange.StringIndex = 0
9899pp_data->cap[202]->NotRange.Reserved2 = 0
9900pp_data->cap[202]->NotRange.DesignatorIndex = 0
9901pp_data->cap[202]->NotRange.Reserved3 = 0
9902pp_data->cap[202]->NotRange.DataIndex = 115
9903pp_data->cap[202]->NotRange.Reserved4 = 115
9904pp_data->cap[202]->NotButton.HasNull = 0
9905pp_data->cap[202]->NotButton.Reserved4 = 0x000000
9906pp_data->cap[202]->NotButton.LogicalMin = 0
9907pp_data->cap[202]->NotButton.LogicalMax = 127
9908pp_data->cap[202]->NotButton.PhysicalMin = 0
9909pp_data->cap[202]->NotButton.PhysicalMax = 0
9910pp_data->cap[202]->Units = 0
9911pp_data->cap[202]->UnitsExp = 0
9912
9913pp_data->cap[203]->UsagePage = 0xFF01
9914pp_data->cap[203]->ReportID = 0x81
9915pp_data->cap[203]->BitPosition = 0
9916pp_data->cap[203]->BitSize = 8
9917pp_data->cap[203]->ReportCount = 1
9918pp_data->cap[203]->BytePosition = 0x0012
9919pp_data->cap[203]->BitCount = 8
9920pp_data->cap[203]->BitField = 0x02
9921pp_data->cap[203]->NextBytePosition = 0x0013
9922pp_data->cap[203]->LinkCollection = 0x0004
9923pp_data->cap[203]->LinkUsagePage = 0xFF01
9924pp_data->cap[203]->LinkUsage = 0x0080
9925pp_data->cap[203]->IsMultipleItemsForArray = 0
9926pp_data->cap[203]->IsButtonCap = 0
9927pp_data->cap[203]->IsPadding = 0
9928pp_data->cap[203]->IsAbsolute = 1
9929pp_data->cap[203]->IsRange = 0
9930pp_data->cap[203]->IsAlias = 0
9931pp_data->cap[203]->IsStringRange = 0
9932pp_data->cap[203]->IsDesignatorRange = 0
9933pp_data->cap[203]->Reserved1 = 0x000000
9934pp_data->cap[203]->pp_cap->UnknownTokens[0].Token = 0x00
9935pp_data->cap[203]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9936pp_data->cap[203]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9937pp_data->cap[203]->pp_cap->UnknownTokens[1].Token = 0x00
9938pp_data->cap[203]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9939pp_data->cap[203]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9940pp_data->cap[203]->pp_cap->UnknownTokens[2].Token = 0x00
9941pp_data->cap[203]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9942pp_data->cap[203]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9943pp_data->cap[203]->pp_cap->UnknownTokens[3].Token = 0x00
9944pp_data->cap[203]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9945pp_data->cap[203]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9946pp_data->cap[203]->NotRange.Usage = 0x0081
9947pp_data->cap[203]->NotRange.Reserved1 = 0x0081
9948pp_data->cap[203]->NotRange.StringIndex = 0
9949pp_data->cap[203]->NotRange.Reserved2 = 0
9950pp_data->cap[203]->NotRange.DesignatorIndex = 0
9951pp_data->cap[203]->NotRange.Reserved3 = 0
9952pp_data->cap[203]->NotRange.DataIndex = 116
9953pp_data->cap[203]->NotRange.Reserved4 = 116
9954pp_data->cap[203]->NotButton.HasNull = 0
9955pp_data->cap[203]->NotButton.Reserved4 = 0x000000
9956pp_data->cap[203]->NotButton.LogicalMin = 0
9957pp_data->cap[203]->NotButton.LogicalMax = 127
9958pp_data->cap[203]->NotButton.PhysicalMin = 0
9959pp_data->cap[203]->NotButton.PhysicalMax = 0
9960pp_data->cap[203]->Units = 0
9961pp_data->cap[203]->UnitsExp = 0
9962
9963pp_data->cap[204]->UsagePage = 0xFF01
9964pp_data->cap[204]->ReportID = 0x81
9965pp_data->cap[204]->BitPosition = 0
9966pp_data->cap[204]->BitSize = 8
9967pp_data->cap[204]->ReportCount = 1
9968pp_data->cap[204]->BytePosition = 0x0011
9969pp_data->cap[204]->BitCount = 8
9970pp_data->cap[204]->BitField = 0x02
9971pp_data->cap[204]->NextBytePosition = 0x0012
9972pp_data->cap[204]->LinkCollection = 0x0004
9973pp_data->cap[204]->LinkUsagePage = 0xFF01
9974pp_data->cap[204]->LinkUsage = 0x0080
9975pp_data->cap[204]->IsMultipleItemsForArray = 0
9976pp_data->cap[204]->IsButtonCap = 0
9977pp_data->cap[204]->IsPadding = 0
9978pp_data->cap[204]->IsAbsolute = 1
9979pp_data->cap[204]->IsRange = 0
9980pp_data->cap[204]->IsAlias = 0
9981pp_data->cap[204]->IsStringRange = 0
9982pp_data->cap[204]->IsDesignatorRange = 0
9983pp_data->cap[204]->Reserved1 = 0x000000
9984pp_data->cap[204]->pp_cap->UnknownTokens[0].Token = 0x00
9985pp_data->cap[204]->pp_cap->UnknownTokens[0].Reserved = 0x000000
9986pp_data->cap[204]->pp_cap->UnknownTokens[0].BitField = 0x00000000
9987pp_data->cap[204]->pp_cap->UnknownTokens[1].Token = 0x00
9988pp_data->cap[204]->pp_cap->UnknownTokens[1].Reserved = 0x000000
9989pp_data->cap[204]->pp_cap->UnknownTokens[1].BitField = 0x00000000
9990pp_data->cap[204]->pp_cap->UnknownTokens[2].Token = 0x00
9991pp_data->cap[204]->pp_cap->UnknownTokens[2].Reserved = 0x000000
9992pp_data->cap[204]->pp_cap->UnknownTokens[2].BitField = 0x00000000
9993pp_data->cap[204]->pp_cap->UnknownTokens[3].Token = 0x00
9994pp_data->cap[204]->pp_cap->UnknownTokens[3].Reserved = 0x000000
9995pp_data->cap[204]->pp_cap->UnknownTokens[3].BitField = 0x00000000
9996pp_data->cap[204]->NotRange.Usage = 0x0081
9997pp_data->cap[204]->NotRange.Reserved1 = 0x0081
9998pp_data->cap[204]->NotRange.StringIndex = 0
9999pp_data->cap[204]->NotRange.Reserved2 = 0
10000pp_data->cap[204]->NotRange.DesignatorIndex = 0
10001pp_data->cap[204]->NotRange.Reserved3 = 0
10002pp_data->cap[204]->NotRange.DataIndex = 117
10003pp_data->cap[204]->NotRange.Reserved4 = 117
10004pp_data->cap[204]->NotButton.HasNull = 0
10005pp_data->cap[204]->NotButton.Reserved4 = 0x000000
10006pp_data->cap[204]->NotButton.LogicalMin = 0
10007pp_data->cap[204]->NotButton.LogicalMax = 127
10008pp_data->cap[204]->NotButton.PhysicalMin = 0
10009pp_data->cap[204]->NotButton.PhysicalMax = 0
10010pp_data->cap[204]->Units = 0
10011pp_data->cap[204]->UnitsExp = 0
10012
10013pp_data->cap[205]->UsagePage = 0xFF01
10014pp_data->cap[205]->ReportID = 0x81
10015pp_data->cap[205]->BitPosition = 0
10016pp_data->cap[205]->BitSize = 8
10017pp_data->cap[205]->ReportCount = 1
10018pp_data->cap[205]->BytePosition = 0x0010
10019pp_data->cap[205]->BitCount = 8
10020pp_data->cap[205]->BitField = 0x02
10021pp_data->cap[205]->NextBytePosition = 0x0011
10022pp_data->cap[205]->LinkCollection = 0x0004
10023pp_data->cap[205]->LinkUsagePage = 0xFF01
10024pp_data->cap[205]->LinkUsage = 0x0080
10025pp_data->cap[205]->IsMultipleItemsForArray = 0
10026pp_data->cap[205]->IsButtonCap = 0
10027pp_data->cap[205]->IsPadding = 0
10028pp_data->cap[205]->IsAbsolute = 1
10029pp_data->cap[205]->IsRange = 0
10030pp_data->cap[205]->IsAlias = 0
10031pp_data->cap[205]->IsStringRange = 0
10032pp_data->cap[205]->IsDesignatorRange = 0
10033pp_data->cap[205]->Reserved1 = 0x000000
10034pp_data->cap[205]->pp_cap->UnknownTokens[0].Token = 0x00
10035pp_data->cap[205]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10036pp_data->cap[205]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10037pp_data->cap[205]->pp_cap->UnknownTokens[1].Token = 0x00
10038pp_data->cap[205]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10039pp_data->cap[205]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10040pp_data->cap[205]->pp_cap->UnknownTokens[2].Token = 0x00
10041pp_data->cap[205]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10042pp_data->cap[205]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10043pp_data->cap[205]->pp_cap->UnknownTokens[3].Token = 0x00
10044pp_data->cap[205]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10045pp_data->cap[205]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10046pp_data->cap[205]->NotRange.Usage = 0x0081
10047pp_data->cap[205]->NotRange.Reserved1 = 0x0081
10048pp_data->cap[205]->NotRange.StringIndex = 0
10049pp_data->cap[205]->NotRange.Reserved2 = 0
10050pp_data->cap[205]->NotRange.DesignatorIndex = 0
10051pp_data->cap[205]->NotRange.Reserved3 = 0
10052pp_data->cap[205]->NotRange.DataIndex = 118
10053pp_data->cap[205]->NotRange.Reserved4 = 118
10054pp_data->cap[205]->NotButton.HasNull = 0
10055pp_data->cap[205]->NotButton.Reserved4 = 0x000000
10056pp_data->cap[205]->NotButton.LogicalMin = 0
10057pp_data->cap[205]->NotButton.LogicalMax = 127
10058pp_data->cap[205]->NotButton.PhysicalMin = 0
10059pp_data->cap[205]->NotButton.PhysicalMax = 0
10060pp_data->cap[205]->Units = 0
10061pp_data->cap[205]->UnitsExp = 0
10062
10063pp_data->cap[206]->UsagePage = 0xFF01
10064pp_data->cap[206]->ReportID = 0x81
10065pp_data->cap[206]->BitPosition = 0
10066pp_data->cap[206]->BitSize = 8
10067pp_data->cap[206]->ReportCount = 1
10068pp_data->cap[206]->BytePosition = 0x000F
10069pp_data->cap[206]->BitCount = 8
10070pp_data->cap[206]->BitField = 0x02
10071pp_data->cap[206]->NextBytePosition = 0x0010
10072pp_data->cap[206]->LinkCollection = 0x0004
10073pp_data->cap[206]->LinkUsagePage = 0xFF01
10074pp_data->cap[206]->LinkUsage = 0x0080
10075pp_data->cap[206]->IsMultipleItemsForArray = 0
10076pp_data->cap[206]->IsButtonCap = 0
10077pp_data->cap[206]->IsPadding = 0
10078pp_data->cap[206]->IsAbsolute = 1
10079pp_data->cap[206]->IsRange = 0
10080pp_data->cap[206]->IsAlias = 0
10081pp_data->cap[206]->IsStringRange = 0
10082pp_data->cap[206]->IsDesignatorRange = 0
10083pp_data->cap[206]->Reserved1 = 0x000000
10084pp_data->cap[206]->pp_cap->UnknownTokens[0].Token = 0x00
10085pp_data->cap[206]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10086pp_data->cap[206]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10087pp_data->cap[206]->pp_cap->UnknownTokens[1].Token = 0x00
10088pp_data->cap[206]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10089pp_data->cap[206]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10090pp_data->cap[206]->pp_cap->UnknownTokens[2].Token = 0x00
10091pp_data->cap[206]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10092pp_data->cap[206]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10093pp_data->cap[206]->pp_cap->UnknownTokens[3].Token = 0x00
10094pp_data->cap[206]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10095pp_data->cap[206]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10096pp_data->cap[206]->NotRange.Usage = 0x0081
10097pp_data->cap[206]->NotRange.Reserved1 = 0x0081
10098pp_data->cap[206]->NotRange.StringIndex = 0
10099pp_data->cap[206]->NotRange.Reserved2 = 0
10100pp_data->cap[206]->NotRange.DesignatorIndex = 0
10101pp_data->cap[206]->NotRange.Reserved3 = 0
10102pp_data->cap[206]->NotRange.DataIndex = 119
10103pp_data->cap[206]->NotRange.Reserved4 = 119
10104pp_data->cap[206]->NotButton.HasNull = 0
10105pp_data->cap[206]->NotButton.Reserved4 = 0x000000
10106pp_data->cap[206]->NotButton.LogicalMin = 0
10107pp_data->cap[206]->NotButton.LogicalMax = 127
10108pp_data->cap[206]->NotButton.PhysicalMin = 0
10109pp_data->cap[206]->NotButton.PhysicalMax = 0
10110pp_data->cap[206]->Units = 0
10111pp_data->cap[206]->UnitsExp = 0
10112
10113pp_data->cap[207]->UsagePage = 0xFF01
10114pp_data->cap[207]->ReportID = 0x81
10115pp_data->cap[207]->BitPosition = 0
10116pp_data->cap[207]->BitSize = 8
10117pp_data->cap[207]->ReportCount = 1
10118pp_data->cap[207]->BytePosition = 0x000E
10119pp_data->cap[207]->BitCount = 8
10120pp_data->cap[207]->BitField = 0x02
10121pp_data->cap[207]->NextBytePosition = 0x000F
10122pp_data->cap[207]->LinkCollection = 0x0004
10123pp_data->cap[207]->LinkUsagePage = 0xFF01
10124pp_data->cap[207]->LinkUsage = 0x0080
10125pp_data->cap[207]->IsMultipleItemsForArray = 0
10126pp_data->cap[207]->IsButtonCap = 0
10127pp_data->cap[207]->IsPadding = 0
10128pp_data->cap[207]->IsAbsolute = 1
10129pp_data->cap[207]->IsRange = 0
10130pp_data->cap[207]->IsAlias = 0
10131pp_data->cap[207]->IsStringRange = 0
10132pp_data->cap[207]->IsDesignatorRange = 0
10133pp_data->cap[207]->Reserved1 = 0x000000
10134pp_data->cap[207]->pp_cap->UnknownTokens[0].Token = 0x00
10135pp_data->cap[207]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10136pp_data->cap[207]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10137pp_data->cap[207]->pp_cap->UnknownTokens[1].Token = 0x00
10138pp_data->cap[207]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10139pp_data->cap[207]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10140pp_data->cap[207]->pp_cap->UnknownTokens[2].Token = 0x00
10141pp_data->cap[207]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10142pp_data->cap[207]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10143pp_data->cap[207]->pp_cap->UnknownTokens[3].Token = 0x00
10144pp_data->cap[207]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10145pp_data->cap[207]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10146pp_data->cap[207]->NotRange.Usage = 0x0081
10147pp_data->cap[207]->NotRange.Reserved1 = 0x0081
10148pp_data->cap[207]->NotRange.StringIndex = 0
10149pp_data->cap[207]->NotRange.Reserved2 = 0
10150pp_data->cap[207]->NotRange.DesignatorIndex = 0
10151pp_data->cap[207]->NotRange.Reserved3 = 0
10152pp_data->cap[207]->NotRange.DataIndex = 120
10153pp_data->cap[207]->NotRange.Reserved4 = 120
10154pp_data->cap[207]->NotButton.HasNull = 0
10155pp_data->cap[207]->NotButton.Reserved4 = 0x000000
10156pp_data->cap[207]->NotButton.LogicalMin = 0
10157pp_data->cap[207]->NotButton.LogicalMax = 127
10158pp_data->cap[207]->NotButton.PhysicalMin = 0
10159pp_data->cap[207]->NotButton.PhysicalMax = 0
10160pp_data->cap[207]->Units = 0
10161pp_data->cap[207]->UnitsExp = 0
10162
10163pp_data->cap[208]->UsagePage = 0xFF01
10164pp_data->cap[208]->ReportID = 0x81
10165pp_data->cap[208]->BitPosition = 0
10166pp_data->cap[208]->BitSize = 8
10167pp_data->cap[208]->ReportCount = 1
10168pp_data->cap[208]->BytePosition = 0x000D
10169pp_data->cap[208]->BitCount = 8
10170pp_data->cap[208]->BitField = 0x02
10171pp_data->cap[208]->NextBytePosition = 0x000E
10172pp_data->cap[208]->LinkCollection = 0x0004
10173pp_data->cap[208]->LinkUsagePage = 0xFF01
10174pp_data->cap[208]->LinkUsage = 0x0080
10175pp_data->cap[208]->IsMultipleItemsForArray = 0
10176pp_data->cap[208]->IsButtonCap = 0
10177pp_data->cap[208]->IsPadding = 0
10178pp_data->cap[208]->IsAbsolute = 1
10179pp_data->cap[208]->IsRange = 0
10180pp_data->cap[208]->IsAlias = 0
10181pp_data->cap[208]->IsStringRange = 0
10182pp_data->cap[208]->IsDesignatorRange = 0
10183pp_data->cap[208]->Reserved1 = 0x000000
10184pp_data->cap[208]->pp_cap->UnknownTokens[0].Token = 0x00
10185pp_data->cap[208]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10186pp_data->cap[208]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10187pp_data->cap[208]->pp_cap->UnknownTokens[1].Token = 0x00
10188pp_data->cap[208]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10189pp_data->cap[208]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10190pp_data->cap[208]->pp_cap->UnknownTokens[2].Token = 0x00
10191pp_data->cap[208]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10192pp_data->cap[208]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10193pp_data->cap[208]->pp_cap->UnknownTokens[3].Token = 0x00
10194pp_data->cap[208]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10195pp_data->cap[208]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10196pp_data->cap[208]->NotRange.Usage = 0x0081
10197pp_data->cap[208]->NotRange.Reserved1 = 0x0081
10198pp_data->cap[208]->NotRange.StringIndex = 0
10199pp_data->cap[208]->NotRange.Reserved2 = 0
10200pp_data->cap[208]->NotRange.DesignatorIndex = 0
10201pp_data->cap[208]->NotRange.Reserved3 = 0
10202pp_data->cap[208]->NotRange.DataIndex = 121
10203pp_data->cap[208]->NotRange.Reserved4 = 121
10204pp_data->cap[208]->NotButton.HasNull = 0
10205pp_data->cap[208]->NotButton.Reserved4 = 0x000000
10206pp_data->cap[208]->NotButton.LogicalMin = 0
10207pp_data->cap[208]->NotButton.LogicalMax = 127
10208pp_data->cap[208]->NotButton.PhysicalMin = 0
10209pp_data->cap[208]->NotButton.PhysicalMax = 0
10210pp_data->cap[208]->Units = 0
10211pp_data->cap[208]->UnitsExp = 0
10212
10213pp_data->cap[209]->UsagePage = 0xFF01
10214pp_data->cap[209]->ReportID = 0x81
10215pp_data->cap[209]->BitPosition = 0
10216pp_data->cap[209]->BitSize = 8
10217pp_data->cap[209]->ReportCount = 1
10218pp_data->cap[209]->BytePosition = 0x000C
10219pp_data->cap[209]->BitCount = 8
10220pp_data->cap[209]->BitField = 0x02
10221pp_data->cap[209]->NextBytePosition = 0x000D
10222pp_data->cap[209]->LinkCollection = 0x0004
10223pp_data->cap[209]->LinkUsagePage = 0xFF01
10224pp_data->cap[209]->LinkUsage = 0x0080
10225pp_data->cap[209]->IsMultipleItemsForArray = 0
10226pp_data->cap[209]->IsButtonCap = 0
10227pp_data->cap[209]->IsPadding = 0
10228pp_data->cap[209]->IsAbsolute = 1
10229pp_data->cap[209]->IsRange = 0
10230pp_data->cap[209]->IsAlias = 0
10231pp_data->cap[209]->IsStringRange = 0
10232pp_data->cap[209]->IsDesignatorRange = 0
10233pp_data->cap[209]->Reserved1 = 0x000000
10234pp_data->cap[209]->pp_cap->UnknownTokens[0].Token = 0x00
10235pp_data->cap[209]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10236pp_data->cap[209]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10237pp_data->cap[209]->pp_cap->UnknownTokens[1].Token = 0x00
10238pp_data->cap[209]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10239pp_data->cap[209]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10240pp_data->cap[209]->pp_cap->UnknownTokens[2].Token = 0x00
10241pp_data->cap[209]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10242pp_data->cap[209]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10243pp_data->cap[209]->pp_cap->UnknownTokens[3].Token = 0x00
10244pp_data->cap[209]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10245pp_data->cap[209]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10246pp_data->cap[209]->NotRange.Usage = 0x0081
10247pp_data->cap[209]->NotRange.Reserved1 = 0x0081
10248pp_data->cap[209]->NotRange.StringIndex = 0
10249pp_data->cap[209]->NotRange.Reserved2 = 0
10250pp_data->cap[209]->NotRange.DesignatorIndex = 0
10251pp_data->cap[209]->NotRange.Reserved3 = 0
10252pp_data->cap[209]->NotRange.DataIndex = 122
10253pp_data->cap[209]->NotRange.Reserved4 = 122
10254pp_data->cap[209]->NotButton.HasNull = 0
10255pp_data->cap[209]->NotButton.Reserved4 = 0x000000
10256pp_data->cap[209]->NotButton.LogicalMin = 0
10257pp_data->cap[209]->NotButton.LogicalMax = 127
10258pp_data->cap[209]->NotButton.PhysicalMin = 0
10259pp_data->cap[209]->NotButton.PhysicalMax = 0
10260pp_data->cap[209]->Units = 0
10261pp_data->cap[209]->UnitsExp = 0
10262
10263pp_data->cap[210]->UsagePage = 0xFF01
10264pp_data->cap[210]->ReportID = 0x81
10265pp_data->cap[210]->BitPosition = 0
10266pp_data->cap[210]->BitSize = 8
10267pp_data->cap[210]->ReportCount = 1
10268pp_data->cap[210]->BytePosition = 0x000B
10269pp_data->cap[210]->BitCount = 8
10270pp_data->cap[210]->BitField = 0x02
10271pp_data->cap[210]->NextBytePosition = 0x000C
10272pp_data->cap[210]->LinkCollection = 0x0004
10273pp_data->cap[210]->LinkUsagePage = 0xFF01
10274pp_data->cap[210]->LinkUsage = 0x0080
10275pp_data->cap[210]->IsMultipleItemsForArray = 0
10276pp_data->cap[210]->IsButtonCap = 0
10277pp_data->cap[210]->IsPadding = 0
10278pp_data->cap[210]->IsAbsolute = 1
10279pp_data->cap[210]->IsRange = 0
10280pp_data->cap[210]->IsAlias = 0
10281pp_data->cap[210]->IsStringRange = 0
10282pp_data->cap[210]->IsDesignatorRange = 0
10283pp_data->cap[210]->Reserved1 = 0x000000
10284pp_data->cap[210]->pp_cap->UnknownTokens[0].Token = 0x00
10285pp_data->cap[210]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10286pp_data->cap[210]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10287pp_data->cap[210]->pp_cap->UnknownTokens[1].Token = 0x00
10288pp_data->cap[210]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10289pp_data->cap[210]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10290pp_data->cap[210]->pp_cap->UnknownTokens[2].Token = 0x00
10291pp_data->cap[210]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10292pp_data->cap[210]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10293pp_data->cap[210]->pp_cap->UnknownTokens[3].Token = 0x00
10294pp_data->cap[210]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10295pp_data->cap[210]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10296pp_data->cap[210]->NotRange.Usage = 0x0081
10297pp_data->cap[210]->NotRange.Reserved1 = 0x0081
10298pp_data->cap[210]->NotRange.StringIndex = 0
10299pp_data->cap[210]->NotRange.Reserved2 = 0
10300pp_data->cap[210]->NotRange.DesignatorIndex = 0
10301pp_data->cap[210]->NotRange.Reserved3 = 0
10302pp_data->cap[210]->NotRange.DataIndex = 123
10303pp_data->cap[210]->NotRange.Reserved4 = 123
10304pp_data->cap[210]->NotButton.HasNull = 0
10305pp_data->cap[210]->NotButton.Reserved4 = 0x000000
10306pp_data->cap[210]->NotButton.LogicalMin = 0
10307pp_data->cap[210]->NotButton.LogicalMax = 127
10308pp_data->cap[210]->NotButton.PhysicalMin = 0
10309pp_data->cap[210]->NotButton.PhysicalMax = 0
10310pp_data->cap[210]->Units = 0
10311pp_data->cap[210]->UnitsExp = 0
10312
10313pp_data->cap[211]->UsagePage = 0xFF01
10314pp_data->cap[211]->ReportID = 0x81
10315pp_data->cap[211]->BitPosition = 0
10316pp_data->cap[211]->BitSize = 8
10317pp_data->cap[211]->ReportCount = 1
10318pp_data->cap[211]->BytePosition = 0x000A
10319pp_data->cap[211]->BitCount = 8
10320pp_data->cap[211]->BitField = 0x02
10321pp_data->cap[211]->NextBytePosition = 0x000B
10322pp_data->cap[211]->LinkCollection = 0x0004
10323pp_data->cap[211]->LinkUsagePage = 0xFF01
10324pp_data->cap[211]->LinkUsage = 0x0080
10325pp_data->cap[211]->IsMultipleItemsForArray = 0
10326pp_data->cap[211]->IsButtonCap = 0
10327pp_data->cap[211]->IsPadding = 0
10328pp_data->cap[211]->IsAbsolute = 1
10329pp_data->cap[211]->IsRange = 0
10330pp_data->cap[211]->IsAlias = 0
10331pp_data->cap[211]->IsStringRange = 0
10332pp_data->cap[211]->IsDesignatorRange = 0
10333pp_data->cap[211]->Reserved1 = 0x000000
10334pp_data->cap[211]->pp_cap->UnknownTokens[0].Token = 0x00
10335pp_data->cap[211]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10336pp_data->cap[211]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10337pp_data->cap[211]->pp_cap->UnknownTokens[1].Token = 0x00
10338pp_data->cap[211]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10339pp_data->cap[211]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10340pp_data->cap[211]->pp_cap->UnknownTokens[2].Token = 0x00
10341pp_data->cap[211]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10342pp_data->cap[211]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10343pp_data->cap[211]->pp_cap->UnknownTokens[3].Token = 0x00
10344pp_data->cap[211]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10345pp_data->cap[211]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10346pp_data->cap[211]->NotRange.Usage = 0x0081
10347pp_data->cap[211]->NotRange.Reserved1 = 0x0081
10348pp_data->cap[211]->NotRange.StringIndex = 0
10349pp_data->cap[211]->NotRange.Reserved2 = 0
10350pp_data->cap[211]->NotRange.DesignatorIndex = 0
10351pp_data->cap[211]->NotRange.Reserved3 = 0
10352pp_data->cap[211]->NotRange.DataIndex = 124
10353pp_data->cap[211]->NotRange.Reserved4 = 124
10354pp_data->cap[211]->NotButton.HasNull = 0
10355pp_data->cap[211]->NotButton.Reserved4 = 0x000000
10356pp_data->cap[211]->NotButton.LogicalMin = 0
10357pp_data->cap[211]->NotButton.LogicalMax = 127
10358pp_data->cap[211]->NotButton.PhysicalMin = 0
10359pp_data->cap[211]->NotButton.PhysicalMax = 0
10360pp_data->cap[211]->Units = 0
10361pp_data->cap[211]->UnitsExp = 0
10362
10363pp_data->cap[212]->UsagePage = 0xFF01
10364pp_data->cap[212]->ReportID = 0x81
10365pp_data->cap[212]->BitPosition = 0
10366pp_data->cap[212]->BitSize = 8
10367pp_data->cap[212]->ReportCount = 1
10368pp_data->cap[212]->BytePosition = 0x0009
10369pp_data->cap[212]->BitCount = 8
10370pp_data->cap[212]->BitField = 0x02
10371pp_data->cap[212]->NextBytePosition = 0x000A
10372pp_data->cap[212]->LinkCollection = 0x0004
10373pp_data->cap[212]->LinkUsagePage = 0xFF01
10374pp_data->cap[212]->LinkUsage = 0x0080
10375pp_data->cap[212]->IsMultipleItemsForArray = 0
10376pp_data->cap[212]->IsButtonCap = 0
10377pp_data->cap[212]->IsPadding = 0
10378pp_data->cap[212]->IsAbsolute = 1
10379pp_data->cap[212]->IsRange = 0
10380pp_data->cap[212]->IsAlias = 0
10381pp_data->cap[212]->IsStringRange = 0
10382pp_data->cap[212]->IsDesignatorRange = 0
10383pp_data->cap[212]->Reserved1 = 0x000000
10384pp_data->cap[212]->pp_cap->UnknownTokens[0].Token = 0x00
10385pp_data->cap[212]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10386pp_data->cap[212]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10387pp_data->cap[212]->pp_cap->UnknownTokens[1].Token = 0x00
10388pp_data->cap[212]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10389pp_data->cap[212]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10390pp_data->cap[212]->pp_cap->UnknownTokens[2].Token = 0x00
10391pp_data->cap[212]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10392pp_data->cap[212]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10393pp_data->cap[212]->pp_cap->UnknownTokens[3].Token = 0x00
10394pp_data->cap[212]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10395pp_data->cap[212]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10396pp_data->cap[212]->NotRange.Usage = 0x0081
10397pp_data->cap[212]->NotRange.Reserved1 = 0x0081
10398pp_data->cap[212]->NotRange.StringIndex = 0
10399pp_data->cap[212]->NotRange.Reserved2 = 0
10400pp_data->cap[212]->NotRange.DesignatorIndex = 0
10401pp_data->cap[212]->NotRange.Reserved3 = 0
10402pp_data->cap[212]->NotRange.DataIndex = 125
10403pp_data->cap[212]->NotRange.Reserved4 = 125
10404pp_data->cap[212]->NotButton.HasNull = 0
10405pp_data->cap[212]->NotButton.Reserved4 = 0x000000
10406pp_data->cap[212]->NotButton.LogicalMin = 0
10407pp_data->cap[212]->NotButton.LogicalMax = 127
10408pp_data->cap[212]->NotButton.PhysicalMin = 0
10409pp_data->cap[212]->NotButton.PhysicalMax = 0
10410pp_data->cap[212]->Units = 0
10411pp_data->cap[212]->UnitsExp = 0
10412
10413pp_data->cap[213]->UsagePage = 0xFF01
10414pp_data->cap[213]->ReportID = 0x81
10415pp_data->cap[213]->BitPosition = 0
10416pp_data->cap[213]->BitSize = 8
10417pp_data->cap[213]->ReportCount = 1
10418pp_data->cap[213]->BytePosition = 0x0008
10419pp_data->cap[213]->BitCount = 8
10420pp_data->cap[213]->BitField = 0x02
10421pp_data->cap[213]->NextBytePosition = 0x0009
10422pp_data->cap[213]->LinkCollection = 0x0004
10423pp_data->cap[213]->LinkUsagePage = 0xFF01
10424pp_data->cap[213]->LinkUsage = 0x0080
10425pp_data->cap[213]->IsMultipleItemsForArray = 0
10426pp_data->cap[213]->IsButtonCap = 0
10427pp_data->cap[213]->IsPadding = 0
10428pp_data->cap[213]->IsAbsolute = 1
10429pp_data->cap[213]->IsRange = 0
10430pp_data->cap[213]->IsAlias = 0
10431pp_data->cap[213]->IsStringRange = 0
10432pp_data->cap[213]->IsDesignatorRange = 0
10433pp_data->cap[213]->Reserved1 = 0x000000
10434pp_data->cap[213]->pp_cap->UnknownTokens[0].Token = 0x00
10435pp_data->cap[213]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10436pp_data->cap[213]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10437pp_data->cap[213]->pp_cap->UnknownTokens[1].Token = 0x00
10438pp_data->cap[213]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10439pp_data->cap[213]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10440pp_data->cap[213]->pp_cap->UnknownTokens[2].Token = 0x00
10441pp_data->cap[213]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10442pp_data->cap[213]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10443pp_data->cap[213]->pp_cap->UnknownTokens[3].Token = 0x00
10444pp_data->cap[213]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10445pp_data->cap[213]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10446pp_data->cap[213]->NotRange.Usage = 0x0081
10447pp_data->cap[213]->NotRange.Reserved1 = 0x0081
10448pp_data->cap[213]->NotRange.StringIndex = 0
10449pp_data->cap[213]->NotRange.Reserved2 = 0
10450pp_data->cap[213]->NotRange.DesignatorIndex = 0
10451pp_data->cap[213]->NotRange.Reserved3 = 0
10452pp_data->cap[213]->NotRange.DataIndex = 126
10453pp_data->cap[213]->NotRange.Reserved4 = 126
10454pp_data->cap[213]->NotButton.HasNull = 0
10455pp_data->cap[213]->NotButton.Reserved4 = 0x000000
10456pp_data->cap[213]->NotButton.LogicalMin = 0
10457pp_data->cap[213]->NotButton.LogicalMax = 127
10458pp_data->cap[213]->NotButton.PhysicalMin = 0
10459pp_data->cap[213]->NotButton.PhysicalMax = 0
10460pp_data->cap[213]->Units = 0
10461pp_data->cap[213]->UnitsExp = 0
10462
10463pp_data->cap[214]->UsagePage = 0xFF01
10464pp_data->cap[214]->ReportID = 0x81
10465pp_data->cap[214]->BitPosition = 0
10466pp_data->cap[214]->BitSize = 8
10467pp_data->cap[214]->ReportCount = 1
10468pp_data->cap[214]->BytePosition = 0x0007
10469pp_data->cap[214]->BitCount = 8
10470pp_data->cap[214]->BitField = 0x02
10471pp_data->cap[214]->NextBytePosition = 0x0008
10472pp_data->cap[214]->LinkCollection = 0x0004
10473pp_data->cap[214]->LinkUsagePage = 0xFF01
10474pp_data->cap[214]->LinkUsage = 0x0080
10475pp_data->cap[214]->IsMultipleItemsForArray = 0
10476pp_data->cap[214]->IsButtonCap = 0
10477pp_data->cap[214]->IsPadding = 0
10478pp_data->cap[214]->IsAbsolute = 1
10479pp_data->cap[214]->IsRange = 0
10480pp_data->cap[214]->IsAlias = 0
10481pp_data->cap[214]->IsStringRange = 0
10482pp_data->cap[214]->IsDesignatorRange = 0
10483pp_data->cap[214]->Reserved1 = 0x000000
10484pp_data->cap[214]->pp_cap->UnknownTokens[0].Token = 0x00
10485pp_data->cap[214]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10486pp_data->cap[214]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10487pp_data->cap[214]->pp_cap->UnknownTokens[1].Token = 0x00
10488pp_data->cap[214]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10489pp_data->cap[214]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10490pp_data->cap[214]->pp_cap->UnknownTokens[2].Token = 0x00
10491pp_data->cap[214]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10492pp_data->cap[214]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10493pp_data->cap[214]->pp_cap->UnknownTokens[3].Token = 0x00
10494pp_data->cap[214]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10495pp_data->cap[214]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10496pp_data->cap[214]->NotRange.Usage = 0x0081
10497pp_data->cap[214]->NotRange.Reserved1 = 0x0081
10498pp_data->cap[214]->NotRange.StringIndex = 0
10499pp_data->cap[214]->NotRange.Reserved2 = 0
10500pp_data->cap[214]->NotRange.DesignatorIndex = 0
10501pp_data->cap[214]->NotRange.Reserved3 = 0
10502pp_data->cap[214]->NotRange.DataIndex = 127
10503pp_data->cap[214]->NotRange.Reserved4 = 127
10504pp_data->cap[214]->NotButton.HasNull = 0
10505pp_data->cap[214]->NotButton.Reserved4 = 0x000000
10506pp_data->cap[214]->NotButton.LogicalMin = 0
10507pp_data->cap[214]->NotButton.LogicalMax = 127
10508pp_data->cap[214]->NotButton.PhysicalMin = 0
10509pp_data->cap[214]->NotButton.PhysicalMax = 0
10510pp_data->cap[214]->Units = 0
10511pp_data->cap[214]->UnitsExp = 0
10512
10513pp_data->cap[215]->UsagePage = 0xFF01
10514pp_data->cap[215]->ReportID = 0x81
10515pp_data->cap[215]->BitPosition = 0
10516pp_data->cap[215]->BitSize = 8
10517pp_data->cap[215]->ReportCount = 1
10518pp_data->cap[215]->BytePosition = 0x0006
10519pp_data->cap[215]->BitCount = 8
10520pp_data->cap[215]->BitField = 0x02
10521pp_data->cap[215]->NextBytePosition = 0x0007
10522pp_data->cap[215]->LinkCollection = 0x0004
10523pp_data->cap[215]->LinkUsagePage = 0xFF01
10524pp_data->cap[215]->LinkUsage = 0x0080
10525pp_data->cap[215]->IsMultipleItemsForArray = 0
10526pp_data->cap[215]->IsButtonCap = 0
10527pp_data->cap[215]->IsPadding = 0
10528pp_data->cap[215]->IsAbsolute = 1
10529pp_data->cap[215]->IsRange = 0
10530pp_data->cap[215]->IsAlias = 0
10531pp_data->cap[215]->IsStringRange = 0
10532pp_data->cap[215]->IsDesignatorRange = 0
10533pp_data->cap[215]->Reserved1 = 0x000000
10534pp_data->cap[215]->pp_cap->UnknownTokens[0].Token = 0x00
10535pp_data->cap[215]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10536pp_data->cap[215]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10537pp_data->cap[215]->pp_cap->UnknownTokens[1].Token = 0x00
10538pp_data->cap[215]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10539pp_data->cap[215]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10540pp_data->cap[215]->pp_cap->UnknownTokens[2].Token = 0x00
10541pp_data->cap[215]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10542pp_data->cap[215]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10543pp_data->cap[215]->pp_cap->UnknownTokens[3].Token = 0x00
10544pp_data->cap[215]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10545pp_data->cap[215]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10546pp_data->cap[215]->NotRange.Usage = 0x0081
10547pp_data->cap[215]->NotRange.Reserved1 = 0x0081
10548pp_data->cap[215]->NotRange.StringIndex = 0
10549pp_data->cap[215]->NotRange.Reserved2 = 0
10550pp_data->cap[215]->NotRange.DesignatorIndex = 0
10551pp_data->cap[215]->NotRange.Reserved3 = 0
10552pp_data->cap[215]->NotRange.DataIndex = 128
10553pp_data->cap[215]->NotRange.Reserved4 = 128
10554pp_data->cap[215]->NotButton.HasNull = 0
10555pp_data->cap[215]->NotButton.Reserved4 = 0x000000
10556pp_data->cap[215]->NotButton.LogicalMin = 0
10557pp_data->cap[215]->NotButton.LogicalMax = 127
10558pp_data->cap[215]->NotButton.PhysicalMin = 0
10559pp_data->cap[215]->NotButton.PhysicalMax = 0
10560pp_data->cap[215]->Units = 0
10561pp_data->cap[215]->UnitsExp = 0
10562
10563pp_data->cap[216]->UsagePage = 0xFF01
10564pp_data->cap[216]->ReportID = 0x81
10565pp_data->cap[216]->BitPosition = 0
10566pp_data->cap[216]->BitSize = 8
10567pp_data->cap[216]->ReportCount = 1
10568pp_data->cap[216]->BytePosition = 0x0005
10569pp_data->cap[216]->BitCount = 8
10570pp_data->cap[216]->BitField = 0x02
10571pp_data->cap[216]->NextBytePosition = 0x0006
10572pp_data->cap[216]->LinkCollection = 0x0004
10573pp_data->cap[216]->LinkUsagePage = 0xFF01
10574pp_data->cap[216]->LinkUsage = 0x0080
10575pp_data->cap[216]->IsMultipleItemsForArray = 0
10576pp_data->cap[216]->IsButtonCap = 0
10577pp_data->cap[216]->IsPadding = 0
10578pp_data->cap[216]->IsAbsolute = 1
10579pp_data->cap[216]->IsRange = 0
10580pp_data->cap[216]->IsAlias = 0
10581pp_data->cap[216]->IsStringRange = 0
10582pp_data->cap[216]->IsDesignatorRange = 0
10583pp_data->cap[216]->Reserved1 = 0x000000
10584pp_data->cap[216]->pp_cap->UnknownTokens[0].Token = 0x00
10585pp_data->cap[216]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10586pp_data->cap[216]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10587pp_data->cap[216]->pp_cap->UnknownTokens[1].Token = 0x00
10588pp_data->cap[216]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10589pp_data->cap[216]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10590pp_data->cap[216]->pp_cap->UnknownTokens[2].Token = 0x00
10591pp_data->cap[216]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10592pp_data->cap[216]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10593pp_data->cap[216]->pp_cap->UnknownTokens[3].Token = 0x00
10594pp_data->cap[216]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10595pp_data->cap[216]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10596pp_data->cap[216]->NotRange.Usage = 0x0081
10597pp_data->cap[216]->NotRange.Reserved1 = 0x0081
10598pp_data->cap[216]->NotRange.StringIndex = 0
10599pp_data->cap[216]->NotRange.Reserved2 = 0
10600pp_data->cap[216]->NotRange.DesignatorIndex = 0
10601pp_data->cap[216]->NotRange.Reserved3 = 0
10602pp_data->cap[216]->NotRange.DataIndex = 129
10603pp_data->cap[216]->NotRange.Reserved4 = 129
10604pp_data->cap[216]->NotButton.HasNull = 0
10605pp_data->cap[216]->NotButton.Reserved4 = 0x000000
10606pp_data->cap[216]->NotButton.LogicalMin = 0
10607pp_data->cap[216]->NotButton.LogicalMax = 127
10608pp_data->cap[216]->NotButton.PhysicalMin = 0
10609pp_data->cap[216]->NotButton.PhysicalMax = 0
10610pp_data->cap[216]->Units = 0
10611pp_data->cap[216]->UnitsExp = 0
10612
10613pp_data->cap[217]->UsagePage = 0xFF01
10614pp_data->cap[217]->ReportID = 0x81
10615pp_data->cap[217]->BitPosition = 0
10616pp_data->cap[217]->BitSize = 8
10617pp_data->cap[217]->ReportCount = 1
10618pp_data->cap[217]->BytePosition = 0x0004
10619pp_data->cap[217]->BitCount = 8
10620pp_data->cap[217]->BitField = 0x02
10621pp_data->cap[217]->NextBytePosition = 0x0005
10622pp_data->cap[217]->LinkCollection = 0x0004
10623pp_data->cap[217]->LinkUsagePage = 0xFF01
10624pp_data->cap[217]->LinkUsage = 0x0080
10625pp_data->cap[217]->IsMultipleItemsForArray = 0
10626pp_data->cap[217]->IsButtonCap = 0
10627pp_data->cap[217]->IsPadding = 0
10628pp_data->cap[217]->IsAbsolute = 1
10629pp_data->cap[217]->IsRange = 0
10630pp_data->cap[217]->IsAlias = 0
10631pp_data->cap[217]->IsStringRange = 0
10632pp_data->cap[217]->IsDesignatorRange = 0
10633pp_data->cap[217]->Reserved1 = 0x000000
10634pp_data->cap[217]->pp_cap->UnknownTokens[0].Token = 0x00
10635pp_data->cap[217]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10636pp_data->cap[217]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10637pp_data->cap[217]->pp_cap->UnknownTokens[1].Token = 0x00
10638pp_data->cap[217]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10639pp_data->cap[217]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10640pp_data->cap[217]->pp_cap->UnknownTokens[2].Token = 0x00
10641pp_data->cap[217]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10642pp_data->cap[217]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10643pp_data->cap[217]->pp_cap->UnknownTokens[3].Token = 0x00
10644pp_data->cap[217]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10645pp_data->cap[217]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10646pp_data->cap[217]->NotRange.Usage = 0x0081
10647pp_data->cap[217]->NotRange.Reserved1 = 0x0081
10648pp_data->cap[217]->NotRange.StringIndex = 0
10649pp_data->cap[217]->NotRange.Reserved2 = 0
10650pp_data->cap[217]->NotRange.DesignatorIndex = 0
10651pp_data->cap[217]->NotRange.Reserved3 = 0
10652pp_data->cap[217]->NotRange.DataIndex = 130
10653pp_data->cap[217]->NotRange.Reserved4 = 130
10654pp_data->cap[217]->NotButton.HasNull = 0
10655pp_data->cap[217]->NotButton.Reserved4 = 0x000000
10656pp_data->cap[217]->NotButton.LogicalMin = 0
10657pp_data->cap[217]->NotButton.LogicalMax = 127
10658pp_data->cap[217]->NotButton.PhysicalMin = 0
10659pp_data->cap[217]->NotButton.PhysicalMax = 0
10660pp_data->cap[217]->Units = 0
10661pp_data->cap[217]->UnitsExp = 0
10662
10663pp_data->cap[218]->UsagePage = 0xFF01
10664pp_data->cap[218]->ReportID = 0x81
10665pp_data->cap[218]->BitPosition = 0
10666pp_data->cap[218]->BitSize = 8
10667pp_data->cap[218]->ReportCount = 1
10668pp_data->cap[218]->BytePosition = 0x0003
10669pp_data->cap[218]->BitCount = 8
10670pp_data->cap[218]->BitField = 0x02
10671pp_data->cap[218]->NextBytePosition = 0x0004
10672pp_data->cap[218]->LinkCollection = 0x0004
10673pp_data->cap[218]->LinkUsagePage = 0xFF01
10674pp_data->cap[218]->LinkUsage = 0x0080
10675pp_data->cap[218]->IsMultipleItemsForArray = 0
10676pp_data->cap[218]->IsButtonCap = 0
10677pp_data->cap[218]->IsPadding = 0
10678pp_data->cap[218]->IsAbsolute = 1
10679pp_data->cap[218]->IsRange = 0
10680pp_data->cap[218]->IsAlias = 0
10681pp_data->cap[218]->IsStringRange = 0
10682pp_data->cap[218]->IsDesignatorRange = 0
10683pp_data->cap[218]->Reserved1 = 0x000000
10684pp_data->cap[218]->pp_cap->UnknownTokens[0].Token = 0x00
10685pp_data->cap[218]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10686pp_data->cap[218]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10687pp_data->cap[218]->pp_cap->UnknownTokens[1].Token = 0x00
10688pp_data->cap[218]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10689pp_data->cap[218]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10690pp_data->cap[218]->pp_cap->UnknownTokens[2].Token = 0x00
10691pp_data->cap[218]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10692pp_data->cap[218]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10693pp_data->cap[218]->pp_cap->UnknownTokens[3].Token = 0x00
10694pp_data->cap[218]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10695pp_data->cap[218]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10696pp_data->cap[218]->NotRange.Usage = 0x0081
10697pp_data->cap[218]->NotRange.Reserved1 = 0x0081
10698pp_data->cap[218]->NotRange.StringIndex = 0
10699pp_data->cap[218]->NotRange.Reserved2 = 0
10700pp_data->cap[218]->NotRange.DesignatorIndex = 0
10701pp_data->cap[218]->NotRange.Reserved3 = 0
10702pp_data->cap[218]->NotRange.DataIndex = 131
10703pp_data->cap[218]->NotRange.Reserved4 = 131
10704pp_data->cap[218]->NotButton.HasNull = 0
10705pp_data->cap[218]->NotButton.Reserved4 = 0x000000
10706pp_data->cap[218]->NotButton.LogicalMin = 0
10707pp_data->cap[218]->NotButton.LogicalMax = 127
10708pp_data->cap[218]->NotButton.PhysicalMin = 0
10709pp_data->cap[218]->NotButton.PhysicalMax = 0
10710pp_data->cap[218]->Units = 0
10711pp_data->cap[218]->UnitsExp = 0
10712
10713pp_data->cap[219]->UsagePage = 0xFF01
10714pp_data->cap[219]->ReportID = 0x81
10715pp_data->cap[219]->BitPosition = 0
10716pp_data->cap[219]->BitSize = 8
10717pp_data->cap[219]->ReportCount = 1
10718pp_data->cap[219]->BytePosition = 0x0002
10719pp_data->cap[219]->BitCount = 8
10720pp_data->cap[219]->BitField = 0x02
10721pp_data->cap[219]->NextBytePosition = 0x0003
10722pp_data->cap[219]->LinkCollection = 0x0004
10723pp_data->cap[219]->LinkUsagePage = 0xFF01
10724pp_data->cap[219]->LinkUsage = 0x0080
10725pp_data->cap[219]->IsMultipleItemsForArray = 0
10726pp_data->cap[219]->IsButtonCap = 0
10727pp_data->cap[219]->IsPadding = 0
10728pp_data->cap[219]->IsAbsolute = 1
10729pp_data->cap[219]->IsRange = 0
10730pp_data->cap[219]->IsAlias = 0
10731pp_data->cap[219]->IsStringRange = 0
10732pp_data->cap[219]->IsDesignatorRange = 0
10733pp_data->cap[219]->Reserved1 = 0x000000
10734pp_data->cap[219]->pp_cap->UnknownTokens[0].Token = 0x00
10735pp_data->cap[219]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10736pp_data->cap[219]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10737pp_data->cap[219]->pp_cap->UnknownTokens[1].Token = 0x00
10738pp_data->cap[219]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10739pp_data->cap[219]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10740pp_data->cap[219]->pp_cap->UnknownTokens[2].Token = 0x00
10741pp_data->cap[219]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10742pp_data->cap[219]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10743pp_data->cap[219]->pp_cap->UnknownTokens[3].Token = 0x00
10744pp_data->cap[219]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10745pp_data->cap[219]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10746pp_data->cap[219]->NotRange.Usage = 0x0081
10747pp_data->cap[219]->NotRange.Reserved1 = 0x0081
10748pp_data->cap[219]->NotRange.StringIndex = 0
10749pp_data->cap[219]->NotRange.Reserved2 = 0
10750pp_data->cap[219]->NotRange.DesignatorIndex = 0
10751pp_data->cap[219]->NotRange.Reserved3 = 0
10752pp_data->cap[219]->NotRange.DataIndex = 132
10753pp_data->cap[219]->NotRange.Reserved4 = 132
10754pp_data->cap[219]->NotButton.HasNull = 0
10755pp_data->cap[219]->NotButton.Reserved4 = 0x000000
10756pp_data->cap[219]->NotButton.LogicalMin = 0
10757pp_data->cap[219]->NotButton.LogicalMax = 127
10758pp_data->cap[219]->NotButton.PhysicalMin = 0
10759pp_data->cap[219]->NotButton.PhysicalMax = 0
10760pp_data->cap[219]->Units = 0
10761pp_data->cap[219]->UnitsExp = 0
10762
10763pp_data->cap[220]->UsagePage = 0xFF01
10764pp_data->cap[220]->ReportID = 0x81
10765pp_data->cap[220]->BitPosition = 0
10766pp_data->cap[220]->BitSize = 8
10767pp_data->cap[220]->ReportCount = 1
10768pp_data->cap[220]->BytePosition = 0x0001
10769pp_data->cap[220]->BitCount = 8
10770pp_data->cap[220]->BitField = 0x02
10771pp_data->cap[220]->NextBytePosition = 0x0002
10772pp_data->cap[220]->LinkCollection = 0x0004
10773pp_data->cap[220]->LinkUsagePage = 0xFF01
10774pp_data->cap[220]->LinkUsage = 0x0080
10775pp_data->cap[220]->IsMultipleItemsForArray = 0
10776pp_data->cap[220]->IsButtonCap = 0
10777pp_data->cap[220]->IsPadding = 0
10778pp_data->cap[220]->IsAbsolute = 1
10779pp_data->cap[220]->IsRange = 0
10780pp_data->cap[220]->IsAlias = 0
10781pp_data->cap[220]->IsStringRange = 0
10782pp_data->cap[220]->IsDesignatorRange = 0
10783pp_data->cap[220]->Reserved1 = 0x000000
10784pp_data->cap[220]->pp_cap->UnknownTokens[0].Token = 0x00
10785pp_data->cap[220]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10786pp_data->cap[220]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10787pp_data->cap[220]->pp_cap->UnknownTokens[1].Token = 0x00
10788pp_data->cap[220]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10789pp_data->cap[220]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10790pp_data->cap[220]->pp_cap->UnknownTokens[2].Token = 0x00
10791pp_data->cap[220]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10792pp_data->cap[220]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10793pp_data->cap[220]->pp_cap->UnknownTokens[3].Token = 0x00
10794pp_data->cap[220]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10795pp_data->cap[220]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10796pp_data->cap[220]->NotRange.Usage = 0x0081
10797pp_data->cap[220]->NotRange.Reserved1 = 0x0081
10798pp_data->cap[220]->NotRange.StringIndex = 0
10799pp_data->cap[220]->NotRange.Reserved2 = 0
10800pp_data->cap[220]->NotRange.DesignatorIndex = 0
10801pp_data->cap[220]->NotRange.Reserved3 = 0
10802pp_data->cap[220]->NotRange.DataIndex = 133
10803pp_data->cap[220]->NotRange.Reserved4 = 133
10804pp_data->cap[220]->NotButton.HasNull = 0
10805pp_data->cap[220]->NotButton.Reserved4 = 0x000000
10806pp_data->cap[220]->NotButton.LogicalMin = 0
10807pp_data->cap[220]->NotButton.LogicalMax = 127
10808pp_data->cap[220]->NotButton.PhysicalMin = 0
10809pp_data->cap[220]->NotButton.PhysicalMax = 0
10810pp_data->cap[220]->Units = 0
10811pp_data->cap[220]->UnitsExp = 0
10812
10813# Feature hid_pp_cap struct:
10814pp_data->cap[221]->UsagePage = 0xFF01
10815pp_data->cap[221]->ReportID = 0xD0
10816pp_data->cap[221]->BitPosition = 0
10817pp_data->cap[221]->BitSize = 8
10818pp_data->cap[221]->ReportCount = 32
10819pp_data->cap[221]->BytePosition = 0x0001
10820pp_data->cap[221]->BitCount = 256
10821pp_data->cap[221]->BitField = 0x82
10822pp_data->cap[221]->NextBytePosition = 0x0021
10823pp_data->cap[221]->LinkCollection = 0x0005
10824pp_data->cap[221]->LinkUsagePage = 0xFF01
10825pp_data->cap[221]->LinkUsage = 0x00D0
10826pp_data->cap[221]->IsMultipleItemsForArray = 0
10827pp_data->cap[221]->IsButtonCap = 0
10828pp_data->cap[221]->IsPadding = 0
10829pp_data->cap[221]->IsAbsolute = 1
10830pp_data->cap[221]->IsRange = 0
10831pp_data->cap[221]->IsAlias = 0
10832pp_data->cap[221]->IsStringRange = 0
10833pp_data->cap[221]->IsDesignatorRange = 0
10834pp_data->cap[221]->Reserved1 = 0x000000
10835pp_data->cap[221]->pp_cap->UnknownTokens[0].Token = 0x00
10836pp_data->cap[221]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10837pp_data->cap[221]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10838pp_data->cap[221]->pp_cap->UnknownTokens[1].Token = 0x00
10839pp_data->cap[221]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10840pp_data->cap[221]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10841pp_data->cap[221]->pp_cap->UnknownTokens[2].Token = 0x00
10842pp_data->cap[221]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10843pp_data->cap[221]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10844pp_data->cap[221]->pp_cap->UnknownTokens[3].Token = 0x00
10845pp_data->cap[221]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10846pp_data->cap[221]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10847pp_data->cap[221]->NotRange.Usage = 0x00D1
10848pp_data->cap[221]->NotRange.Reserved1 = 0x00D1
10849pp_data->cap[221]->NotRange.StringIndex = 0
10850pp_data->cap[221]->NotRange.Reserved2 = 0
10851pp_data->cap[221]->NotRange.DesignatorIndex = 0
10852pp_data->cap[221]->NotRange.Reserved3 = 0
10853pp_data->cap[221]->NotRange.DataIndex = 0
10854pp_data->cap[221]->NotRange.Reserved4 = 0
10855pp_data->cap[221]->NotButton.HasNull = 0
10856pp_data->cap[221]->NotButton.Reserved4 = 0x000000
10857pp_data->cap[221]->NotButton.LogicalMin = 0
10858pp_data->cap[221]->NotButton.LogicalMax = 255
10859pp_data->cap[221]->NotButton.PhysicalMin = 0
10860pp_data->cap[221]->NotButton.PhysicalMax = 0
10861pp_data->cap[221]->Units = 0
10862pp_data->cap[221]->UnitsExp = 0
10863
10864pp_data->cap[222]->UsagePage = 0xFF01
10865pp_data->cap[222]->ReportID = 0xD1
10866pp_data->cap[222]->BitPosition = 0
10867pp_data->cap[222]->BitSize = 8
10868pp_data->cap[222]->ReportCount = 32
10869pp_data->cap[222]->BytePosition = 0x0001
10870pp_data->cap[222]->BitCount = 256
10871pp_data->cap[222]->BitField = 0x82
10872pp_data->cap[222]->NextBytePosition = 0x0021
10873pp_data->cap[222]->LinkCollection = 0x0006
10874pp_data->cap[222]->LinkUsagePage = 0xFF01
10875pp_data->cap[222]->LinkUsage = 0x00D0
10876pp_data->cap[222]->IsMultipleItemsForArray = 0
10877pp_data->cap[222]->IsButtonCap = 0
10878pp_data->cap[222]->IsPadding = 0
10879pp_data->cap[222]->IsAbsolute = 1
10880pp_data->cap[222]->IsRange = 0
10881pp_data->cap[222]->IsAlias = 0
10882pp_data->cap[222]->IsStringRange = 0
10883pp_data->cap[222]->IsDesignatorRange = 0
10884pp_data->cap[222]->Reserved1 = 0x000000
10885pp_data->cap[222]->pp_cap->UnknownTokens[0].Token = 0x00
10886pp_data->cap[222]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10887pp_data->cap[222]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10888pp_data->cap[222]->pp_cap->UnknownTokens[1].Token = 0x00
10889pp_data->cap[222]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10890pp_data->cap[222]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10891pp_data->cap[222]->pp_cap->UnknownTokens[2].Token = 0x00
10892pp_data->cap[222]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10893pp_data->cap[222]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10894pp_data->cap[222]->pp_cap->UnknownTokens[3].Token = 0x00
10895pp_data->cap[222]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10896pp_data->cap[222]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10897pp_data->cap[222]->NotRange.Usage = 0x00D1
10898pp_data->cap[222]->NotRange.Reserved1 = 0x00D1
10899pp_data->cap[222]->NotRange.StringIndex = 0
10900pp_data->cap[222]->NotRange.Reserved2 = 0
10901pp_data->cap[222]->NotRange.DesignatorIndex = 0
10902pp_data->cap[222]->NotRange.Reserved3 = 0
10903pp_data->cap[222]->NotRange.DataIndex = 1
10904pp_data->cap[222]->NotRange.Reserved4 = 1
10905pp_data->cap[222]->NotButton.HasNull = 0
10906pp_data->cap[222]->NotButton.Reserved4 = 0x000000
10907pp_data->cap[222]->NotButton.LogicalMin = 0
10908pp_data->cap[222]->NotButton.LogicalMax = 255
10909pp_data->cap[222]->NotButton.PhysicalMin = 0
10910pp_data->cap[222]->NotButton.PhysicalMax = 0
10911pp_data->cap[222]->Units = 0
10912pp_data->cap[222]->UnitsExp = 0
10913
10914pp_data->cap[223]->UsagePage = 0xFF01
10915pp_data->cap[223]->ReportID = 0xD2
10916pp_data->cap[223]->BitPosition = 0
10917pp_data->cap[223]->BitSize = 8
10918pp_data->cap[223]->ReportCount = 32
10919pp_data->cap[223]->BytePosition = 0x0001
10920pp_data->cap[223]->BitCount = 256
10921pp_data->cap[223]->BitField = 0x82
10922pp_data->cap[223]->NextBytePosition = 0x0021
10923pp_data->cap[223]->LinkCollection = 0x0007
10924pp_data->cap[223]->LinkUsagePage = 0xFF01
10925pp_data->cap[223]->LinkUsage = 0x00D0
10926pp_data->cap[223]->IsMultipleItemsForArray = 0
10927pp_data->cap[223]->IsButtonCap = 0
10928pp_data->cap[223]->IsPadding = 0
10929pp_data->cap[223]->IsAbsolute = 1
10930pp_data->cap[223]->IsRange = 0
10931pp_data->cap[223]->IsAlias = 0
10932pp_data->cap[223]->IsStringRange = 0
10933pp_data->cap[223]->IsDesignatorRange = 0
10934pp_data->cap[223]->Reserved1 = 0x000000
10935pp_data->cap[223]->pp_cap->UnknownTokens[0].Token = 0x00
10936pp_data->cap[223]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10937pp_data->cap[223]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10938pp_data->cap[223]->pp_cap->UnknownTokens[1].Token = 0x00
10939pp_data->cap[223]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10940pp_data->cap[223]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10941pp_data->cap[223]->pp_cap->UnknownTokens[2].Token = 0x00
10942pp_data->cap[223]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10943pp_data->cap[223]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10944pp_data->cap[223]->pp_cap->UnknownTokens[3].Token = 0x00
10945pp_data->cap[223]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10946pp_data->cap[223]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10947pp_data->cap[223]->NotRange.Usage = 0x00D1
10948pp_data->cap[223]->NotRange.Reserved1 = 0x00D1
10949pp_data->cap[223]->NotRange.StringIndex = 0
10950pp_data->cap[223]->NotRange.Reserved2 = 0
10951pp_data->cap[223]->NotRange.DesignatorIndex = 0
10952pp_data->cap[223]->NotRange.Reserved3 = 0
10953pp_data->cap[223]->NotRange.DataIndex = 2
10954pp_data->cap[223]->NotRange.Reserved4 = 2
10955pp_data->cap[223]->NotButton.HasNull = 0
10956pp_data->cap[223]->NotButton.Reserved4 = 0x000000
10957pp_data->cap[223]->NotButton.LogicalMin = 0
10958pp_data->cap[223]->NotButton.LogicalMax = 255
10959pp_data->cap[223]->NotButton.PhysicalMin = 0
10960pp_data->cap[223]->NotButton.PhysicalMax = 0
10961pp_data->cap[223]->Units = 0
10962pp_data->cap[223]->UnitsExp = 0
10963
10964pp_data->cap[224]->UsagePage = 0xFF01
10965pp_data->cap[224]->ReportID = 0xD3
10966pp_data->cap[224]->BitPosition = 0
10967pp_data->cap[224]->BitSize = 8
10968pp_data->cap[224]->ReportCount = 32
10969pp_data->cap[224]->BytePosition = 0x0001
10970pp_data->cap[224]->BitCount = 256
10971pp_data->cap[224]->BitField = 0x82
10972pp_data->cap[224]->NextBytePosition = 0x0021
10973pp_data->cap[224]->LinkCollection = 0x0008
10974pp_data->cap[224]->LinkUsagePage = 0xFF01
10975pp_data->cap[224]->LinkUsage = 0x00D0
10976pp_data->cap[224]->IsMultipleItemsForArray = 0
10977pp_data->cap[224]->IsButtonCap = 0
10978pp_data->cap[224]->IsPadding = 0
10979pp_data->cap[224]->IsAbsolute = 1
10980pp_data->cap[224]->IsRange = 0
10981pp_data->cap[224]->IsAlias = 0
10982pp_data->cap[224]->IsStringRange = 0
10983pp_data->cap[224]->IsDesignatorRange = 0
10984pp_data->cap[224]->Reserved1 = 0x000000
10985pp_data->cap[224]->pp_cap->UnknownTokens[0].Token = 0x00
10986pp_data->cap[224]->pp_cap->UnknownTokens[0].Reserved = 0x000000
10987pp_data->cap[224]->pp_cap->UnknownTokens[0].BitField = 0x00000000
10988pp_data->cap[224]->pp_cap->UnknownTokens[1].Token = 0x00
10989pp_data->cap[224]->pp_cap->UnknownTokens[1].Reserved = 0x000000
10990pp_data->cap[224]->pp_cap->UnknownTokens[1].BitField = 0x00000000
10991pp_data->cap[224]->pp_cap->UnknownTokens[2].Token = 0x00
10992pp_data->cap[224]->pp_cap->UnknownTokens[2].Reserved = 0x000000
10993pp_data->cap[224]->pp_cap->UnknownTokens[2].BitField = 0x00000000
10994pp_data->cap[224]->pp_cap->UnknownTokens[3].Token = 0x00
10995pp_data->cap[224]->pp_cap->UnknownTokens[3].Reserved = 0x000000
10996pp_data->cap[224]->pp_cap->UnknownTokens[3].BitField = 0x00000000
10997pp_data->cap[224]->NotRange.Usage = 0x00D1
10998pp_data->cap[224]->NotRange.Reserved1 = 0x00D1
10999pp_data->cap[224]->NotRange.StringIndex = 0
11000pp_data->cap[224]->NotRange.Reserved2 = 0
11001pp_data->cap[224]->NotRange.DesignatorIndex = 0
11002pp_data->cap[224]->NotRange.Reserved3 = 0
11003pp_data->cap[224]->NotRange.DataIndex = 3
11004pp_data->cap[224]->NotRange.Reserved4 = 3
11005pp_data->cap[224]->NotButton.HasNull = 0
11006pp_data->cap[224]->NotButton.Reserved4 = 0x000000
11007pp_data->cap[224]->NotButton.LogicalMin = 0
11008pp_data->cap[224]->NotButton.LogicalMax = 255
11009pp_data->cap[224]->NotButton.PhysicalMin = 0
11010pp_data->cap[224]->NotButton.PhysicalMax = 0
11011pp_data->cap[224]->Units = 0
11012pp_data->cap[224]->UnitsExp = 0
11013
11014pp_data->cap[225]->UsagePage = 0xFF01
11015pp_data->cap[225]->ReportID = 0xD4
11016pp_data->cap[225]->BitPosition = 0
11017pp_data->cap[225]->BitSize = 8
11018pp_data->cap[225]->ReportCount = 32
11019pp_data->cap[225]->BytePosition = 0x0001
11020pp_data->cap[225]->BitCount = 256
11021pp_data->cap[225]->BitField = 0x82
11022pp_data->cap[225]->NextBytePosition = 0x0021
11023pp_data->cap[225]->LinkCollection = 0x0009
11024pp_data->cap[225]->LinkUsagePage = 0xFF01
11025pp_data->cap[225]->LinkUsage = 0x00D0
11026pp_data->cap[225]->IsMultipleItemsForArray = 0
11027pp_data->cap[225]->IsButtonCap = 0
11028pp_data->cap[225]->IsPadding = 0
11029pp_data->cap[225]->IsAbsolute = 1
11030pp_data->cap[225]->IsRange = 0
11031pp_data->cap[225]->IsAlias = 0
11032pp_data->cap[225]->IsStringRange = 0
11033pp_data->cap[225]->IsDesignatorRange = 0
11034pp_data->cap[225]->Reserved1 = 0x000000
11035pp_data->cap[225]->pp_cap->UnknownTokens[0].Token = 0x00
11036pp_data->cap[225]->pp_cap->UnknownTokens[0].Reserved = 0x000000
11037pp_data->cap[225]->pp_cap->UnknownTokens[0].BitField = 0x00000000
11038pp_data->cap[225]->pp_cap->UnknownTokens[1].Token = 0x00
11039pp_data->cap[225]->pp_cap->UnknownTokens[1].Reserved = 0x000000
11040pp_data->cap[225]->pp_cap->UnknownTokens[1].BitField = 0x00000000
11041pp_data->cap[225]->pp_cap->UnknownTokens[2].Token = 0x00
11042pp_data->cap[225]->pp_cap->UnknownTokens[2].Reserved = 0x000000
11043pp_data->cap[225]->pp_cap->UnknownTokens[2].BitField = 0x00000000
11044pp_data->cap[225]->pp_cap->UnknownTokens[3].Token = 0x00
11045pp_data->cap[225]->pp_cap->UnknownTokens[3].Reserved = 0x000000
11046pp_data->cap[225]->pp_cap->UnknownTokens[3].BitField = 0x00000000
11047pp_data->cap[225]->NotRange.Usage = 0x00D1
11048pp_data->cap[225]->NotRange.Reserved1 = 0x00D1
11049pp_data->cap[225]->NotRange.StringIndex = 0
11050pp_data->cap[225]->NotRange.Reserved2 = 0
11051pp_data->cap[225]->NotRange.DesignatorIndex = 0
11052pp_data->cap[225]->NotRange.Reserved3 = 0
11053pp_data->cap[225]->NotRange.DataIndex = 4
11054pp_data->cap[225]->NotRange.Reserved4 = 4
11055pp_data->cap[225]->NotButton.HasNull = 0
11056pp_data->cap[225]->NotButton.Reserved4 = 0x000000
11057pp_data->cap[225]->NotButton.LogicalMin = 0
11058pp_data->cap[225]->NotButton.LogicalMax = 255
11059pp_data->cap[225]->NotButton.PhysicalMin = 0
11060pp_data->cap[225]->NotButton.PhysicalMax = 0
11061pp_data->cap[225]->Units = 0
11062pp_data->cap[225]->UnitsExp = 0
11063
11064pp_data->cap[226]->UsagePage = 0xFF01
11065pp_data->cap[226]->ReportID = 0xD5
11066pp_data->cap[226]->BitPosition = 0
11067pp_data->cap[226]->BitSize = 8
11068pp_data->cap[226]->ReportCount = 32
11069pp_data->cap[226]->BytePosition = 0x0001
11070pp_data->cap[226]->BitCount = 256
11071pp_data->cap[226]->BitField = 0x82
11072pp_data->cap[226]->NextBytePosition = 0x0021
11073pp_data->cap[226]->LinkCollection = 0x000A
11074pp_data->cap[226]->LinkUsagePage = 0xFF01
11075pp_data->cap[226]->LinkUsage = 0x00D0
11076pp_data->cap[226]->IsMultipleItemsForArray = 0
11077pp_data->cap[226]->IsButtonCap = 0
11078pp_data->cap[226]->IsPadding = 0
11079pp_data->cap[226]->IsAbsolute = 1
11080pp_data->cap[226]->IsRange = 0
11081pp_data->cap[226]->IsAlias = 0
11082pp_data->cap[226]->IsStringRange = 0
11083pp_data->cap[226]->IsDesignatorRange = 0
11084pp_data->cap[226]->Reserved1 = 0x000000
11085pp_data->cap[226]->pp_cap->UnknownTokens[0].Token = 0x00
11086pp_data->cap[226]->pp_cap->UnknownTokens[0].Reserved = 0x000000
11087pp_data->cap[226]->pp_cap->UnknownTokens[0].BitField = 0x00000000
11088pp_data->cap[226]->pp_cap->UnknownTokens[1].Token = 0x00
11089pp_data->cap[226]->pp_cap->UnknownTokens[1].Reserved = 0x000000
11090pp_data->cap[226]->pp_cap->UnknownTokens[1].BitField = 0x00000000
11091pp_data->cap[226]->pp_cap->UnknownTokens[2].Token = 0x00
11092pp_data->cap[226]->pp_cap->UnknownTokens[2].Reserved = 0x000000
11093pp_data->cap[226]->pp_cap->UnknownTokens[2].BitField = 0x00000000
11094pp_data->cap[226]->pp_cap->UnknownTokens[3].Token = 0x00
11095pp_data->cap[226]->pp_cap->UnknownTokens[3].Reserved = 0x000000
11096pp_data->cap[226]->pp_cap->UnknownTokens[3].BitField = 0x00000000
11097pp_data->cap[226]->NotRange.Usage = 0x00D1
11098pp_data->cap[226]->NotRange.Reserved1 = 0x00D1
11099pp_data->cap[226]->NotRange.StringIndex = 0
11100pp_data->cap[226]->NotRange.Reserved2 = 0
11101pp_data->cap[226]->NotRange.DesignatorIndex = 0
11102pp_data->cap[226]->NotRange.Reserved3 = 0
11103pp_data->cap[226]->NotRange.DataIndex = 5
11104pp_data->cap[226]->NotRange.Reserved4 = 5
11105pp_data->cap[226]->NotButton.HasNull = 0
11106pp_data->cap[226]->NotButton.Reserved4 = 0x000000
11107pp_data->cap[226]->NotButton.LogicalMin = 0
11108pp_data->cap[226]->NotButton.LogicalMax = 255
11109pp_data->cap[226]->NotButton.PhysicalMin = 0
11110pp_data->cap[226]->NotButton.PhysicalMax = 0
11111pp_data->cap[226]->Units = 0
11112pp_data->cap[226]->UnitsExp = 0
11113
11114pp_data->cap[227]->UsagePage = 0xFF01
11115pp_data->cap[227]->ReportID = 0xD6
11116pp_data->cap[227]->BitPosition = 0
11117pp_data->cap[227]->BitSize = 8
11118pp_data->cap[227]->ReportCount = 32
11119pp_data->cap[227]->BytePosition = 0x0001
11120pp_data->cap[227]->BitCount = 256
11121pp_data->cap[227]->BitField = 0x82
11122pp_data->cap[227]->NextBytePosition = 0x0021
11123pp_data->cap[227]->LinkCollection = 0x000B
11124pp_data->cap[227]->LinkUsagePage = 0xFF01
11125pp_data->cap[227]->LinkUsage = 0x00D0
11126pp_data->cap[227]->IsMultipleItemsForArray = 0
11127pp_data->cap[227]->IsButtonCap = 0
11128pp_data->cap[227]->IsPadding = 0
11129pp_data->cap[227]->IsAbsolute = 1
11130pp_data->cap[227]->IsRange = 0
11131pp_data->cap[227]->IsAlias = 0
11132pp_data->cap[227]->IsStringRange = 0
11133pp_data->cap[227]->IsDesignatorRange = 0
11134pp_data->cap[227]->Reserved1 = 0x000000
11135pp_data->cap[227]->pp_cap->UnknownTokens[0].Token = 0x00
11136pp_data->cap[227]->pp_cap->UnknownTokens[0].Reserved = 0x000000
11137pp_data->cap[227]->pp_cap->UnknownTokens[0].BitField = 0x00000000
11138pp_data->cap[227]->pp_cap->UnknownTokens[1].Token = 0x00
11139pp_data->cap[227]->pp_cap->UnknownTokens[1].Reserved = 0x000000
11140pp_data->cap[227]->pp_cap->UnknownTokens[1].BitField = 0x00000000
11141pp_data->cap[227]->pp_cap->UnknownTokens[2].Token = 0x00
11142pp_data->cap[227]->pp_cap->UnknownTokens[2].Reserved = 0x000000
11143pp_data->cap[227]->pp_cap->UnknownTokens[2].BitField = 0x00000000
11144pp_data->cap[227]->pp_cap->UnknownTokens[3].Token = 0x00
11145pp_data->cap[227]->pp_cap->UnknownTokens[3].Reserved = 0x000000
11146pp_data->cap[227]->pp_cap->UnknownTokens[3].BitField = 0x00000000
11147pp_data->cap[227]->NotRange.Usage = 0x00D1
11148pp_data->cap[227]->NotRange.Reserved1 = 0x00D1
11149pp_data->cap[227]->NotRange.StringIndex = 0
11150pp_data->cap[227]->NotRange.Reserved2 = 0
11151pp_data->cap[227]->NotRange.DesignatorIndex = 0
11152pp_data->cap[227]->NotRange.Reserved3 = 0
11153pp_data->cap[227]->NotRange.DataIndex = 6
11154pp_data->cap[227]->NotRange.Reserved4 = 6
11155pp_data->cap[227]->NotButton.HasNull = 0
11156pp_data->cap[227]->NotButton.Reserved4 = 0x000000
11157pp_data->cap[227]->NotButton.LogicalMin = 0
11158pp_data->cap[227]->NotButton.LogicalMax = 255
11159pp_data->cap[227]->NotButton.PhysicalMin = 0
11160pp_data->cap[227]->NotButton.PhysicalMax = 0
11161pp_data->cap[227]->Units = 0
11162pp_data->cap[227]->UnitsExp = 0
11163
11164pp_data->cap[228]->UsagePage = 0xFF01
11165pp_data->cap[228]->ReportID = 0xD8
11166pp_data->cap[228]->BitPosition = 0
11167pp_data->cap[228]->BitSize = 8
11168pp_data->cap[228]->ReportCount = 32
11169pp_data->cap[228]->BytePosition = 0x0001
11170pp_data->cap[228]->BitCount = 256
11171pp_data->cap[228]->BitField = 0x82
11172pp_data->cap[228]->NextBytePosition = 0x0021
11173pp_data->cap[228]->LinkCollection = 0x000C
11174pp_data->cap[228]->LinkUsagePage = 0xFF01
11175pp_data->cap[228]->LinkUsage = 0x00D0
11176pp_data->cap[228]->IsMultipleItemsForArray = 0
11177pp_data->cap[228]->IsButtonCap = 0
11178pp_data->cap[228]->IsPadding = 0
11179pp_data->cap[228]->IsAbsolute = 1
11180pp_data->cap[228]->IsRange = 0
11181pp_data->cap[228]->IsAlias = 0
11182pp_data->cap[228]->IsStringRange = 0
11183pp_data->cap[228]->IsDesignatorRange = 0
11184pp_data->cap[228]->Reserved1 = 0x000000
11185pp_data->cap[228]->pp_cap->UnknownTokens[0].Token = 0x00
11186pp_data->cap[228]->pp_cap->UnknownTokens[0].Reserved = 0x000000
11187pp_data->cap[228]->pp_cap->UnknownTokens[0].BitField = 0x00000000
11188pp_data->cap[228]->pp_cap->UnknownTokens[1].Token = 0x00
11189pp_data->cap[228]->pp_cap->UnknownTokens[1].Reserved = 0x000000
11190pp_data->cap[228]->pp_cap->UnknownTokens[1].BitField = 0x00000000
11191pp_data->cap[228]->pp_cap->UnknownTokens[2].Token = 0x00
11192pp_data->cap[228]->pp_cap->UnknownTokens[2].Reserved = 0x000000
11193pp_data->cap[228]->pp_cap->UnknownTokens[2].BitField = 0x00000000
11194pp_data->cap[228]->pp_cap->UnknownTokens[3].Token = 0x00
11195pp_data->cap[228]->pp_cap->UnknownTokens[3].Reserved = 0x000000
11196pp_data->cap[228]->pp_cap->UnknownTokens[3].BitField = 0x00000000
11197pp_data->cap[228]->NotRange.Usage = 0x00D1
11198pp_data->cap[228]->NotRange.Reserved1 = 0x00D1
11199pp_data->cap[228]->NotRange.StringIndex = 0
11200pp_data->cap[228]->NotRange.Reserved2 = 0
11201pp_data->cap[228]->NotRange.DesignatorIndex = 0
11202pp_data->cap[228]->NotRange.Reserved3 = 0
11203pp_data->cap[228]->NotRange.DataIndex = 7
11204pp_data->cap[228]->NotRange.Reserved4 = 7
11205pp_data->cap[228]->NotButton.HasNull = 0
11206pp_data->cap[228]->NotButton.Reserved4 = 0x000000
11207pp_data->cap[228]->NotButton.LogicalMin = 0
11208pp_data->cap[228]->NotButton.LogicalMax = 255
11209pp_data->cap[228]->NotButton.PhysicalMin = 0
11210pp_data->cap[228]->NotButton.PhysicalMax = 0
11211pp_data->cap[228]->Units = 0
11212pp_data->cap[228]->UnitsExp = 0
11213
11214pp_data->cap[229]->UsagePage = 0xFF01
11215pp_data->cap[229]->ReportID = 0xD9
11216pp_data->cap[229]->BitPosition = 0
11217pp_data->cap[229]->BitSize = 8
11218pp_data->cap[229]->ReportCount = 32
11219pp_data->cap[229]->BytePosition = 0x0001
11220pp_data->cap[229]->BitCount = 256
11221pp_data->cap[229]->BitField = 0x82
11222pp_data->cap[229]->NextBytePosition = 0x0021
11223pp_data->cap[229]->LinkCollection = 0x000D
11224pp_data->cap[229]->LinkUsagePage = 0xFF01
11225pp_data->cap[229]->LinkUsage = 0x00D0
11226pp_data->cap[229]->IsMultipleItemsForArray = 0
11227pp_data->cap[229]->IsButtonCap = 0
11228pp_data->cap[229]->IsPadding = 0
11229pp_data->cap[229]->IsAbsolute = 1
11230pp_data->cap[229]->IsRange = 0
11231pp_data->cap[229]->IsAlias = 0
11232pp_data->cap[229]->IsStringRange = 0
11233pp_data->cap[229]->IsDesignatorRange = 0
11234pp_data->cap[229]->Reserved1 = 0x000000
11235pp_data->cap[229]->pp_cap->UnknownTokens[0].Token = 0x00
11236pp_data->cap[229]->pp_cap->UnknownTokens[0].Reserved = 0x000000
11237pp_data->cap[229]->pp_cap->UnknownTokens[0].BitField = 0x00000000
11238pp_data->cap[229]->pp_cap->UnknownTokens[1].Token = 0x00
11239pp_data->cap[229]->pp_cap->UnknownTokens[1].Reserved = 0x000000
11240pp_data->cap[229]->pp_cap->UnknownTokens[1].BitField = 0x00000000
11241pp_data->cap[229]->pp_cap->UnknownTokens[2].Token = 0x00
11242pp_data->cap[229]->pp_cap->UnknownTokens[2].Reserved = 0x000000
11243pp_data->cap[229]->pp_cap->UnknownTokens[2].BitField = 0x00000000
11244pp_data->cap[229]->pp_cap->UnknownTokens[3].Token = 0x00
11245pp_data->cap[229]->pp_cap->UnknownTokens[3].Reserved = 0x000000
11246pp_data->cap[229]->pp_cap->UnknownTokens[3].BitField = 0x00000000
11247pp_data->cap[229]->NotRange.Usage = 0x00D1
11248pp_data->cap[229]->NotRange.Reserved1 = 0x00D1
11249pp_data->cap[229]->NotRange.StringIndex = 0
11250pp_data->cap[229]->NotRange.Reserved2 = 0
11251pp_data->cap[229]->NotRange.DesignatorIndex = 0
11252pp_data->cap[229]->NotRange.Reserved3 = 0
11253pp_data->cap[229]->NotRange.DataIndex = 8
11254pp_data->cap[229]->NotRange.Reserved4 = 8
11255pp_data->cap[229]->NotButton.HasNull = 0
11256pp_data->cap[229]->NotButton.Reserved4 = 0x000000
11257pp_data->cap[229]->NotButton.LogicalMin = 0
11258pp_data->cap[229]->NotButton.LogicalMax = 255
11259pp_data->cap[229]->NotButton.PhysicalMin = 0
11260pp_data->cap[229]->NotButton.PhysicalMax = 0
11261pp_data->cap[229]->Units = 0
11262pp_data->cap[229]->UnitsExp = 0
11263
11264pp_data->cap[230]->UsagePage = 0xFF01
11265pp_data->cap[230]->ReportID = 0xF1
11266pp_data->cap[230]->BitPosition = 0
11267pp_data->cap[230]->BitSize = 8
11268pp_data->cap[230]->ReportCount = 2
11269pp_data->cap[230]->BytePosition = 0x0001
11270pp_data->cap[230]->BitCount = 16
11271pp_data->cap[230]->BitField = 0x82
11272pp_data->cap[230]->NextBytePosition = 0x0003
11273pp_data->cap[230]->LinkCollection = 0x000E
11274pp_data->cap[230]->LinkUsagePage = 0xFF01
11275pp_data->cap[230]->LinkUsage = 0x00D0
11276pp_data->cap[230]->IsMultipleItemsForArray = 0
11277pp_data->cap[230]->IsButtonCap = 0
11278pp_data->cap[230]->IsPadding = 0
11279pp_data->cap[230]->IsAbsolute = 1
11280pp_data->cap[230]->IsRange = 0
11281pp_data->cap[230]->IsAlias = 0
11282pp_data->cap[230]->IsStringRange = 0
11283pp_data->cap[230]->IsDesignatorRange = 0
11284pp_data->cap[230]->Reserved1 = 0x000000
11285pp_data->cap[230]->pp_cap->UnknownTokens[0].Token = 0x00
11286pp_data->cap[230]->pp_cap->UnknownTokens[0].Reserved = 0x000000
11287pp_data->cap[230]->pp_cap->UnknownTokens[0].BitField = 0x00000000
11288pp_data->cap[230]->pp_cap->UnknownTokens[1].Token = 0x00
11289pp_data->cap[230]->pp_cap->UnknownTokens[1].Reserved = 0x000000
11290pp_data->cap[230]->pp_cap->UnknownTokens[1].BitField = 0x00000000
11291pp_data->cap[230]->pp_cap->UnknownTokens[2].Token = 0x00
11292pp_data->cap[230]->pp_cap->UnknownTokens[2].Reserved = 0x000000
11293pp_data->cap[230]->pp_cap->UnknownTokens[2].BitField = 0x00000000
11294pp_data->cap[230]->pp_cap->UnknownTokens[3].Token = 0x00
11295pp_data->cap[230]->pp_cap->UnknownTokens[3].Reserved = 0x000000
11296pp_data->cap[230]->pp_cap->UnknownTokens[3].BitField = 0x00000000
11297pp_data->cap[230]->NotRange.Usage = 0x00D1
11298pp_data->cap[230]->NotRange.Reserved1 = 0x00D1
11299pp_data->cap[230]->NotRange.StringIndex = 0
11300pp_data->cap[230]->NotRange.Reserved2 = 0
11301pp_data->cap[230]->NotRange.DesignatorIndex = 0
11302pp_data->cap[230]->NotRange.Reserved3 = 0
11303pp_data->cap[230]->NotRange.DataIndex = 9
11304pp_data->cap[230]->NotRange.Reserved4 = 9
11305pp_data->cap[230]->NotButton.HasNull = 0
11306pp_data->cap[230]->NotButton.Reserved4 = 0x000000
11307pp_data->cap[230]->NotButton.LogicalMin = 0
11308pp_data->cap[230]->NotButton.LogicalMax = 255
11309pp_data->cap[230]->NotButton.PhysicalMin = 0
11310pp_data->cap[230]->NotButton.PhysicalMax = 0
11311pp_data->cap[230]->Units = 0
11312pp_data->cap[230]->UnitsExp = 0
11313
11314pp_data->cap[231]->UsagePage = 0xFF01
11315pp_data->cap[231]->ReportID = 0xF3
11316pp_data->cap[231]->BitPosition = 0
11317pp_data->cap[231]->BitSize = 8
11318pp_data->cap[231]->ReportCount = 2
11319pp_data->cap[231]->BytePosition = 0x0001
11320pp_data->cap[231]->BitCount = 16
11321pp_data->cap[231]->BitField = 0x82
11322pp_data->cap[231]->NextBytePosition = 0x0003
11323pp_data->cap[231]->LinkCollection = 0x000F
11324pp_data->cap[231]->LinkUsagePage = 0xFF01
11325pp_data->cap[231]->LinkUsage = 0x00D0
11326pp_data->cap[231]->IsMultipleItemsForArray = 0
11327pp_data->cap[231]->IsButtonCap = 0
11328pp_data->cap[231]->IsPadding = 0
11329pp_data->cap[231]->IsAbsolute = 1
11330pp_data->cap[231]->IsRange = 0
11331pp_data->cap[231]->IsAlias = 0
11332pp_data->cap[231]->IsStringRange = 0
11333pp_data->cap[231]->IsDesignatorRange = 0
11334pp_data->cap[231]->Reserved1 = 0x000000
11335pp_data->cap[231]->pp_cap->UnknownTokens[0].Token = 0x00
11336pp_data->cap[231]->pp_cap->UnknownTokens[0].Reserved = 0x000000
11337pp_data->cap[231]->pp_cap->UnknownTokens[0].BitField = 0x00000000
11338pp_data->cap[231]->pp_cap->UnknownTokens[1].Token = 0x00
11339pp_data->cap[231]->pp_cap->UnknownTokens[1].Reserved = 0x000000
11340pp_data->cap[231]->pp_cap->UnknownTokens[1].BitField = 0x00000000
11341pp_data->cap[231]->pp_cap->UnknownTokens[2].Token = 0x00
11342pp_data->cap[231]->pp_cap->UnknownTokens[2].Reserved = 0x000000
11343pp_data->cap[231]->pp_cap->UnknownTokens[2].BitField = 0x00000000
11344pp_data->cap[231]->pp_cap->UnknownTokens[3].Token = 0x00
11345pp_data->cap[231]->pp_cap->UnknownTokens[3].Reserved = 0x000000
11346pp_data->cap[231]->pp_cap->UnknownTokens[3].BitField = 0x00000000
11347pp_data->cap[231]->NotRange.Usage = 0x00D1
11348pp_data->cap[231]->NotRange.Reserved1 = 0x00D1
11349pp_data->cap[231]->NotRange.StringIndex = 0
11350pp_data->cap[231]->NotRange.Reserved2 = 0
11351pp_data->cap[231]->NotRange.DesignatorIndex = 0
11352pp_data->cap[231]->NotRange.Reserved3 = 0
11353pp_data->cap[231]->NotRange.DataIndex = 10
11354pp_data->cap[231]->NotRange.Reserved4 = 10
11355pp_data->cap[231]->NotButton.HasNull = 0
11356pp_data->cap[231]->NotButton.Reserved4 = 0x000000
11357pp_data->cap[231]->NotButton.LogicalMin = 0
11358pp_data->cap[231]->NotButton.LogicalMax = 127
11359pp_data->cap[231]->NotButton.PhysicalMin = 0
11360pp_data->cap[231]->NotButton.PhysicalMax = 0
11361pp_data->cap[231]->Units = 0
11362pp_data->cap[231]->UnitsExp = 0
11363
11364# Link Collections:
11365pp_data->LinkCollectionArray[0]->LinkUsage = 0x0000
11366pp_data->LinkCollectionArray[0]->LinkUsagePage = 0xFF01
11367pp_data->LinkCollectionArray[0]->Parent = 0
11368pp_data->LinkCollectionArray[0]->NumberOfChildren = 15
11369pp_data->LinkCollectionArray[0]->NextSibling = 0
11370pp_data->LinkCollectionArray[0]->FirstChild = 15
11371pp_data->LinkCollectionArray[0]->CollectionType = 1
11372pp_data->LinkCollectionArray[0]->IsAlias = 0
11373pp_data->LinkCollectionArray[0]->Reserved = 0x00000000
11374pp_data->LinkCollectionArray[1]->LinkUsage = 0x0001
11375pp_data->LinkCollectionArray[1]->LinkUsagePage = 0xFF01
11376pp_data->LinkCollectionArray[1]->Parent = 0
11377pp_data->LinkCollectionArray[1]->NumberOfChildren = 0
11378pp_data->LinkCollectionArray[1]->NextSibling = 0
11379pp_data->LinkCollectionArray[1]->FirstChild = 0
11380pp_data->LinkCollectionArray[1]->CollectionType = 2
11381pp_data->LinkCollectionArray[1]->IsAlias = 0
11382pp_data->LinkCollectionArray[1]->Reserved = 0x00000000
11383pp_data->LinkCollectionArray[2]->LinkUsage = 0x0002
11384pp_data->LinkCollectionArray[2]->LinkUsagePage = 0xFF01
11385pp_data->LinkCollectionArray[2]->Parent = 0
11386pp_data->LinkCollectionArray[2]->NumberOfChildren = 0
11387pp_data->LinkCollectionArray[2]->NextSibling = 1
11388pp_data->LinkCollectionArray[2]->FirstChild = 0
11389pp_data->LinkCollectionArray[2]->CollectionType = 2
11390pp_data->LinkCollectionArray[2]->IsAlias = 0
11391pp_data->LinkCollectionArray[2]->Reserved = 0x00000000
11392pp_data->LinkCollectionArray[3]->LinkUsage = 0x0080
11393pp_data->LinkCollectionArray[3]->LinkUsagePage = 0xFF01
11394pp_data->LinkCollectionArray[3]->Parent = 0
11395pp_data->LinkCollectionArray[3]->NumberOfChildren = 0
11396pp_data->LinkCollectionArray[3]->NextSibling = 2
11397pp_data->LinkCollectionArray[3]->FirstChild = 0
11398pp_data->LinkCollectionArray[3]->CollectionType = 2
11399pp_data->LinkCollectionArray[3]->IsAlias = 0
11400pp_data->LinkCollectionArray[3]->Reserved = 0x00000000
11401pp_data->LinkCollectionArray[4]->LinkUsage = 0x0080
11402pp_data->LinkCollectionArray[4]->LinkUsagePage = 0xFF01
11403pp_data->LinkCollectionArray[4]->Parent = 0
11404pp_data->LinkCollectionArray[4]->NumberOfChildren = 0
11405pp_data->LinkCollectionArray[4]->NextSibling = 3
11406pp_data->LinkCollectionArray[4]->FirstChild = 0
11407pp_data->LinkCollectionArray[4]->CollectionType = 2
11408pp_data->LinkCollectionArray[4]->IsAlias = 0
11409pp_data->LinkCollectionArray[4]->Reserved = 0x00000000
11410pp_data->LinkCollectionArray[5]->LinkUsage = 0x00D0
11411pp_data->LinkCollectionArray[5]->LinkUsagePage = 0xFF01
11412pp_data->LinkCollectionArray[5]->Parent = 0
11413pp_data->LinkCollectionArray[5]->NumberOfChildren = 0
11414pp_data->LinkCollectionArray[5]->NextSibling = 4
11415pp_data->LinkCollectionArray[5]->FirstChild = 0
11416pp_data->LinkCollectionArray[5]->CollectionType = 2
11417pp_data->LinkCollectionArray[5]->IsAlias = 0
11418pp_data->LinkCollectionArray[5]->Reserved = 0x00000000
11419pp_data->LinkCollectionArray[6]->LinkUsage = 0x00D0
11420pp_data->LinkCollectionArray[6]->LinkUsagePage = 0xFF01
11421pp_data->LinkCollectionArray[6]->Parent = 0
11422pp_data->LinkCollectionArray[6]->NumberOfChildren = 0
11423pp_data->LinkCollectionArray[6]->NextSibling = 5
11424pp_data->LinkCollectionArray[6]->FirstChild = 0
11425pp_data->LinkCollectionArray[6]->CollectionType = 2
11426pp_data->LinkCollectionArray[6]->IsAlias = 0
11427pp_data->LinkCollectionArray[6]->Reserved = 0x00000000
11428pp_data->LinkCollectionArray[7]->LinkUsage = 0x00D0
11429pp_data->LinkCollectionArray[7]->LinkUsagePage = 0xFF01
11430pp_data->LinkCollectionArray[7]->Parent = 0
11431pp_data->LinkCollectionArray[7]->NumberOfChildren = 0
11432pp_data->LinkCollectionArray[7]->NextSibling = 6
11433pp_data->LinkCollectionArray[7]->FirstChild = 0
11434pp_data->LinkCollectionArray[7]->CollectionType = 2
11435pp_data->LinkCollectionArray[7]->IsAlias = 0
11436pp_data->LinkCollectionArray[7]->Reserved = 0x00000000
11437pp_data->LinkCollectionArray[8]->LinkUsage = 0x00D0
11438pp_data->LinkCollectionArray[8]->LinkUsagePage = 0xFF01
11439pp_data->LinkCollectionArray[8]->Parent = 0
11440pp_data->LinkCollectionArray[8]->NumberOfChildren = 0
11441pp_data->LinkCollectionArray[8]->NextSibling = 7
11442pp_data->LinkCollectionArray[8]->FirstChild = 0
11443pp_data->LinkCollectionArray[8]->CollectionType = 2
11444pp_data->LinkCollectionArray[8]->IsAlias = 0
11445pp_data->LinkCollectionArray[8]->Reserved = 0x00000000
11446pp_data->LinkCollectionArray[9]->LinkUsage = 0x00D0
11447pp_data->LinkCollectionArray[9]->LinkUsagePage = 0xFF01
11448pp_data->LinkCollectionArray[9]->Parent = 0
11449pp_data->LinkCollectionArray[9]->NumberOfChildren = 0
11450pp_data->LinkCollectionArray[9]->NextSibling = 8
11451pp_data->LinkCollectionArray[9]->FirstChild = 0
11452pp_data->LinkCollectionArray[9]->CollectionType = 2
11453pp_data->LinkCollectionArray[9]->IsAlias = 0
11454pp_data->LinkCollectionArray[9]->Reserved = 0x00000000
11455pp_data->LinkCollectionArray[10]->LinkUsage = 0x00D0
11456pp_data->LinkCollectionArray[10]->LinkUsagePage = 0xFF01
11457pp_data->LinkCollectionArray[10]->Parent = 0
11458pp_data->LinkCollectionArray[10]->NumberOfChildren = 0
11459pp_data->LinkCollectionArray[10]->NextSibling = 9
11460pp_data->LinkCollectionArray[10]->FirstChild = 0
11461pp_data->LinkCollectionArray[10]->CollectionType = 2
11462pp_data->LinkCollectionArray[10]->IsAlias = 0
11463pp_data->LinkCollectionArray[10]->Reserved = 0x00000000
11464pp_data->LinkCollectionArray[11]->LinkUsage = 0x00D0
11465pp_data->LinkCollectionArray[11]->LinkUsagePage = 0xFF01
11466pp_data->LinkCollectionArray[11]->Parent = 0
11467pp_data->LinkCollectionArray[11]->NumberOfChildren = 0
11468pp_data->LinkCollectionArray[11]->NextSibling = 10
11469pp_data->LinkCollectionArray[11]->FirstChild = 0
11470pp_data->LinkCollectionArray[11]->CollectionType = 2
11471pp_data->LinkCollectionArray[11]->IsAlias = 0
11472pp_data->LinkCollectionArray[11]->Reserved = 0x00000000
11473pp_data->LinkCollectionArray[12]->LinkUsage = 0x00D0
11474pp_data->LinkCollectionArray[12]->LinkUsagePage = 0xFF01
11475pp_data->LinkCollectionArray[12]->Parent = 0
11476pp_data->LinkCollectionArray[12]->NumberOfChildren = 0
11477pp_data->LinkCollectionArray[12]->NextSibling = 11
11478pp_data->LinkCollectionArray[12]->FirstChild = 0
11479pp_data->LinkCollectionArray[12]->CollectionType = 2
11480pp_data->LinkCollectionArray[12]->IsAlias = 0
11481pp_data->LinkCollectionArray[12]->Reserved = 0x00000000
11482pp_data->LinkCollectionArray[13]->LinkUsage = 0x00D0
11483pp_data->LinkCollectionArray[13]->LinkUsagePage = 0xFF01
11484pp_data->LinkCollectionArray[13]->Parent = 0
11485pp_data->LinkCollectionArray[13]->NumberOfChildren = 0
11486pp_data->LinkCollectionArray[13]->NextSibling = 12
11487pp_data->LinkCollectionArray[13]->FirstChild = 0
11488pp_data->LinkCollectionArray[13]->CollectionType = 2
11489pp_data->LinkCollectionArray[13]->IsAlias = 0
11490pp_data->LinkCollectionArray[13]->Reserved = 0x00000000
11491pp_data->LinkCollectionArray[14]->LinkUsage = 0x00D0
11492pp_data->LinkCollectionArray[14]->LinkUsagePage = 0xFF01
11493pp_data->LinkCollectionArray[14]->Parent = 0
11494pp_data->LinkCollectionArray[14]->NumberOfChildren = 0
11495pp_data->LinkCollectionArray[14]->NextSibling = 13
11496pp_data->LinkCollectionArray[14]->FirstChild = 0
11497pp_data->LinkCollectionArray[14]->CollectionType = 2
11498pp_data->LinkCollectionArray[14]->IsAlias = 0
11499pp_data->LinkCollectionArray[14]->Reserved = 0x00000000
11500pp_data->LinkCollectionArray[15]->LinkUsage = 0x00D0
11501pp_data->LinkCollectionArray[15]->LinkUsagePage = 0xFF01
11502pp_data->LinkCollectionArray[15]->Parent = 0
11503pp_data->LinkCollectionArray[15]->NumberOfChildren = 0
11504pp_data->LinkCollectionArray[15]->NextSibling = 14
11505pp_data->LinkCollectionArray[15]->FirstChild = 0
11506pp_data->LinkCollectionArray[15]->CollectionType = 2
11507pp_data->LinkCollectionArray[15]->IsAlias = 0
11508pp_data->LinkCollectionArray[15]->Reserved = 0x00000000
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_expected.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_expected.rpt_desc
new file mode 100644
index 0000000..9bcc814
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_expected.rpt_desc
@@ -0,0 +1,75 @@
10x06, 0x01, 0xFF, 0x09, 0x00, 0xA1, 0x01, 0x09, 0x01, 0xA1,
20x02, 0x85, 0x01, 0x09, 0x03, 0x09, 0x03, 0x09, 0x03, 0x09,
30x03, 0x15, 0x00, 0x25, 0x0F, 0x75, 0x04, 0x95, 0x04, 0x81,
40x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
50x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
60x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
70x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
80x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
90x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
100x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
110x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
120x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09,
130x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x02, 0x09, 0x0B, 0x09,
140x0B, 0x09, 0x0B, 0x09, 0x0B, 0x09, 0x0B, 0x09, 0x0B, 0x09,
150x0B, 0x09, 0x0B, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
160x38, 0x81, 0x02, 0xC0, 0x09, 0x02, 0xA1, 0x02, 0x85, 0x02,
170x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04,
180x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04,
190x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04,
200x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04,
210x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04, 0x09, 0x04,
220x09, 0x04, 0x15, 0x00, 0x26, 0xFF, 0x0F, 0x75, 0x10, 0x95,
230x1A, 0x81, 0x02, 0xC0, 0x09, 0x80, 0xA1, 0x02, 0x85, 0x80,
240x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
250x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
260x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
270x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
280x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
290x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
300x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
310x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
320x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
330x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
340x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
350x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
360x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
370x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
380x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
390x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
400x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
410x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81,
420x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x15, 0x00,
430x25, 0x7F, 0x75, 0x08, 0x95, 0x5E, 0x91, 0x02, 0xC0, 0x09,
440x80, 0xA1, 0x02, 0x85, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
450x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
460x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
470x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
480x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
490x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
500x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
510x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09, 0x81, 0x09,
520x81, 0x09, 0x81, 0x09, 0x81, 0x15, 0x00, 0x25, 0x7F, 0x75,
530x08, 0x95, 0x28, 0x91, 0x02, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
540x85, 0xD0, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
550x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
560x85, 0xD1, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
570x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
580x85, 0xD2, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
590x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
600x85, 0xD3, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
610x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
620x85, 0xD4, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
630x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
640x85, 0xD5, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
650x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
660x85, 0xD6, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
670x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
680x85, 0xD8, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
690x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
700x85, 0xD9, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
710x08, 0x95, 0x20, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
720x85, 0xF1, 0x09, 0xD1, 0x15, 0x00, 0x26, 0xFF, 0x00, 0x75,
730x08, 0x95, 0x02, 0xB1, 0x82, 0xC0, 0x09, 0xD0, 0xA1, 0x02,
740x85, 0xF3, 0x09, 0xD1, 0x15, 0x00, 0x25, 0x7F, 0x75, 0x08,
750x95, 0x02, 0xB1, 0x82, 0xC0, 0xC0, \ No newline at end of file
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_real.rpt_desc b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_real.rpt_desc
new file mode 100644
index 0000000..7f908f8
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/hidapi/windows/test/data/17CC_1130_0000_FF01_real.rpt_desc
@@ -0,0 +1,381 @@
1Usage Page (Vendor-Defined 2) 06 01 FF
2Usage (Undefined) 09 00
3Collection (Application) A1 01
4 Usage (Vendor-Defined 1) 09 01
5 Collection (Logical) A1 02
6 Report ID (1) 85 01
7 Usage (Vendor-Defined 3) 09 03
8 Usage (Vendor-Defined 3) 09 03
9 Usage (Vendor-Defined 3) 09 03
10 Usage (Vendor-Defined 3) 09 03
11 Logical Minimum (0) 15 00
12 Logical Maximum (15) 25 0F
13 Report Size (4) 75 04
14 Report Count (4) 95 04
15 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
16 Usage (Vendor-Defined 2) 09 02
17 Usage (Vendor-Defined 2) 09 02
18 Usage (Vendor-Defined 2) 09 02
19 Usage (Vendor-Defined 2) 09 02
20 Usage (Vendor-Defined 2) 09 02
21 Usage (Vendor-Defined 2) 09 02
22 Usage (Vendor-Defined 2) 09 02
23 Usage (Vendor-Defined 2) 09 02
24 Usage (Vendor-Defined 2) 09 02
25 Usage (Vendor-Defined 2) 09 02
26 Usage (Vendor-Defined 2) 09 02
27 Usage (Vendor-Defined 2) 09 02
28 Usage (Vendor-Defined 2) 09 02
29 Usage (Vendor-Defined 2) 09 02
30 Usage (Vendor-Defined 2) 09 02
31 Usage (Vendor-Defined 2) 09 02
32 Usage (Vendor-Defined 2) 09 02
33 Usage (Vendor-Defined 2) 09 02
34 Usage (Vendor-Defined 2) 09 02
35 Usage (Vendor-Defined 2) 09 02
36 Usage (Vendor-Defined 2) 09 02
37 Usage (Vendor-Defined 2) 09 02
38 Usage (Vendor-Defined 2) 09 02
39 Usage (Vendor-Defined 2) 09 02
40 Usage (Vendor-Defined 2) 09 02
41 Usage (Vendor-Defined 2) 09 02
42 Usage (Vendor-Defined 2) 09 02
43 Usage (Vendor-Defined 2) 09 02
44 Usage (Vendor-Defined 2) 09 02
45 Usage (Vendor-Defined 2) 09 02
46 Usage (Vendor-Defined 2) 09 02
47 Usage (Vendor-Defined 2) 09 02
48 Usage (Vendor-Defined 2) 09 02
49 Usage (Vendor-Defined 2) 09 02
50 Usage (Vendor-Defined 2) 09 02
51 Usage (Vendor-Defined 2) 09 02
52 Usage (Vendor-Defined 2) 09 02
53 Usage (Vendor-Defined 2) 09 02
54 Usage (Vendor-Defined 2) 09 02
55 Usage (Vendor-Defined 2) 09 02
56 Usage (Vendor-Defined 2) 09 02
57 Usage (Vendor-Defined 2) 09 02
58 Usage (Vendor-Defined 2) 09 02
59 Usage (Vendor-Defined 2) 09 02
60 Usage (Vendor-Defined 2) 09 02
61 Usage (Vendor-Defined 2) 09 02
62 Usage (Vendor-Defined 2) 09 02
63 Usage (Vendor-Defined 2) 09 02
64 Logical Minimum (0) 15 00
65 Logical Maximum (1) 25 01
66 Report Size (1) 75 01
67 Report Count (48) 95 30
68 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
69 Usage (Vendor-Defined 11) 09 0B
70 Usage (Vendor-Defined 11) 09 0B
71 Usage (Vendor-Defined 11) 09 0B
72 Usage (Vendor-Defined 11) 09 0B
73 Usage (Vendor-Defined 11) 09 0B
74 Usage (Vendor-Defined 11) 09 0B
75 Usage (Vendor-Defined 11) 09 0B
76 Usage (Vendor-Defined 11) 09 0B
77 Logical Minimum (0) 15 00
78 Logical Maximum (1) 25 01
79 Report Size (1) 75 01
80 Report Count (8) 95 08
81 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
82 End Collection C0
83 Usage (Vendor-Defined 2) 09 02
84 Collection (Logical) A1 02
85 Report ID (2) 85 02
86 Usage (Vendor-Defined 4) 09 04
87 Usage (Vendor-Defined 4) 09 04
88 Usage (Vendor-Defined 4) 09 04
89 Usage (Vendor-Defined 4) 09 04
90 Usage (Vendor-Defined 4) 09 04
91 Usage (Vendor-Defined 4) 09 04
92 Usage (Vendor-Defined 4) 09 04
93 Usage (Vendor-Defined 4) 09 04
94 Usage (Vendor-Defined 4) 09 04
95 Usage (Vendor-Defined 4) 09 04
96 Usage (Vendor-Defined 4) 09 04
97 Usage (Vendor-Defined 4) 09 04
98 Usage (Vendor-Defined 4) 09 04
99 Usage (Vendor-Defined 4) 09 04
100 Usage (Vendor-Defined 4) 09 04
101 Usage (Vendor-Defined 4) 09 04
102 Usage (Vendor-Defined 4) 09 04
103 Usage (Vendor-Defined 4) 09 04
104 Usage (Vendor-Defined 4) 09 04
105 Usage (Vendor-Defined 4) 09 04
106 Usage (Vendor-Defined 4) 09 04
107 Usage (Vendor-Defined 4) 09 04
108 Usage (Vendor-Defined 4) 09 04
109 Usage (Vendor-Defined 4) 09 04
110 Usage (Vendor-Defined 4) 09 04
111 Usage (Vendor-Defined 4) 09 04
112 Usage (Vendor-Defined 4) 09 04
113 Logical Minimum (0) 15 00
114 Logical Maximum (4095) 26 FF 0F
115 Report Size (16) 75 10
116 Report Count (26) 95 1A
117 Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
118 End Collection C0
119 Usage (Vendor-Defined 128) 09 80
120 Collection (Logical) A1 02
121 Report ID (128) 85 80
122 Usage (Vendor-Defined 129) 09 81
123 Usage (Vendor-Defined 129) 09 81
124 Usage (Vendor-Defined 129) 09 81
125 Usage (Vendor-Defined 129) 09 81
126 Usage (Vendor-Defined 129) 09 81
127 Usage (Vendor-Defined 129) 09 81
128 Usage (Vendor-Defined 129) 09 81
129 Usage (Vendor-Defined 129) 09 81
130 Usage (Vendor-Defined 129) 09 81
131 Usage (Vendor-Defined 129) 09 81
132 Usage (Vendor-Defined 129) 09 81
133 Usage (Vendor-Defined 129) 09 81
134 Usage (Vendor-Defined 129) 09 81
135 Usage (Vendor-Defined 129) 09 81
136 Usage (Vendor-Defined 129) 09 81
137 Usage (Vendor-Defined 129) 09 81
138 Usage (Vendor-Defined 129) 09 81
139 Usage (Vendor-Defined 129) 09 81
140 Usage (Vendor-Defined 129) 09 81
141 Usage (Vendor-Defined 129) 09 81
142 Usage (Vendor-Defined 129) 09 81
143 Usage (Vendor-Defined 129) 09 81
144 Usage (Vendor-Defined 129) 09 81
145 Usage (Vendor-Defined 129) 09 81
146 Usage (Vendor-Defined 129) 09 81
147 Usage (Vendor-Defined 129) 09 81
148 Usage (Vendor-Defined 129) 09 81
149 Usage (Vendor-Defined 129) 09 81
150 Usage (Vendor-Defined 129) 09 81
151 Usage (Vendor-Defined 129) 09 81
152 Usage (Vendor-Defined 129) 09 81
153 Usage (Vendor-Defined 129) 09 81
154 Usage (Vendor-Defined 129) 09 81
155 Usage (Vendor-Defined 129) 09 81
156 Usage (Vendor-Defined 129) 09 81
157 Usage (Vendor-Defined 129) 09 81
158 Usage (Vendor-Defined 129) 09 81
159 Usage (Vendor-Defined 129) 09 81
160 Usage (Vendor-Defined 129) 09 81
161 Usage (Vendor-Defined 129) 09 81
162 Usage (Vendor-Defined 129) 09 81
163 Usage (Vendor-Defined 129) 09 81
164 Usage (Vendor-Defined 129) 09 81
165 Usage (Vendor-Defined 129) 09 81
166 Usage (Vendor-Defined 129) 09 81
167 Usage (Vendor-Defined 129) 09 81
168 Usage (Vendor-Defined 129) 09 81
169 Usage (Vendor-Defined 129) 09 81
170 Usage (Vendor-Defined 129) 09 81
171 Usage (Vendor-Defined 129) 09 81
172 Usage (Vendor-Defined 129) 09 81
173 Usage (Vendor-Defined 129) 09 81
174 Usage (Vendor-Defined 129) 09 81
175 Usage (Vendor-Defined 129) 09 81
176 Usage (Vendor-Defined 129) 09 81
177 Usage (Vendor-Defined 129) 09 81
178 Usage (Vendor-Defined 129) 09 81
179 Usage (Vendor-Defined 129) 09 81
180 Usage (Vendor-Defined 129) 09 81
181 Usage (Vendor-Defined 129) 09 81
182 Usage (Vendor-Defined 129) 09 81
183 Usage (Vendor-Defined 129) 09 81
184 Usage (Vendor-Defined 129) 09 81
185 Usage (Vendor-Defined 129) 09 81
186 Usage (Vendor-Defined 129) 09 81
187 Usage (Vendor-Defined 129) 09 81
188 Usage (Vendor-Defined 129) 09 81
189 Usage (Vendor-Defined 129) 09 81
190 Usage (Vendor-Defined 129) 09 81
191 Usage (Vendor-Defined 129) 09 81
192 Usage (Vendor-Defined 129) 09 81
193 Usage (Vendor-Defined 129) 09 81
194 Usage (Vendor-Defined 129) 09 81
195 Usage (Vendor-Defined 129) 09 81
196 Usage (Vendor-Defined 129) 09 81
197 Usage (Vendor-Defined 129) 09 81
198 Usage (Vendor-Defined 129) 09 81
199 Usage (Vendor-Defined 129) 09 81
200 Usage (Vendor-Defined 129) 09 81
201 Usage (Vendor-Defined 129) 09 81
202 Usage (Vendor-Defined 129) 09 81
203 Usage (Vendor-Defined 129) 09 81
204 Usage (Vendor-Defined 129) 09 81
205 Usage (Vendor-Defined 129) 09 81
206 Usage (Vendor-Defined 129) 09 81
207 Usage (Vendor-Defined 129) 09 81
208 Usage (Vendor-Defined 129) 09 81
209 Usage (Vendor-Defined 129) 09 81
210 Usage (Vendor-Defined 129) 09 81
211 Usage (Vendor-Defined 129) 09 81
212 Usage (Vendor-Defined 129) 09 81
213 Usage (Vendor-Defined 129) 09 81
214 Usage (Vendor-Defined 129) 09 81
215 Usage (Vendor-Defined 129) 09 81
216 Logical Minimum (0) 15 00
217 Logical Maximum (127) 25 7F
218 Report Count (94) 95 5E
219 Report Size (8) 75 08
220 Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
221 End Collection C0
222 Usage (Vendor-Defined 128) 09 80
223 Collection (Logical) A1 02
224 Report ID (129) 85 81
225 Usage (Vendor-Defined 129) 09 81
226 Usage (Vendor-Defined 129) 09 81
227 Usage (Vendor-Defined 129) 09 81
228 Usage (Vendor-Defined 129) 09 81
229 Usage (Vendor-Defined 129) 09 81
230 Usage (Vendor-Defined 129) 09 81
231 Usage (Vendor-Defined 129) 09 81
232 Usage (Vendor-Defined 129) 09 81
233 Usage (Vendor-Defined 129) 09 81
234 Usage (Vendor-Defined 129) 09 81
235 Usage (Vendor-Defined 129) 09 81
236 Usage (Vendor-Defined 129) 09 81
237 Usage (Vendor-Defined 129) 09 81
238 Usage (Vendor-Defined 129) 09 81
239 Usage (Vendor-Defined 129) 09 81
240 Usage (Vendor-Defined 129) 09 81
241 Usage (Vendor-Defined 129) 09 81
242 Usage (Vendor-Defined 129) 09 81
243 Usage (Vendor-Defined 129) 09 81
244 Usage (Vendor-Defined 129) 09 81
245 Usage (Vendor-Defined 129) 09 81
246 Usage (Vendor-Defined 129) 09 81
247 Usage (Vendor-Defined 129) 09 81
248 Usage (Vendor-Defined 129) 09 81
249 Usage (Vendor-Defined 129) 09 81
250 Usage (Vendor-Defined 129) 09 81
251 Usage (Vendor-Defined 129) 09 81
252 Usage (Vendor-Defined 129) 09 81
253 Usage (Vendor-Defined 129) 09 81
254 Usage (Vendor-Defined 129) 09 81
255 Usage (Vendor-Defined 129) 09 81
256 Usage (Vendor-Defined 129) 09 81
257 Usage (Vendor-Defined 129) 09 81
258 Usage (Vendor-Defined 129) 09 81
259 Usage (Vendor-Defined 129) 09 81
260 Usage (Vendor-Defined 129) 09 81
261 Usage (Vendor-Defined 129) 09 81
262 Usage (Vendor-Defined 129) 09 81
263 Usage (Vendor-Defined 129) 09 81
264 Usage (Vendor-Defined 129) 09 81
265 Logical Minimum (0) 15 00
266 Logical Maximum (127) 25 7F
267 Report Count (40) 95 28
268 Report Size (8) 75 08
269 Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
270 End Collection C0
271 Usage (Vendor-Defined 208) 09 D0
272 Collection (Logical) A1 02
273 Report ID (208) 85 D0
274 Usage (Vendor-Defined 209) 09 D1
275 Logical Minimum (0) 15 00
276 Logical Maximum (255) 26 FF 00
277 Report Size (8) 75 08
278 Report Count (32) 95 20
279 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
280 End Collection C0
281 Usage (Vendor-Defined 208) 09 D0
282 Collection (Logical) A1 02
283 Report ID (209) 85 D1
284 Usage (Vendor-Defined 209) 09 D1
285 Logical Minimum (0) 15 00
286 Logical Maximum (255) 26 FF 00
287 Report Size (8) 75 08
288 Report Count (32) 95 20
289 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
290 End Collection C0
291 Usage (Vendor-Defined 208) 09 D0
292 Collection (Logical) A1 02
293 Report ID (210) 85 D2
294 Usage (Vendor-Defined 209) 09 D1
295 Logical Minimum (0) 15 00
296 Logical Maximum (255) 26 FF 00
297 Report Size (8) 75 08
298 Report Count (32) 95 20
299 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
300 End Collection C0
301 Usage (Vendor-Defined 208) 09 D0
302 Collection (Logical) A1 02
303 Report ID (211) 85 D3
304 Usage (Vendor-Defined 209) 09 D1
305 Logical Minimum (0) 15 00
306 Logical Maximum (255) 26 FF 00
307 Report Size (8) 75 08
308 Report Count (32) 95 20
309 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
310 End Collection C0
311 Usage (Vendor-Defined 208) 09 D0
312 Collection (Logical) A1 02
313 Report ID (212) 85 D4
314 Usage (Vendor-Defined 209) 09 D1
315 Logical Minimum (0) 15 00
316 Logical Maximum (255) 26 FF 00
317 Report Size (8) 75 08
318 Report Count (32) 95 20
319 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
320 End Collection C0
321 Usage (Vendor-Defined 208) 09 D0
322 Collection (Logical) A1 02
323 Report ID (213) 85 D5
324 Usage (Vendor-Defined 209) 09 D1
325 Logical Minimum (0) 15 00
326 Logical Maximum (255) 26 FF 00
327 Report Size (8) 75 08
328 Report Count (32) 95 20
329 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
330 End Collection C0
331 Usage (Vendor-Defined 208) 09 D0
332 Collection (Logical) A1 02
333 Report ID (214) 85 D6
334 Usage (Vendor-Defined 209) 09 D1
335 Logical Minimum (0) 15 00
336 Logical Maximum (255) 26 FF 00
337 Report Size (8) 75 08
338 Report Count (32) 95 20
339 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
340 End Collection C0
341 Usage (Vendor-Defined 208) 09 D0
342 Collection (Logical) A1 02
343 Report ID (216) 85 D8
344 Usage (Vendor-Defined 209) 09 D1
345 Logical Minimum (0) 15 00
346 Logical Maximum (255) 26 FF 00
347 Report Size (8) 75 08
348 Report Count (32) 95 20
349 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
350 End Collection C0
351 Usage (Vendor-Defined 208) 09 D0
352 Collection (Logical) A1 02
353 Report ID (217) 85 D9
354 Usage (Vendor-Defined 209) 09 D1
355 Logical Minimum (0) 15 00
356 Logical Maximum (255) 26 FF 00
357 Report Size (8) 75 08
358 Report Count (32) 95 20
359 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
360 End Collection C0
361 Usage (Vendor-Defined 208) 09 D0
362 Collection (Logical) A1 02
363 Report ID (241) 85 F1
364 Usage (Vendor-Defined 209) 09 D1
365 Logical Minimum (0) 15 00
366 Logical Maximum (255) 26 FF 00
367 Report Size (8) 75 08
368 Report Count (2) 95 02
369 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
370 End Collection C0
371 Usage (Vendor-Defined 208) 09 D0
372 Collection (Logical) A1 02
373 Report ID (243) 85 F3
374 Usage (Vendor-Defined 209) 09 D1
375 Logical Minimum (0) 15 00
376 Logical Maximum (127) 25 7F
377 Report Size (8) 75 08
378 Report Count (2) 95 02
379 Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
380 End Collection C0
381End Collection C0