2 * Copyright (c) 2004 Robert Reif
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 #define numObjects(x) (sizeof(x) / sizeof(x[0]))
26 static const DIOBJECTDATAFORMAT dfDIJoystick
[] = {
27 { &GUID_XAxis
,DIJOFS_X
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
28 { &GUID_YAxis
,DIJOFS_Y
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
29 { &GUID_ZAxis
,DIJOFS_Z
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
30 { &GUID_RxAxis
,DIJOFS_RX
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
31 { &GUID_RyAxis
,DIJOFS_RY
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
32 { &GUID_RzAxis
,DIJOFS_RZ
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
33 { &GUID_Slider
,DIJOFS_SLIDER(0),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
34 { &GUID_Slider
,DIJOFS_SLIDER(1),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
35 { &GUID_POV
,DIJOFS_POV(0),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
36 { &GUID_POV
,DIJOFS_POV(1),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
37 { &GUID_POV
,DIJOFS_POV(2),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
38 { &GUID_POV
,DIJOFS_POV(3),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
39 { NULL
,DIJOFS_BUTTON(0),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
40 { NULL
,DIJOFS_BUTTON(1),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
41 { NULL
,DIJOFS_BUTTON(2),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
42 { NULL
,DIJOFS_BUTTON(3),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
43 { NULL
,DIJOFS_BUTTON(4),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
44 { NULL
,DIJOFS_BUTTON(5),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
45 { NULL
,DIJOFS_BUTTON(6),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
46 { NULL
,DIJOFS_BUTTON(7),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
47 { NULL
,DIJOFS_BUTTON(8),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
48 { NULL
,DIJOFS_BUTTON(9),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
49 { NULL
,DIJOFS_BUTTON(10),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
50 { NULL
,DIJOFS_BUTTON(11),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
51 { NULL
,DIJOFS_BUTTON(12),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
52 { NULL
,DIJOFS_BUTTON(13),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
53 { NULL
,DIJOFS_BUTTON(14),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
54 { NULL
,DIJOFS_BUTTON(15),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
55 { NULL
,DIJOFS_BUTTON(16),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
56 { NULL
,DIJOFS_BUTTON(17),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
57 { NULL
,DIJOFS_BUTTON(18),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
58 { NULL
,DIJOFS_BUTTON(19),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
59 { NULL
,DIJOFS_BUTTON(20),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
60 { NULL
,DIJOFS_BUTTON(21),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
61 { NULL
,DIJOFS_BUTTON(22),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
62 { NULL
,DIJOFS_BUTTON(23),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
63 { NULL
,DIJOFS_BUTTON(24),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
64 { NULL
,DIJOFS_BUTTON(25),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
65 { NULL
,DIJOFS_BUTTON(26),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
66 { NULL
,DIJOFS_BUTTON(27),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
67 { NULL
,DIJOFS_BUTTON(28),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
68 { NULL
,DIJOFS_BUTTON(29),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
69 { NULL
,DIJOFS_BUTTON(30),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
70 { NULL
,DIJOFS_BUTTON(31),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
73 const DIDATAFORMAT c_dfDIJoystick
= {
75 sizeof(DIOBJECTDATAFORMAT
),
78 numObjects(dfDIJoystick
),
79 (LPDIOBJECTDATAFORMAT
)dfDIJoystick
82 static const DIOBJECTDATAFORMAT dfDIJoystick2
[] = {
83 { &GUID_XAxis
,DIJOFS_X
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
84 { &GUID_YAxis
,DIJOFS_Y
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
85 { &GUID_ZAxis
,DIJOFS_Z
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
86 { &GUID_RxAxis
,DIJOFS_RX
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
87 { &GUID_RyAxis
,DIJOFS_RY
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
88 { &GUID_RzAxis
,DIJOFS_RZ
,DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
89 { &GUID_Slider
,DIJOFS_SLIDER(0),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
90 { &GUID_Slider
,DIJOFS_SLIDER(1),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
91 { &GUID_POV
,DIJOFS_POV(0),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
92 { &GUID_POV
,DIJOFS_POV(1),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
93 { &GUID_POV
,DIJOFS_POV(2),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
94 { &GUID_POV
,DIJOFS_POV(3),DIDFT_OPTIONAL
|DIDFT_POV
|DIDFT_ANYINSTANCE
,0},
95 { NULL
,DIJOFS_BUTTON(0),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
96 { NULL
,DIJOFS_BUTTON(1),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
97 { NULL
,DIJOFS_BUTTON(2),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
98 { NULL
,DIJOFS_BUTTON(3),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
99 { NULL
,DIJOFS_BUTTON(4),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
100 { NULL
,DIJOFS_BUTTON(5),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
101 { NULL
,DIJOFS_BUTTON(6),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
102 { NULL
,DIJOFS_BUTTON(7),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
103 { NULL
,DIJOFS_BUTTON(8),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
104 { NULL
,DIJOFS_BUTTON(9),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
105 { NULL
,DIJOFS_BUTTON(10),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
106 { NULL
,DIJOFS_BUTTON(11),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
107 { NULL
,DIJOFS_BUTTON(12),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
108 { NULL
,DIJOFS_BUTTON(13),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
109 { NULL
,DIJOFS_BUTTON(14),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
110 { NULL
,DIJOFS_BUTTON(15),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
111 { NULL
,DIJOFS_BUTTON(16),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
112 { NULL
,DIJOFS_BUTTON(17),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
113 { NULL
,DIJOFS_BUTTON(18),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
114 { NULL
,DIJOFS_BUTTON(19),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
115 { NULL
,DIJOFS_BUTTON(20),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
116 { NULL
,DIJOFS_BUTTON(21),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
117 { NULL
,DIJOFS_BUTTON(22),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
118 { NULL
,DIJOFS_BUTTON(23),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
119 { NULL
,DIJOFS_BUTTON(24),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
120 { NULL
,DIJOFS_BUTTON(25),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
121 { NULL
,DIJOFS_BUTTON(26),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
122 { NULL
,DIJOFS_BUTTON(27),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
123 { NULL
,DIJOFS_BUTTON(28),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
124 { NULL
,DIJOFS_BUTTON(29),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
125 { NULL
,DIJOFS_BUTTON(30),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
126 { NULL
,DIJOFS_BUTTON(31),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
127 { NULL
,DIJOFS_BUTTON(32),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
128 { NULL
,DIJOFS_BUTTON(33),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
129 { NULL
,DIJOFS_BUTTON(34),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
130 { NULL
,DIJOFS_BUTTON(35),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
131 { NULL
,DIJOFS_BUTTON(36),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
132 { NULL
,DIJOFS_BUTTON(37),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
133 { NULL
,DIJOFS_BUTTON(38),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
134 { NULL
,DIJOFS_BUTTON(39),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
135 { NULL
,DIJOFS_BUTTON(40),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
136 { NULL
,DIJOFS_BUTTON(41),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
137 { NULL
,DIJOFS_BUTTON(42),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
138 { NULL
,DIJOFS_BUTTON(43),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
139 { NULL
,DIJOFS_BUTTON(44),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
140 { NULL
,DIJOFS_BUTTON(45),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
141 { NULL
,DIJOFS_BUTTON(46),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
142 { NULL
,DIJOFS_BUTTON(47),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
143 { NULL
,DIJOFS_BUTTON(48),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
144 { NULL
,DIJOFS_BUTTON(49),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
145 { NULL
,DIJOFS_BUTTON(50),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
146 { NULL
,DIJOFS_BUTTON(51),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
147 { NULL
,DIJOFS_BUTTON(52),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
148 { NULL
,DIJOFS_BUTTON(53),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
149 { NULL
,DIJOFS_BUTTON(54),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
150 { NULL
,DIJOFS_BUTTON(55),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
151 { NULL
,DIJOFS_BUTTON(56),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
152 { NULL
,DIJOFS_BUTTON(57),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
153 { NULL
,DIJOFS_BUTTON(58),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
154 { NULL
,DIJOFS_BUTTON(59),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
155 { NULL
,DIJOFS_BUTTON(60),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
156 { NULL
,DIJOFS_BUTTON(61),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
157 { NULL
,DIJOFS_BUTTON(62),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
158 { NULL
,DIJOFS_BUTTON(63),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
159 { NULL
,DIJOFS_BUTTON(64),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
160 { NULL
,DIJOFS_BUTTON(65),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
161 { NULL
,DIJOFS_BUTTON(66),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
162 { NULL
,DIJOFS_BUTTON(67),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
163 { NULL
,DIJOFS_BUTTON(68),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
164 { NULL
,DIJOFS_BUTTON(69),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
165 { NULL
,DIJOFS_BUTTON(70),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
166 { NULL
,DIJOFS_BUTTON(71),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
167 { NULL
,DIJOFS_BUTTON(72),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
168 { NULL
,DIJOFS_BUTTON(73),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
169 { NULL
,DIJOFS_BUTTON(74),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
170 { NULL
,DIJOFS_BUTTON(75),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
171 { NULL
,DIJOFS_BUTTON(76),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
172 { NULL
,DIJOFS_BUTTON(77),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
173 { NULL
,DIJOFS_BUTTON(78),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
174 { NULL
,DIJOFS_BUTTON(79),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
175 { NULL
,DIJOFS_BUTTON(80),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
176 { NULL
,DIJOFS_BUTTON(81),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
177 { NULL
,DIJOFS_BUTTON(82),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
178 { NULL
,DIJOFS_BUTTON(83),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
179 { NULL
,DIJOFS_BUTTON(84),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
180 { NULL
,DIJOFS_BUTTON(85),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
181 { NULL
,DIJOFS_BUTTON(86),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
182 { NULL
,DIJOFS_BUTTON(87),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
183 { NULL
,DIJOFS_BUTTON(88),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
184 { NULL
,DIJOFS_BUTTON(89),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
185 { NULL
,DIJOFS_BUTTON(90),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
186 { NULL
,DIJOFS_BUTTON(91),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
187 { NULL
,DIJOFS_BUTTON(92),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
188 { NULL
,DIJOFS_BUTTON(93),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
189 { NULL
,DIJOFS_BUTTON(94),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
190 { NULL
,DIJOFS_BUTTON(95),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
191 { NULL
,DIJOFS_BUTTON(96),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
192 { NULL
,DIJOFS_BUTTON(97),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
193 { NULL
,DIJOFS_BUTTON(98),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
194 { NULL
,DIJOFS_BUTTON(99),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
195 { NULL
,DIJOFS_BUTTON(100),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
196 { NULL
,DIJOFS_BUTTON(101),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
197 { NULL
,DIJOFS_BUTTON(102),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
198 { NULL
,DIJOFS_BUTTON(103),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
199 { NULL
,DIJOFS_BUTTON(104),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
200 { NULL
,DIJOFS_BUTTON(105),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
201 { NULL
,DIJOFS_BUTTON(106),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
202 { NULL
,DIJOFS_BUTTON(107),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
203 { NULL
,DIJOFS_BUTTON(108),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
204 { NULL
,DIJOFS_BUTTON(109),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
205 { NULL
,DIJOFS_BUTTON(110),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
206 { NULL
,DIJOFS_BUTTON(111),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
207 { NULL
,DIJOFS_BUTTON(112),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
208 { NULL
,DIJOFS_BUTTON(113),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
209 { NULL
,DIJOFS_BUTTON(114),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
210 { NULL
,DIJOFS_BUTTON(115),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
211 { NULL
,DIJOFS_BUTTON(116),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
212 { NULL
,DIJOFS_BUTTON(117),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
213 { NULL
,DIJOFS_BUTTON(118),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
214 { NULL
,DIJOFS_BUTTON(119),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
215 { NULL
,DIJOFS_BUTTON(120),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
216 { NULL
,DIJOFS_BUTTON(121),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
217 { NULL
,DIJOFS_BUTTON(122),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
218 { NULL
,DIJOFS_BUTTON(123),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
219 { NULL
,DIJOFS_BUTTON(124),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
220 { NULL
,DIJOFS_BUTTON(125),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
221 { NULL
,DIJOFS_BUTTON(126),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
222 { NULL
,DIJOFS_BUTTON(127),DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_ANYINSTANCE
,0},
223 { &GUID_XAxis
,FIELD_OFFSET(DIJOYSTATE2
,lVX
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
224 { &GUID_YAxis
,FIELD_OFFSET(DIJOYSTATE2
,lVY
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
225 { &GUID_ZAxis
,FIELD_OFFSET(DIJOYSTATE2
,lVZ
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
226 { &GUID_RxAxis
,FIELD_OFFSET(DIJOYSTATE2
,lVRx
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
227 { &GUID_RyAxis
,FIELD_OFFSET(DIJOYSTATE2
,lVRy
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
228 { &GUID_RzAxis
,FIELD_OFFSET(DIJOYSTATE2
,lVRz
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
229 { &GUID_Slider
,FIELD_OFFSET(DIJOYSTATE2
,rglVSlider
[0]),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
230 { &GUID_Slider
,FIELD_OFFSET(DIJOYSTATE2
,rglVSlider
[1]),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
231 { &GUID_XAxis
,FIELD_OFFSET(DIJOYSTATE2
,lAX
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
232 { &GUID_YAxis
,FIELD_OFFSET(DIJOYSTATE2
,lAY
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
233 { &GUID_ZAxis
,FIELD_OFFSET(DIJOYSTATE2
,lAZ
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
234 { &GUID_RxAxis
,FIELD_OFFSET(DIJOYSTATE2
,lARx
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
235 { &GUID_RyAxis
,FIELD_OFFSET(DIJOYSTATE2
,lARy
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
236 { &GUID_RzAxis
,FIELD_OFFSET(DIJOYSTATE2
,lARz
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
237 { &GUID_Slider
,FIELD_OFFSET(DIJOYSTATE2
,rglASlider
[0]),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
238 { &GUID_Slider
,FIELD_OFFSET(DIJOYSTATE2
,rglASlider
[1]),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
239 { &GUID_XAxis
,FIELD_OFFSET(DIJOYSTATE2
,lFX
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
240 { &GUID_YAxis
,FIELD_OFFSET(DIJOYSTATE2
,lFY
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
241 { &GUID_ZAxis
,FIELD_OFFSET(DIJOYSTATE2
,lFZ
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
242 { &GUID_RxAxis
,FIELD_OFFSET(DIJOYSTATE2
,lFRx
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
243 { &GUID_RyAxis
,FIELD_OFFSET(DIJOYSTATE2
,lFRy
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
244 { &GUID_RzAxis
,FIELD_OFFSET(DIJOYSTATE2
,lFRz
),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
245 { &GUID_Slider
,FIELD_OFFSET(DIJOYSTATE2
,rglFSlider
[0]),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
246 { &GUID_Slider
,FIELD_OFFSET(DIJOYSTATE2
,rglFSlider
[1]),DIDFT_OPTIONAL
|DIDFT_AXIS
|DIDFT_ANYINSTANCE
,0},
249 const DIDATAFORMAT c_dfDIJoystick2
= {
250 sizeof(DIDATAFORMAT
),
251 sizeof(DIOBJECTDATAFORMAT
),
254 numObjects(dfDIJoystick2
),
255 (LPDIOBJECTDATAFORMAT
)dfDIJoystick2
258 static const DIOBJECTDATAFORMAT dfDIMouse
[] = {
259 { &GUID_XAxis
, DIMOFS_X
, DIDFT_ANYINSTANCE
| DIDFT_AXIS
, 0 },
260 { &GUID_YAxis
, DIMOFS_Y
, DIDFT_ANYINSTANCE
| DIDFT_AXIS
, 0 },
261 { &GUID_ZAxis
, DIMOFS_Z
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_AXIS
, 0 },
262 { &GUID_Button
, DIMOFS_BUTTON0
, DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
263 { &GUID_Button
, DIMOFS_BUTTON1
, DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
264 { &GUID_Button
, DIMOFS_BUTTON2
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
265 { &GUID_Button
, DIMOFS_BUTTON3
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 }
268 const DIDATAFORMAT c_dfDIMouse
= {
269 sizeof(DIDATAFORMAT
),
270 sizeof(DIOBJECTDATAFORMAT
),
272 sizeof(DIMOUSESTATE
),
273 numObjects(dfDIMouse
),
274 (LPDIOBJECTDATAFORMAT
)dfDIMouse
277 static const DIOBJECTDATAFORMAT dfDIMouse2
[] = {
278 { &GUID_XAxis
, DIMOFS_X
, DIDFT_ANYINSTANCE
| DIDFT_AXIS
, 0 },
279 { &GUID_YAxis
, DIMOFS_Y
, DIDFT_ANYINSTANCE
| DIDFT_AXIS
, 0 },
280 { &GUID_ZAxis
, DIMOFS_Z
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_AXIS
, 0 },
281 { &GUID_Button
, DIMOFS_BUTTON0
, DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
282 { &GUID_Button
, DIMOFS_BUTTON1
, DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
283 { &GUID_Button
, DIMOFS_BUTTON2
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
284 { &GUID_Button
, DIMOFS_BUTTON3
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
285 { &GUID_Button
, DIMOFS_BUTTON4
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
286 { &GUID_Button
, DIMOFS_BUTTON5
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
287 { &GUID_Button
, DIMOFS_BUTTON6
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 },
288 { &GUID_Button
, DIMOFS_BUTTON7
, DIDFT_OPTIONAL
| DIDFT_ANYINSTANCE
| DIDFT_BUTTON
, 0 }
291 const DIDATAFORMAT c_dfDIMouse2
= {
292 sizeof(DIDATAFORMAT
),
293 sizeof(DIOBJECTDATAFORMAT
),
295 sizeof(DIMOUSESTATE2
),
296 numObjects(dfDIMouse2
),
297 (LPDIOBJECTDATAFORMAT
)dfDIMouse2
300 static const DIOBJECTDATAFORMAT dfDIKeyboard
[] = {
301 { &GUID_Key
,0,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(0),0},
302 { &GUID_Key
,1,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(1),0},
303 { &GUID_Key
,2,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(2),0},
304 { &GUID_Key
,3,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(3),0},
305 { &GUID_Key
,4,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(4),0},
306 { &GUID_Key
,5,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(5),0},
307 { &GUID_Key
,6,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(6),0},
308 { &GUID_Key
,7,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(7),0},
309 { &GUID_Key
,8,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(8),0},
310 { &GUID_Key
,9,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(9),0},
311 { &GUID_Key
,10,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(10),0},
312 { &GUID_Key
,11,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(11),0},
313 { &GUID_Key
,12,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(12),0},
314 { &GUID_Key
,13,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(13),0},
315 { &GUID_Key
,14,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(14),0},
316 { &GUID_Key
,15,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(15),0},
317 { &GUID_Key
,16,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(16),0},
318 { &GUID_Key
,17,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(17),0},
319 { &GUID_Key
,18,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(18),0},
320 { &GUID_Key
,19,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(19),0},
321 { &GUID_Key
,20,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(20),0},
322 { &GUID_Key
,21,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(21),0},
323 { &GUID_Key
,22,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(22),0},
324 { &GUID_Key
,23,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(23),0},
325 { &GUID_Key
,24,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(24),0},
326 { &GUID_Key
,25,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(25),0},
327 { &GUID_Key
,26,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(26),0},
328 { &GUID_Key
,27,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(27),0},
329 { &GUID_Key
,28,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(28),0},
330 { &GUID_Key
,29,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(29),0},
331 { &GUID_Key
,30,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(30),0},
332 { &GUID_Key
,31,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(31),0},
333 { &GUID_Key
,32,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(32),0},
334 { &GUID_Key
,33,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(33),0},
335 { &GUID_Key
,34,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(34),0},
336 { &GUID_Key
,35,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(35),0},
337 { &GUID_Key
,36,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(36),0},
338 { &GUID_Key
,37,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(37),0},
339 { &GUID_Key
,38,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(38),0},
340 { &GUID_Key
,39,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(39),0},
341 { &GUID_Key
,40,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(40),0},
342 { &GUID_Key
,41,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(41),0},
343 { &GUID_Key
,42,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(42),0},
344 { &GUID_Key
,43,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(43),0},
345 { &GUID_Key
,44,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(44),0},
346 { &GUID_Key
,45,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(45),0},
347 { &GUID_Key
,46,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(46),0},
348 { &GUID_Key
,47,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(47),0},
349 { &GUID_Key
,48,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(48),0},
350 { &GUID_Key
,49,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(49),0},
351 { &GUID_Key
,50,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(50),0},
352 { &GUID_Key
,51,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(51),0},
353 { &GUID_Key
,52,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(52),0},
354 { &GUID_Key
,53,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(53),0},
355 { &GUID_Key
,54,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(54),0},
356 { &GUID_Key
,55,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(55),0},
357 { &GUID_Key
,56,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(56),0},
358 { &GUID_Key
,57,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(57),0},
359 { &GUID_Key
,58,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(58),0},
360 { &GUID_Key
,59,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(59),0},
361 { &GUID_Key
,60,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(60),0},
362 { &GUID_Key
,61,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(61),0},
363 { &GUID_Key
,62,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(62),0},
364 { &GUID_Key
,63,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(63),0},
365 { &GUID_Key
,64,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(64),0},
366 { &GUID_Key
,65,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(65),0},
367 { &GUID_Key
,66,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(66),0},
368 { &GUID_Key
,67,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(67),0},
369 { &GUID_Key
,68,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(68),0},
370 { &GUID_Key
,69,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(69),0},
371 { &GUID_Key
,70,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(70),0},
372 { &GUID_Key
,71,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(71),0},
373 { &GUID_Key
,72,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(72),0},
374 { &GUID_Key
,73,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(73),0},
375 { &GUID_Key
,74,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(74),0},
376 { &GUID_Key
,75,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(75),0},
377 { &GUID_Key
,76,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(76),0},
378 { &GUID_Key
,77,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(77),0},
379 { &GUID_Key
,78,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(78),0},
380 { &GUID_Key
,79,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(79),0},
381 { &GUID_Key
,80,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(80),0},
382 { &GUID_Key
,81,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(81),0},
383 { &GUID_Key
,82,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(82),0},
384 { &GUID_Key
,83,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(83),0},
385 { &GUID_Key
,84,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(84),0},
386 { &GUID_Key
,85,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(85),0},
387 { &GUID_Key
,86,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(86),0},
388 { &GUID_Key
,87,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(87),0},
389 { &GUID_Key
,88,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(88),0},
390 { &GUID_Key
,89,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(89),0},
391 { &GUID_Key
,90,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(90),0},
392 { &GUID_Key
,91,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(91),0},
393 { &GUID_Key
,92,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(92),0},
394 { &GUID_Key
,93,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(93),0},
395 { &GUID_Key
,94,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(94),0},
396 { &GUID_Key
,95,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(95),0},
397 { &GUID_Key
,96,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(96),0},
398 { &GUID_Key
,97,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(97),0},
399 { &GUID_Key
,98,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(98),0},
400 { &GUID_Key
,99,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(99),0},
401 { &GUID_Key
,100,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(100),0},
402 { &GUID_Key
,101,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(101),0},
403 { &GUID_Key
,102,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(102),0},
404 { &GUID_Key
,103,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(103),0},
405 { &GUID_Key
,104,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(104),0},
406 { &GUID_Key
,105,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(105),0},
407 { &GUID_Key
,106,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(106),0},
408 { &GUID_Key
,107,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(107),0},
409 { &GUID_Key
,108,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(108),0},
410 { &GUID_Key
,109,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(109),0},
411 { &GUID_Key
,110,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(110),0},
412 { &GUID_Key
,111,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(111),0},
413 { &GUID_Key
,112,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(112),0},
414 { &GUID_Key
,113,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(113),0},
415 { &GUID_Key
,114,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(114),0},
416 { &GUID_Key
,115,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(115),0},
417 { &GUID_Key
,116,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(116),0},
418 { &GUID_Key
,117,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(117),0},
419 { &GUID_Key
,118,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(118),0},
420 { &GUID_Key
,119,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(119),0},
421 { &GUID_Key
,120,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(120),0},
422 { &GUID_Key
,121,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(121),0},
423 { &GUID_Key
,122,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(122),0},
424 { &GUID_Key
,123,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(123),0},
425 { &GUID_Key
,124,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(124),0},
426 { &GUID_Key
,125,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(125),0},
427 { &GUID_Key
,126,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(126),0},
428 { &GUID_Key
,127,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(127),0},
429 { &GUID_Key
,128,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(128),0},
430 { &GUID_Key
,129,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(129),0},
431 { &GUID_Key
,130,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(130),0},
432 { &GUID_Key
,131,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(131),0},
433 { &GUID_Key
,132,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(132),0},
434 { &GUID_Key
,133,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(133),0},
435 { &GUID_Key
,134,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(134),0},
436 { &GUID_Key
,135,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(135),0},
437 { &GUID_Key
,136,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(136),0},
438 { &GUID_Key
,137,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(137),0},
439 { &GUID_Key
,138,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(138),0},
440 { &GUID_Key
,139,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(139),0},
441 { &GUID_Key
,140,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(140),0},
442 { &GUID_Key
,141,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(141),0},
443 { &GUID_Key
,142,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(142),0},
444 { &GUID_Key
,143,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(143),0},
445 { &GUID_Key
,144,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(144),0},
446 { &GUID_Key
,145,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(145),0},
447 { &GUID_Key
,146,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(146),0},
448 { &GUID_Key
,147,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(147),0},
449 { &GUID_Key
,148,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(148),0},
450 { &GUID_Key
,149,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(149),0},
451 { &GUID_Key
,150,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(150),0},
452 { &GUID_Key
,151,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(151),0},
453 { &GUID_Key
,152,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(152),0},
454 { &GUID_Key
,153,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(153),0},
455 { &GUID_Key
,154,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(154),0},
456 { &GUID_Key
,155,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(155),0},
457 { &GUID_Key
,156,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(156),0},
458 { &GUID_Key
,157,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(157),0},
459 { &GUID_Key
,158,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(158),0},
460 { &GUID_Key
,159,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(159),0},
461 { &GUID_Key
,160,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(160),0},
462 { &GUID_Key
,161,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(161),0},
463 { &GUID_Key
,162,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(162),0},
464 { &GUID_Key
,163,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(163),0},
465 { &GUID_Key
,164,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(164),0},
466 { &GUID_Key
,165,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(165),0},
467 { &GUID_Key
,166,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(166),0},
468 { &GUID_Key
,167,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(167),0},
469 { &GUID_Key
,168,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(168),0},
470 { &GUID_Key
,169,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(169),0},
471 { &GUID_Key
,170,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(170),0},
472 { &GUID_Key
,171,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(171),0},
473 { &GUID_Key
,172,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(172),0},
474 { &GUID_Key
,173,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(173),0},
475 { &GUID_Key
,174,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(174),0},
476 { &GUID_Key
,175,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(175),0},
477 { &GUID_Key
,176,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(176),0},
478 { &GUID_Key
,177,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(177),0},
479 { &GUID_Key
,178,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(178),0},
480 { &GUID_Key
,179,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(179),0},
481 { &GUID_Key
,180,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(180),0},
482 { &GUID_Key
,181,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(181),0},
483 { &GUID_Key
,182,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(182),0},
484 { &GUID_Key
,183,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(183),0},
485 { &GUID_Key
,184,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(184),0},
486 { &GUID_Key
,185,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(185),0},
487 { &GUID_Key
,186,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(186),0},
488 { &GUID_Key
,187,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(187),0},
489 { &GUID_Key
,188,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(188),0},
490 { &GUID_Key
,189,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(189),0},
491 { &GUID_Key
,190,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(190),0},
492 { &GUID_Key
,191,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(191),0},
493 { &GUID_Key
,192,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(192),0},
494 { &GUID_Key
,193,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(193),0},
495 { &GUID_Key
,194,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(194),0},
496 { &GUID_Key
,195,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(195),0},
497 { &GUID_Key
,196,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(196),0},
498 { &GUID_Key
,197,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(197),0},
499 { &GUID_Key
,198,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(198),0},
500 { &GUID_Key
,199,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(199),0},
501 { &GUID_Key
,200,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(200),0},
502 { &GUID_Key
,201,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(201),0},
503 { &GUID_Key
,202,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(202),0},
504 { &GUID_Key
,203,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(203),0},
505 { &GUID_Key
,204,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(204),0},
506 { &GUID_Key
,205,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(205),0},
507 { &GUID_Key
,206,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(206),0},
508 { &GUID_Key
,207,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(207),0},
509 { &GUID_Key
,208,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(208),0},
510 { &GUID_Key
,209,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(209),0},
511 { &GUID_Key
,210,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(210),0},
512 { &GUID_Key
,211,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(211),0},
513 { &GUID_Key
,212,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(212),0},
514 { &GUID_Key
,213,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(213),0},
515 { &GUID_Key
,214,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(214),0},
516 { &GUID_Key
,215,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(215),0},
517 { &GUID_Key
,216,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(216),0},
518 { &GUID_Key
,217,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(217),0},
519 { &GUID_Key
,218,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(218),0},
520 { &GUID_Key
,219,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(219),0},
521 { &GUID_Key
,220,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(220),0},
522 { &GUID_Key
,221,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(221),0},
523 { &GUID_Key
,222,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(222),0},
524 { &GUID_Key
,223,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(223),0},
525 { &GUID_Key
,224,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(224),0},
526 { &GUID_Key
,225,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(225),0},
527 { &GUID_Key
,226,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(226),0},
528 { &GUID_Key
,227,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(227),0},
529 { &GUID_Key
,228,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(228),0},
530 { &GUID_Key
,229,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(229),0},
531 { &GUID_Key
,230,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(230),0},
532 { &GUID_Key
,231,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(231),0},
533 { &GUID_Key
,232,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(232),0},
534 { &GUID_Key
,233,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(233),0},
535 { &GUID_Key
,234,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(234),0},
536 { &GUID_Key
,235,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(235),0},
537 { &GUID_Key
,236,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(236),0},
538 { &GUID_Key
,237,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(237),0},
539 { &GUID_Key
,238,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(238),0},
540 { &GUID_Key
,239,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(239),0},
541 { &GUID_Key
,240,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(240),0},
542 { &GUID_Key
,241,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(241),0},
543 { &GUID_Key
,242,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(242),0},
544 { &GUID_Key
,243,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(243),0},
545 { &GUID_Key
,244,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(244),0},
546 { &GUID_Key
,245,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(245),0},
547 { &GUID_Key
,246,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(246),0},
548 { &GUID_Key
,247,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(247),0},
549 { &GUID_Key
,248,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(248),0},
550 { &GUID_Key
,249,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(249),0},
551 { &GUID_Key
,250,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(250),0},
552 { &GUID_Key
,251,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(251),0},
553 { &GUID_Key
,252,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(252),0},
554 { &GUID_Key
,253,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(253),0},
555 { &GUID_Key
,254,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(254),0},
556 { &GUID_Key
,255,DIDFT_OPTIONAL
|DIDFT_BUTTON
|DIDFT_MAKEINSTANCE(255),0}
559 const DIDATAFORMAT c_dfDIKeyboard
= {
560 sizeof(DIDATAFORMAT
),
561 sizeof(DIOBJECTDATAFORMAT
),
564 numObjects(dfDIKeyboard
),
565 (LPDIOBJECTDATAFORMAT
)dfDIKeyboard