]> git.saurik.com Git - apple/xnu.git/blame - iokit/IOKit/hidsystem/IOHIDUsageTables.h
xnu-124.7.tar.gz
[apple/xnu.git] / iokit / IOKit / hidsystem / IOHIDUsageTables.h
Content-type: text/html ]> git.saurik.com Git - apple/xnu.git/blame - iokit/IOKit/hidsystem/IOHIDUsageTables.h


500 - Internal Server Error

Malformed UTF-8 character (fatal) at /usr/lib/x86_64-linux-gnu/perl5/5.40/HTML/Entities.pm line 485, <$fd> line 603.
CommitLineData
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 */
33enum
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 */
69enum
70{
71 kHIDUsage_Undefined = 0x00
72};
73
74/* GenericDesktop Page (0x01) */
75enum
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. */
135enum
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. */
197enum
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) */
217enum
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) */
260enum
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