]>
Commit | Line | Data |
---|---|---|
1c79356b A |
1 | /* |
2 | * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved. | |
3 | * | |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
6 | * The contents of this file constitute Original Code as defined in and | |
7 | * are subject to the Apple Public Source License Version 1.1 (the | |
8 | * "License"). You may not use this file except in compliance with the | |
9 | * License. Please obtain a copy of the License at | |
10 | * http://www.apple.com/publicsource and read it before using this file. | |
11 | * | |
12 | * This Original Code and all software distributed under the License are | |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the | |
17 | * License for the specific language governing rights and limitations | |
18 | * under the License. | |
19 | * | |
20 | * @APPLE_LICENSE_HEADER_END@ | |
21 | */ | |
22 | #ifndef _IOHIDUSAGETABLES_H | |
23 | #define _IOHIDUSAGETABLES_H | |
24 | ||
25 | /* ****************************************************************************************** | |
26 | * HID Usage Tables | |
27 | * | |
28 | * The following constants are from the USB 'HID Usage Tables' specification, revision 1.1rc3 | |
29 | * ****************************************************************************************** */ | |
30 | ||
31 | ||
32 | /* Usage Pages */ | |
33 | enum | |
34 | { | |
35 | kHIDPage_Undefined = 0x00, | |
36 | kHIDPage_GenericDesktop = 0x01, | |
37 | kHIDPage_Simulation = 0x02, | |
38 | kHIDPage_VR = 0x03, | |
39 | kHIDPage_Sport = 0x04, | |
40 | kHIDPage_Game = 0x05, | |
41 | /* Reserved 0x06 */ | |
42 | kHIDPage_KeyboardOrKeypad = 0x07, /* USB Device Class Definition for Human Interface Devices (HID). Note: the usage type for all key codes is Selector (Sel). */ | |
43 | kHIDPage_LEDs = 0x08, | |
44 | kHIDPage_Button = 0x09, | |
45 | kHIDPage_Ordinal = 0x0A, | |
46 | kHIDPage_Telephony = 0x0B, | |
47 | kHIDPage_Consumer = 0x0C, | |
48 | kHIDPage_Digitizer = 0x0D, | |
49 | /* Reserved 0x0E */ | |
50 | kHIDPage_PID = 0x0F, /* USB Physical Interface Device definitions for force feedback and related devices. */ | |
51 | kHIDPage_Unicode = 0x10, | |
52 | /* Reserved 0x11 - 0x13 */ | |
53 | kHIDPage_AlphanumericDisplay = 0x14, | |
54 | /* Reserved 0x15 - 0x7F */ | |
55 | /* Monitor 0x80 - 0x83 USB Device Class Definition for Monitor Devices */ | |
56 | /* Power 0x84 - 0x87 USB Device Class Definition for Power Devices */ | |
57 | /* Reserved 0x88 - 0x8B */ | |
58 | kHIDPage_BarCodeScanner = 0x8C, /* (Point of Sale) USB Device Class Definition for Bar Code Scanner Devices */ | |
59 | kHIDPage_Scale = 0x8D, /* (Point of Sale) USB Device Class Definition for Scale Devices */ | |
60 | /* ReservedPointofSalepages 0x8E - 0x8F */ | |
61 | kHIDPage_CameraControl = 0x90, /* USB Device Class Definition for Image Class Devices */ | |
62 | kHIDPage_Arcade = 0x91, /* OAAF Definitions for arcade and coinop related Devices */ | |
63 | /* Reserved 0x92 - 0xFEFF */ | |
64 | /* VendorDefined 0xFF00 - 0xFFFF */ | |
65 | kHIDPage_VendorDefinedStart = 0xFF00, | |
66 | }; | |
67 | ||
68 | /* Undefined Usage for all usage pages */ | |
69 | enum | |
70 | { | |
71 | kHIDUsage_Undefined = 0x00 | |
72 | }; | |
73 | ||
74 | /* GenericDesktop Page (0x01) */ | |
75 | enum | |
76 | { | |
77 | kHIDUsage_GD_Pointer = 0x01, /* Physical Collection */ | |
78 | kHIDUsage_GD_Mouse = 0x02, /* Application Collection */ | |
79 | /* 0x03 Reserved */ | |
80 | kHIDUsage_GD_Joystick = 0x04, /* Application Collection */ | |
81 | kHIDUsage_GD_GamePad = 0x05, /* Application Collection */ | |
82 | kHIDUsage_GD_Keyboard = 0x06, /* Application Collection */ | |
83 | kHIDUsage_GD_Keypad = 0x07, /* Application Collection */ | |
84 | kHIDUsage_GD_MultiAxisController = 0x08, /* Application Collection */ | |
85 | /* 0x09 - 0x2F Reserved */ | |
86 | kHIDUsage_GD_X = 0x30, /* Dynamic Value */ | |
87 | kHIDUsage_GD_Y = 0x31, /* Dynamic Value */ | |
88 | kHIDUsage_GD_Z = 0x32, /* Dynamic Value */ | |
89 | kHIDUsage_GD_Rx = 0x33, /* Dynamic Value */ | |
90 | kHIDUsage_GD_Ry = 0x34, /* Dynamic Value */ | |
91 | kHIDUsage_GD_Rz = 0x35, /* Dynamic Value */ | |
92 | kHIDUsage_GD_Slider = 0x36, /* Dynamic Value */ | |
93 | kHIDUsage_GD_Dial = 0x37, /* Dynamic Value */ | |
94 | kHIDUsage_GD_Wheel = 0x38, /* Dynamic Value */ | |
95 | kHIDUsage_GD_Hatswitch = 0x39, /* Dynamic Value */ | |
96 | kHIDUsage_GD_CountedBuffer = 0x3A, /* Logical Collection */ | |
97 | kHIDUsage_GD_ByteCount = 0x3B, /* Dynamic Value */ | |
98 | kHIDUsage_GD_MotionWakeup = 0x3C, /* One-Shot Control */ | |
99 | kHIDUsage_GD_Start = 0x3D, /* On/Off Control */ | |
100 | kHIDUsage_GD_Select = 0x3E, /* On/Off Control */ | |
101 | /* 0x3F Reserved */ | |
102 | kHIDUsage_GD_Vx = 0x40, /* Dynamic Value */ | |
103 | kHIDUsage_GD_Vy = 0x41, /* Dynamic Value */ | |
104 | kHIDUsage_GD_Vz = 0x42, /* Dynamic Value */ | |
105 | kHIDUsage_GD_Vbrx = 0x43, /* Dynamic Value */ | |
106 | kHIDUsage_GD_Vbry = 0x44, /* Dynamic Value */ | |
107 | kHIDUsage_GD_Vbrz = 0x45, /* Dynamic Value */ | |
108 | kHIDUsage_GD_Vno = 0x46, /* Dynamic Value */ | |
109 | /* 0x47 - 0x7F Reserved */ | |
110 | kHIDUsage_GD_SystemControl = 0x80, /* Application Collection */ | |
111 | kHIDUsage_GD_SystemPowerDown = 0x81, /* One-Shot Control */ | |
112 | kHIDUsage_GD_SystemSleep = 0x82, /* One-Shot Control */ | |
113 | kHIDUsage_GD_SystemWakeUp = 0x83, /* One-Shot Control */ | |
114 | kHIDUsage_GD_SystemContextMenu = 0x84, /* One-Shot Control */ | |
115 | kHIDUsage_GD_SystemMainMenu = 0x85, /* One-Shot Control */ | |
116 | kHIDUsage_GD_SystemAppMenu = 0x86, /* One-Shot Control */ | |
117 | kHIDUsage_GD_SystemMenuHelp = 0x87, /* One-Shot Control */ | |
118 | kHIDUsage_GD_SystemMenuExit = 0x88, /* One-Shot Control */ | |
119 | kHIDUsage_GD_SystemMenu = 0x89, /* Selector */ | |
120 | kHIDUsage_GD_SystemMenuRight = 0x8A, /* Re-Trigger Control */ | |
121 | kHIDUsage_GD_SystemMenuLeft = 0x8B, /* Re-Trigger Control */ | |
122 | kHIDUsage_GD_SystemMenuUp = 0x8C, /* Re-Trigger Control */ | |
123 | kHIDUsage_GD_SystemMenuDown = 0x8D, /* Re-Trigger Control */ | |
124 | /* 0x8E - 0x8F Reserved */ | |
125 | kHIDUsage_GD_DPadUp = 0x90, /* On/Off Control */ | |
126 | kHIDUsage_GD_DPadDown = 0x91, /* On/Off Control */ | |
127 | kHIDUsage_GD_DPadRight = 0x92, /* On/Off Control */ | |
128 | kHIDUsage_GD_DPadLeft = 0x93, /* On/Off Control */ | |
129 | /* 0x94 - 0xFFFF Reserved */ | |
130 | kHIDUsage_GD_Reserved = 0xFFFF, | |
131 | }; | |
132 | ||
133 | /* Simulation Page (0x02) */ | |
134 | /* This section provides detailed descriptions of the usages employed by simulation devices. */ | |
135 | enum | |
136 | { | |
137 | kHIDUsage_Sim_FlightSimulationDevice = 0x01, /* Application Collection */ | |
138 | kHIDUsage_Sim_AutomobileSimulationDevice = 0x02, /* Application Collection */ | |
139 | kHIDUsage_Sim_TankSimulationDevice = 0x03, /* Application Collection */ | |
140 | kHIDUsage_Sim_SpaceshipSimulationDevice = 0x04, /* Application Collection */ | |
141 | kHIDUsage_Sim_SubmarineSimulationDevice = 0x05, /* Application Collection */ | |
142 | kHIDUsage_Sim_SailingSimulationDevice = 0x06, /* Application Collection */ | |
143 | kHIDUsage_Sim_MotorcycleSimulationDevice = 0x07, /* Application Collection */ | |
144 | kHIDUsage_Sim_SportsSimulationDevice = 0x08, /* Application Collection */ | |
145 | kHIDUsage_Sim_AirplaneSimulationDevice = 0x09, /* Application Collection */ | |
146 | kHIDUsage_Sim_HelicopterSimulationDevice = 0x0A, /* Application Collection */ | |
147 | kHIDUsage_Sim_MagicCarpetSimulationDevice = 0x0B, /* Application Collection */ | |
148 | kHIDUsage_Sim_BicycleSimulationDevice = 0x0C, /* Application Collection */ | |
149 | /* 0x0D - 0x1F Reserved */ | |
150 | kHIDUsage_Sim_FlightControlStick = 0x20, /* Application Collection */ | |
151 | kHIDUsage_Sim_FlightStick = 0x21, /* Application Collection */ | |
152 | kHIDUsage_Sim_CyclicControl = 0x22, /* Physical Collection */ | |
153 | kHIDUsage_Sim_CyclicTrim = 0x23, /* Physical Collection */ | |
154 | kHIDUsage_Sim_FlightYoke = 0x24, /* Application Collection */ | |
155 | kHIDUsage_Sim_TrackControl = 0x25, /* Physical Collection */ | |
156 | /* 0x26 - 0xAF Reserved */ | |
157 | kHIDUsage_Sim_Aileron = 0xB0, /* Dynamic Value */ | |
158 | kHIDUsage_Sim_AileronTrim = 0xB1, /* Dynamic Value */ | |
159 | kHIDUsage_Sim_AntiTorqueControl = 0xB2, /* Dynamic Value */ | |
160 | kHIDUsage_Sim_AutopilotEnable = 0xB3, /* On/Off Control */ | |
161 | kHIDUsage_Sim_ChaffRelease = 0xB4, /* One-Shot Control */ | |
162 | kHIDUsage_Sim_CollectiveControl = 0xB5, /* Dynamic Value */ | |
163 | kHIDUsage_Sim_DiveBrake = 0xB6, /* Dynamic Value */ | |
164 | kHIDUsage_Sim_ElectronicCountermeasures = 0xB7, /* On/Off Control */ | |
165 | kHIDUsage_Sim_Elevator = 0xB8, /* Dynamic Value */ | |
166 | kHIDUsage_Sim_ElevatorTrim = 0xB9, /* Dynamic Value */ | |
167 | kHIDUsage_Sim_Rudder = 0xBA, /* Dynamic Value */ | |
168 | kHIDUsage_Sim_Throttle = 0xBB, /* Dynamic Value */ | |
169 | kHIDUsage_Sim_FlightCommunications = 0xBC, /* On/Off Control */ | |
170 | kHIDUsage_Sim_FlareRelease = 0xBD, /* One-Shot Control */ | |
171 | kHIDUsage_Sim_LandingGear = 0xBE, /* On/Off Control */ | |
172 | kHIDUsage_Sim_ToeBrake = 0xBF, /* Dynamic Value */ | |
173 | kHIDUsage_Sim_Trigger = 0xC0, /* Momentary Control */ | |
174 | kHIDUsage_Sim_WeaponsArm = 0xC1, /* On/Off Control */ | |
175 | kHIDUsage_Sim_Weapons = 0xC2, /* Selector */ | |
176 | kHIDUsage_Sim_WingFlaps = 0xC3, /* Dynamic Value */ | |
177 | kHIDUsage_Sim_Accelerator = 0xC4, /* Dynamic Value */ | |
178 | kHIDUsage_Sim_Brake = 0xC5, /* Dynamic Value */ | |
179 | kHIDUsage_Sim_Clutch = 0xC6, /* Dynamic Value */ | |
180 | kHIDUsage_Sim_Shifter = 0xC7, /* Dynamic Value */ | |
181 | kHIDUsage_Sim_Steering = 0xC8, /* Dynamic Value */ | |
182 | kHIDUsage_Sim_TurretDirection = 0xC9, /* Dynamic Value */ | |
183 | kHIDUsage_Sim_BarrelElevation = 0xCA, /* Dynamic Value */ | |
184 | kHIDUsage_Sim_DivePlane = 0xCB, /* Dynamic Value */ | |
185 | kHIDUsage_Sim_Ballast = 0xCC, /* Dynamic Value */ | |
186 | kHIDUsage_Sim_BicycleCrank = 0xCD, /* Dynamic Value */ | |
187 | kHIDUsage_Sim_HandleBars = 0xCE, /* Dynamic Value */ | |
188 | kHIDUsage_Sim_FrontBrake = 0xCF, /* Dynamic Value */ | |
189 | kHIDUsage_Sim_RearBrake = 0xD0, /* Dynamic Value */ | |
190 | /* 0xD1 - 0xFFFF Reserved */ | |
191 | kHIDUsage_Sim_Reserved = 0xFFFF, | |
192 | }; | |
193 | ||
194 | /* VR Page (0x03) */ | |
195 | /* Virtual Reality controls depend on designators to identify the individual controls. Most of the following are */ | |
196 | /* usages are applied to the collections of entities that comprise the actual device. */ | |
197 | enum | |
198 | { | |
199 | kHIDUsage_VR_Belt = 0x01, /* Application Collection */ | |
200 | kHIDUsage_VR_BodySuit = 0x02, /* Application Collection */ | |
201 | kHIDUsage_VR_Flexor = 0x03, /* Physical Collection */ | |
202 | kHIDUsage_VR_Glove = 0x04, /* Application Collection */ | |
203 | kHIDUsage_VR_HeadTracker = 0x05, /* Physical Collection */ | |
204 | kHIDUsage_VR_HeadMountedDisplay = 0x06, /* Application Collection */ | |
205 | kHIDUsage_VR_HandTracker = 0x07, /* Application Collection */ | |
206 | kHIDUsage_VR_Oculometer = 0x08, /* Application Collection */ | |
207 | kHIDUsage_VR_Vest = 0x09, /* Application Collection */ | |
208 | kHIDUsage_VR_AnimatronicDevice = 0x0A, /* Application Collection */ | |
209 | /* 0x0B - 0x1F Reserved */ | |
210 | kHIDUsage_VR_StereoEnable = 0x20, /* On/Off Control */ | |
211 | kHIDUsage_VR_DisplayEnable = 0x21, /* On/Off Control */ | |
212 | /* 0x22 - 0xFFFF Reserved */ | |
213 | kHIDUsage_VR_Reserved = 0xFFFF, | |
214 | }; | |
215 | ||
216 | /* Sport Page (0x04) */ | |
217 | enum | |
218 | { | |
219 | kHIDUsage_Sprt_BaseballBat = 0x01, /* Application Collection */ | |
220 | kHIDUsage_Sprt_GolfClub = 0x02, /* Application Collection */ | |
221 | kHIDUsage_Sprt_RowingMachine = 0x03, /* Application Collection */ | |
222 | kHIDUsage_Sprt_Treadmill = 0x04, /* Application Collection */ | |
223 | /* 0x05 - 0x2F Reserved */ | |
224 | kHIDUsage_Sprt_Oar = 0x30, /* Dynamic Value */ | |
225 | kHIDUsage_Sprt_Slope = 0x31, /* Dynamic Value */ | |
226 | kHIDUsage_Sprt_Rate = 0x32, /* Dynamic Value */ | |
227 | kHIDUsage_Sprt_StickSpeed = 0x33, /* Dynamic Value */ | |
228 | kHIDUsage_Sprt_StickFaceAngle = 0x34, /* Dynamic Value */ | |
229 | kHIDUsage_Sprt_StickHeelOrToe = 0x35, /* Dynamic Value */ | |
230 | kHIDUsage_Sprt_StickFollowThrough = 0x36, /* Dynamic Value */ | |
231 | kHIDUsage_Sprt_StickTempo = 0x37, /* Dynamic Value */ | |
232 | kHIDUsage_Sprt_StickType = 0x38, /* Named Array */ | |
233 | kHIDUsage_Sprt_StickHeight = 0x39, /* Dynamic Value */ | |
234 | /* 0x3A - 0x4F Reserved */ | |
235 | kHIDUsage_Sprt_Putter = 0x50, /* Selector */ | |
236 | kHIDUsage_Sprt_1Iron = 0x51, /* Selector */ | |
237 | kHIDUsage_Sprt_2Iron = 0x52, /* Selector */ | |
238 | kHIDUsage_Sprt_3Iron = 0x53, /* Selector */ | |
239 | kHIDUsage_Sprt_4Iron = 0x54, /* Selector */ | |
240 | kHIDUsage_Sprt_5Iron = 0x55, /* Selector */ | |
241 | kHIDUsage_Sprt_6Iron = 0x56, /* Selector */ | |
242 | kHIDUsage_Sprt_7Iron = 0x57, /* Selector */ | |
243 | kHIDUsage_Sprt_8Iron = 0x58, /* Selector */ | |
244 | kHIDUsage_Sprt_9Iron = 0x59, /* Selector */ | |
245 | kHIDUsage_Sprt_10Iron = 0x5A, /* Selector */ | |
246 | kHIDUsage_Sprt_11Iron = 0x5B, /* Selector */ | |
247 | kHIDUsage_Sprt_SandWedge = 0x5C, /* Selector */ | |
248 | kHIDUsage_Sprt_LoftWedge = 0x5D, /* Selector */ | |
249 | kHIDUsage_Sprt_PowerWedge = 0x5E, /* Selector */ | |
250 | kHIDUsage_Sprt_1Wood = 0x5F, /* Selector */ | |
251 | kHIDUsage_Sprt_3Wood = 0x60, /* Selector */ | |
252 | kHIDUsage_Sprt_5Wood = 0x61, /* Selector */ | |
253 | kHIDUsage_Sprt_7Wood = 0x62, /* Selector */ | |
254 | kHIDUsage_Sprt_9Wood = 0x63, /* Selector */ | |
255 | /* 0x64 - 0xFFFF Reserved */ | |
256 | kHIDUsage_Sprt_Reserved = 0xFFFF, | |
257 | }; | |
258 | ||
259 | /* Game Page (0x05) */ | |
260 | enum | |
261 | { | |
262 | kHIDUsage_Game_3DGameController = 0x01, /* Application Collection */ | |
263 | kHIDUsage_Game_PinballDevice = 0x02, /* Application Collection */ | |
264 | kHIDUsage_Game_GunDevice = 0x03, /* Application Collection */ | |
265 | /* 0x04 - 0x1F Reserved */ | |
266 | kHIDUsage_Game_PointofView = 0x20, /* Physical Collection */ | |
267 | kHIDUsage_Game_TurnRightOrLeft = 0x21, /* Dynamic Value */ | |
268 | kHIDUsage_Game_PitchUpOrDown = 0x22, /* Dynamic Value */ | |
269 | kHIDUsage_Game_RollRightOrLeft = 0x23, /* Dynamic Value */ | |
270 | kHIDUsage_Game_MoveRightOrLeft = 0x24, /* Dynamic Value */ | |
271 | kHIDUsage_Game_MoveForwardOrBackward = 0x25, /* Dynamic Value */ | |
272 | kHIDUsage_Game_MoveUpOrDown = 0x26, /* Dynamic Value */ | |
273 | kHIDUsage_Game_LeanRightOrLeft = 0x27, /* Dynamic Value */ | |
274 | kHIDUsage_Game_LeanForwardOrBackward = 0x28, /* Dynamic Value */ | |
275 | kHIDUsage_Game_HeightOfPOV = 0x29, /* Dynamic Value */ | |
276 | kHIDUsage_Game_Flipper = 0x2A, /* Momentary Control */ | |
277 | kHIDUsage_Game_SecondaryFlipper = 0x2B, /* Momentary Control */ | |
278 | kHIDUsage_Game_Bump = 0x2C, /* Momentary Control */ | |
279 | kHIDUsage_Game_NewGame = 0x2D, /* One-Shot Control */ | |
280 | kHIDUsage_Game_ShootBall = 0x2E, /* One-Shot Control */ | |
281 | kHIDUsage_Game_Player = 0x2F, /* One-Shot Control */ | |
282 | kHIDUsage_Game_GunBolt = 0x30, /* On/Off Control */ | |
283 | kHIDUsage_Game_GunClip = 0x31, /* On/Off Control */ | |
284 | kHIDUsage_Game_Gun = 0x32, /* Selector */ | |
285 | kHIDUsage_Game_GunSingleShot = 0x33, /* Selector */ | |
286 | kHIDUsage_Game_GunBurst = 0x34, /* Selector */ | |
287 | kHIDUsage_Game_GunAutomatic = 0x35, /* Selector */ | |
288 | kHIDUsage_Game_GunSafety = 0x36, /* On/Off Control */ | |
289 | kHIDUsage_Game_GamepadFireOrJump = 0x37, /* Logical Collection */ | |
290 | kHIDUsage_Game_GamepadTrigger = 0x39, /* Logical Collection */ | |
291 | /* 0x3A - 0xFFFF Reserved */ | |
292 | kHIDUsage_Game_Reserved = 0xFFFF, | |
293 | }; | |
294 | ||
295 | /* KeyboardOrKeypad Page (0x07) */ | |
296 | Content-type: text/html ]>