Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/Chameleon/i386/include/IOKit/hidsystem/IOHIDUsageTables.h

Source at commit 296 created 12 years 10 months ago.
By ifabio, add i386 folder
1/*
2 * @APPLE_LICENSE_HEADER_START@
3 *
4 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23#ifndef _IOHIDUSAGETABLES_H
24#define _IOHIDUSAGETABLES_H
25
26/* ******************************************************************************************
27 * HID Usage Tables
28 *
29 * The following constants are from the USB 'HID Usage Tables' specification, revision 1.1rc3
30 * ****************************************************************************************** */
31
32
33/* Usage Pages */
34enum
35{
36kHIDPage_Undefined= 0x00,
37kHIDPage_GenericDesktop= 0x01,
38kHIDPage_Simulation= 0x02,
39kHIDPage_VR= 0x03,
40kHIDPage_Sport= 0x04,
41kHIDPage_Game= 0x05,
42/* Reserved 0x06 */
43kHIDPage_KeyboardOrKeypad= 0x07,/* USB Device Class Definition for Human Interface Devices (HID). Note: the usage type for all key codes is Selector (Sel). */
44kHIDPage_LEDs= 0x08,
45kHIDPage_Button= 0x09,
46kHIDPage_Ordinal= 0x0A,
47kHIDPage_Telephony= 0x0B,
48kHIDPage_Consumer= 0x0C,
49kHIDPage_Digitizer= 0x0D,
50/* Reserved 0x0E */
51kHIDPage_PID= 0x0F,/* USB Physical Interface Device definitions for force feedback and related devices. */
52kHIDPage_Unicode= 0x10,
53/* Reserved 0x11 - 0x13 */
54kHIDPage_AlphanumericDisplay= 0x14,
55/* Reserved 0x15 - 0x7F */
56/* Monitor 0x80 - 0x83 USB Device Class Definition for Monitor Devices */
57/* Power 0x84 - 0x87 USB Device Class Definition for Power Devices */
58kHIDPage_PowerDevice = 0x84, /* Power Device Page */
59kHIDPage_BatterySystem = 0x85, /* Battery System Page */
60/* Reserved 0x88 - 0x8B */
61kHIDPage_BarCodeScanner= 0x8C,/* (Point of Sale) USB Device Class Definition for Bar Code Scanner Devices */
62kHIDPage_WeighingDevice= 0x8D,/* (Point of Sale) USB Device Class Definition for Weighing Devices */
63kHIDPage_Scale= 0x8D,/* (Point of Sale) USB Device Class Definition for Scale Devices */
64 kHIDPage_MagneticStripeReader = 0x8E,
65/* ReservedPointofSalepages 0x8F */
66kHIDPage_CameraControl= 0x90,/* USB Device Class Definition for Image Class Devices */
67kHIDPage_Arcade= 0x91,/* OAAF Definitions for arcade and coinop related Devices */
68/* Reserved 0x92 - 0xFEFF */
69/* VendorDefined 0xFF00 - 0xFFFF */
70kHIDPage_VendorDefinedStart= 0xFF00
71};
72
73/* Undefined Usage for all usage pages */
74enum
75{
76kHIDUsage_Undefined= 0x00
77};
78
79/* GenericDesktop Page (0x01) */
80enum
81{
82kHIDUsage_GD_Pointer= 0x01,/* Physical Collection */
83kHIDUsage_GD_Mouse= 0x02,/* Application Collection */
84/* 0x03 Reserved */
85kHIDUsage_GD_Joystick= 0x04,/* Application Collection */
86kHIDUsage_GD_GamePad= 0x05,/* Application Collection */
87kHIDUsage_GD_Keyboard= 0x06,/* Application Collection */
88kHIDUsage_GD_Keypad= 0x07,/* Application Collection */
89kHIDUsage_GD_MultiAxisController= 0x08,/* Application Collection */
90/* 0x09 - 0x2F Reserved */
91kHIDUsage_GD_X= 0x30,/* Dynamic Value */
92kHIDUsage_GD_Y= 0x31,/* Dynamic Value */
93kHIDUsage_GD_Z= 0x32,/* Dynamic Value */
94kHIDUsage_GD_Rx= 0x33,/* Dynamic Value */
95kHIDUsage_GD_Ry= 0x34,/* Dynamic Value */
96kHIDUsage_GD_Rz= 0x35,/* Dynamic Value */
97kHIDUsage_GD_Slider= 0x36,/* Dynamic Value */
98kHIDUsage_GD_Dial= 0x37,/* Dynamic Value */
99kHIDUsage_GD_Wheel= 0x38,/* Dynamic Value */
100kHIDUsage_GD_Hatswitch= 0x39,/* Dynamic Value */
101kHIDUsage_GD_CountedBuffer= 0x3A,/* Logical Collection */
102kHIDUsage_GD_ByteCount= 0x3B,/* Dynamic Value */
103kHIDUsage_GD_MotionWakeup= 0x3C,/* One-Shot Control */
104kHIDUsage_GD_Start= 0x3D,/* On/Off Control */
105kHIDUsage_GD_Select= 0x3E,/* On/Off Control */
106/* 0x3F Reserved */
107kHIDUsage_GD_Vx= 0x40,/* Dynamic Value */
108kHIDUsage_GD_Vy= 0x41,/* Dynamic Value */
109kHIDUsage_GD_Vz= 0x42,/* Dynamic Value */
110kHIDUsage_GD_Vbrx= 0x43,/* Dynamic Value */
111kHIDUsage_GD_Vbry= 0x44,/* Dynamic Value */
112kHIDUsage_GD_Vbrz= 0x45,/* Dynamic Value */
113kHIDUsage_GD_Vno= 0x46,/* Dynamic Value */
114/* 0x47 - 0x7F Reserved */
115kHIDUsage_GD_SystemControl= 0x80,/* Application Collection */
116kHIDUsage_GD_SystemPowerDown= 0x81,/* One-Shot Control */
117kHIDUsage_GD_SystemSleep= 0x82,/* One-Shot Control */
118kHIDUsage_GD_SystemWakeUp= 0x83,/* One-Shot Control */
119kHIDUsage_GD_SystemContextMenu= 0x84,/* One-Shot Control */
120kHIDUsage_GD_SystemMainMenu= 0x85,/* One-Shot Control */
121kHIDUsage_GD_SystemAppMenu= 0x86,/* One-Shot Control */
122kHIDUsage_GD_SystemMenuHelp= 0x87,/* One-Shot Control */
123kHIDUsage_GD_SystemMenuExit= 0x88,/* One-Shot Control */
124kHIDUsage_GD_SystemMenu= 0x89,/* Selector */
125kHIDUsage_GD_SystemMenuRight= 0x8A,/* Re-Trigger Control */
126kHIDUsage_GD_SystemMenuLeft= 0x8B,/* Re-Trigger Control */
127kHIDUsage_GD_SystemMenuUp= 0x8C,/* Re-Trigger Control */
128kHIDUsage_GD_SystemMenuDown= 0x8D,/* Re-Trigger Control */
129/* 0x8E - 0x8F Reserved */
130kHIDUsage_GD_DPadUp= 0x90,/* On/Off Control */
131kHIDUsage_GD_DPadDown= 0x91,/* On/Off Control */
132kHIDUsage_GD_DPadRight= 0x92,/* On/Off Control */
133kHIDUsage_GD_DPadLeft= 0x93,/* On/Off Control */
134/* 0x94 - 0xFFFF Reserved */
135kHIDUsage_GD_Reserved = 0xFFFF
136};
137
138/* Simulation Page (0x02) */
139/* This section provides detailed descriptions of the usages employed by simulation devices. */
140enum
141{
142kHIDUsage_Sim_FlightSimulationDevice= 0x01,/* Application Collection */
143kHIDUsage_Sim_AutomobileSimulationDevice= 0x02,/* Application Collection */
144kHIDUsage_Sim_TankSimulationDevice= 0x03,/* Application Collection */
145kHIDUsage_Sim_SpaceshipSimulationDevice= 0x04,/* Application Collection */
146kHIDUsage_Sim_SubmarineSimulationDevice= 0x05,/* Application Collection */
147kHIDUsage_Sim_SailingSimulationDevice= 0x06,/* Application Collection */
148kHIDUsage_Sim_MotorcycleSimulationDevice= 0x07,/* Application Collection */
149kHIDUsage_Sim_SportsSimulationDevice= 0x08,/* Application Collection */
150kHIDUsage_Sim_AirplaneSimulationDevice= 0x09,/* Application Collection */
151kHIDUsage_Sim_HelicopterSimulationDevice= 0x0A,/* Application Collection */
152kHIDUsage_Sim_MagicCarpetSimulationDevice= 0x0B,/* Application Collection */
153kHIDUsage_Sim_BicycleSimulationDevice= 0x0C,/* Application Collection */
154/* 0x0D - 0x1F Reserved */
155kHIDUsage_Sim_FlightControlStick= 0x20,/* Application Collection */
156kHIDUsage_Sim_FlightStick= 0x21,/* Application Collection */
157kHIDUsage_Sim_CyclicControl= 0x22,/* Physical Collection */
158kHIDUsage_Sim_CyclicTrim= 0x23,/* Physical Collection */
159kHIDUsage_Sim_FlightYoke= 0x24,/* Application Collection */
160kHIDUsage_Sim_TrackControl= 0x25,/* Physical Collection */
161/* 0x26 - 0xAF Reserved */
162kHIDUsage_Sim_Aileron= 0xB0,/* Dynamic Value */
163kHIDUsage_Sim_AileronTrim= 0xB1,/* Dynamic Value */
164kHIDUsage_Sim_AntiTorqueControl= 0xB2,/* Dynamic Value */
165kHIDUsage_Sim_AutopilotEnable= 0xB3,/* On/Off Control */
166kHIDUsage_Sim_ChaffRelease= 0xB4,/* One-Shot Control */
167kHIDUsage_Sim_CollectiveControl= 0xB5,/* Dynamic Value */
168kHIDUsage_Sim_DiveBrake= 0xB6,/* Dynamic Value */
169kHIDUsage_Sim_ElectronicCountermeasures= 0xB7,/* On/Off Control */
170kHIDUsage_Sim_Elevator= 0xB8,/* Dynamic Value */
171kHIDUsage_Sim_ElevatorTrim= 0xB9,/* Dynamic Value */
172kHIDUsage_Sim_Rudder= 0xBA,/* Dynamic Value */
173kHIDUsage_Sim_Throttle= 0xBB,/* Dynamic Value */
174kHIDUsage_Sim_FlightCommunications= 0xBC,/* On/Off Control */
175kHIDUsage_Sim_FlareRelease= 0xBD,/* One-Shot Control */
176kHIDUsage_Sim_LandingGear= 0xBE,/* On/Off Control */
177kHIDUsage_Sim_ToeBrake= 0xBF,/* Dynamic Value */
178kHIDUsage_Sim_Trigger= 0xC0,/* Momentary Control */
179kHIDUsage_Sim_WeaponsArm= 0xC1,/* On/Off Control */
180kHIDUsage_Sim_Weapons= 0xC2,/* Selector */
181kHIDUsage_Sim_WingFlaps= 0xC3,/* Dynamic Value */
182kHIDUsage_Sim_Accelerator= 0xC4,/* Dynamic Value */
183kHIDUsage_Sim_Brake= 0xC5,/* Dynamic Value */
184kHIDUsage_Sim_Clutch= 0xC6,/* Dynamic Value */
185kHIDUsage_Sim_Shifter= 0xC7,/* Dynamic Value */
186kHIDUsage_Sim_Steering= 0xC8,/* Dynamic Value */
187kHIDUsage_Sim_TurretDirection= 0xC9,/* Dynamic Value */
188kHIDUsage_Sim_BarrelElevation= 0xCA,/* Dynamic Value */
189kHIDUsage_Sim_DivePlane= 0xCB,/* Dynamic Value */
190kHIDUsage_Sim_Ballast= 0xCC,/* Dynamic Value */
191kHIDUsage_Sim_BicycleCrank= 0xCD,/* Dynamic Value */
192kHIDUsage_Sim_HandleBars= 0xCE,/* Dynamic Value */
193kHIDUsage_Sim_FrontBrake= 0xCF,/* Dynamic Value */
194kHIDUsage_Sim_RearBrake= 0xD0,/* Dynamic Value */
195/* 0xD1 - 0xFFFF Reserved */
196kHIDUsage_Sim_Reserved = 0xFFFF
197};
198
199/* VR Page (0x03) */
200/* Virtual Reality controls depend on designators to identify the individual controls. Most of the following are */
201/* usages are applied to the collections of entities that comprise the actual device. */
202enum
203{
204kHIDUsage_VR_Belt= 0x01,/* Application Collection */
205kHIDUsage_VR_BodySuit= 0x02,/* Application Collection */
206kHIDUsage_VR_Flexor= 0x03,/* Physical Collection */
207kHIDUsage_VR_Glove= 0x04,/* Application Collection */
208kHIDUsage_VR_HeadTracker= 0x05,/* Physical Collection */
209kHIDUsage_VR_HeadMountedDisplay= 0x06,/* Application Collection */
210kHIDUsage_VR_HandTracker= 0x07,/* Application Collection */
211kHIDUsage_VR_Oculometer= 0x08,/* Application Collection */
212kHIDUsage_VR_Vest= 0x09,/* Application Collection */
213kHIDUsage_VR_AnimatronicDevice= 0x0A,/* Application Collection */
214/* 0x0B - 0x1F Reserved */
215kHIDUsage_VR_StereoEnable= 0x20,/* On/Off Control */
216kHIDUsage_VR_DisplayEnable= 0x21,/* On/Off Control */
217/* 0x22 - 0xFFFF Reserved */
218kHIDUsage_VR_Reserved = 0xFFFF
219};
220
221/* Sport Page (0x04) */
222enum
223{
224kHIDUsage_Sprt_BaseballBat= 0x01,/* Application Collection */
225kHIDUsage_Sprt_GolfClub= 0x02,/* Application Collection */
226kHIDUsage_Sprt_RowingMachine= 0x03,/* Application Collection */
227kHIDUsage_Sprt_Treadmill= 0x04,/* Application Collection */
228/* 0x05 - 0x2F Reserved */
229kHIDUsage_Sprt_Oar= 0x30,/* Dynamic Value */
230kHIDUsage_Sprt_Slope= 0x31,/* Dynamic Value */
231kHIDUsage_Sprt_Rate= 0x32,/* Dynamic Value */
232kHIDUsage_Sprt_StickSpeed= 0x33,/* Dynamic Value */
233kHIDUsage_Sprt_StickFaceAngle= 0x34,/* Dynamic Value */
234kHIDUsage_Sprt_StickHeelOrToe= 0x35,/* Dynamic Value */
235kHIDUsage_Sprt_StickFollowThrough= 0x36,/* Dynamic Value */
236kHIDUsage_Sprt_StickTempo= 0x37,/* Dynamic Value */
237kHIDUsage_Sprt_StickType= 0x38,/* Named Array */
238kHIDUsage_Sprt_StickHeight= 0x39,/* Dynamic Value */
239/* 0x3A - 0x4F Reserved */
240kHIDUsage_Sprt_Putter= 0x50,/* Selector */
241kHIDUsage_Sprt_1Iron= 0x51,/* Selector */
242kHIDUsage_Sprt_2Iron= 0x52,/* Selector */
243kHIDUsage_Sprt_3Iron= 0x53,/* Selector */
244kHIDUsage_Sprt_4Iron= 0x54,/* Selector */
245kHIDUsage_Sprt_5Iron= 0x55,/* Selector */
246kHIDUsage_Sprt_6Iron= 0x56,/* Selector */
247kHIDUsage_Sprt_7Iron= 0x57,/* Selector */
248kHIDUsage_Sprt_8Iron= 0x58,/* Selector */
249kHIDUsage_Sprt_9Iron= 0x59,/* Selector */
250kHIDUsage_Sprt_10Iron= 0x5A,/* Selector */
251kHIDUsage_Sprt_11Iron= 0x5B,/* Selector */
252kHIDUsage_Sprt_SandWedge= 0x5C,/* Selector */
253kHIDUsage_Sprt_LoftWedge= 0x5D,/* Selector */
254kHIDUsage_Sprt_PowerWedge= 0x5E,/* Selector */
255kHIDUsage_Sprt_1Wood= 0x5F,/* Selector */
256kHIDUsage_Sprt_3Wood= 0x60,/* Selector */
257kHIDUsage_Sprt_5Wood= 0x61,/* Selector */
258kHIDUsage_Sprt_7Wood= 0x62,/* Selector */
259kHIDUsage_Sprt_9Wood= 0x63,/* Selector */
260/* 0x64 - 0xFFFF Reserved */
261kHIDUsage_Sprt_Reserved = 0xFFFF
262};
263
264/* Game Page (0x05) */
265enum
266{
267kHIDUsage_Game_3DGameController= 0x01,/* Application Collection */
268kHIDUsage_Game_PinballDevice= 0x02,/* Application Collection */
269kHIDUsage_Game_GunDevice= 0x03,/* Application Collection */
270/* 0x04 - 0x1F Reserved */
271kHIDUsage_Game_PointofView= 0x20,/* Physical Collection */
272kHIDUsage_Game_TurnRightOrLeft= 0x21,/* Dynamic Value */
273kHIDUsage_Game_PitchUpOrDown= 0x22,/* Dynamic Value */
274kHIDUsage_Game_RollRightOrLeft= 0x23,/* Dynamic Value */
275kHIDUsage_Game_MoveRightOrLeft= 0x24,/* Dynamic Value */
276kHIDUsage_Game_MoveForwardOrBackward= 0x25,/* Dynamic Value */
277kHIDUsage_Game_MoveUpOrDown= 0x26,/* Dynamic Value */
278kHIDUsage_Game_LeanRightOrLeft= 0x27,/* Dynamic Value */
279kHIDUsage_Game_LeanForwardOrBackward= 0x28,/* Dynamic Value */
280kHIDUsage_Game_HeightOfPOV= 0x29,/* Dynamic Value */
281kHIDUsage_Game_Flipper= 0x2A,/* Momentary Control */
282kHIDUsage_Game_SecondaryFlipper= 0x2B,/* Momentary Control */
283kHIDUsage_Game_Bump= 0x2C,/* Momentary Control */
284kHIDUsage_Game_NewGame= 0x2D,/* One-Shot Control */
285kHIDUsage_Game_ShootBall= 0x2E,/* One-Shot Control */
286kHIDUsage_Game_Player= 0x2F,/* One-Shot Control */
287kHIDUsage_Game_GunBolt= 0x30,/* On/Off Control */
288kHIDUsage_Game_GunClip= 0x31,/* On/Off Control */
289kHIDUsage_Game_Gun= 0x32,/* Selector */
290kHIDUsage_Game_GunSingleShot= 0x33,/* Selector */
291kHIDUsage_Game_GunBurst= 0x34,/* Selector */
292kHIDUsage_Game_GunAutomatic= 0x35,/* Selector */
293kHIDUsage_Game_GunSafety= 0x36,/* On/Off Control */
294kHIDUsage_Game_GamepadFireOrJump= 0x37,/* Logical Collection */
295kHIDUsage_Game_GamepadTrigger= 0x39,/* Logical Collection */
296/* 0x3A - 0xFFFF Reserved */
297kHIDUsage_Game_Reserved = 0xFFFF
298};
299
300/* KeyboardOrKeypad Page (0x07) */
301
302/* column below. */
303/* The usage type of all key codes is Selectors (Sel), except for the modifier keys Keyboard Left Control (0x224) to Keyboard Right GUI (0x231) which are Dynamic Flags (DV). */
304/* Note: A general note on Usages and languages: Due to the variation of keyboards from language to language, it is not feasible to specify exact key mappings for every language. Where this list is not specific for a key function in a language, the closest equivalent key position should be used, so that a keyboard may be modified for a different language by simply printing different keycaps. One example is the Y key on a North American keyboard. In Germany this is typically Z. Rather than changing the keyboard firmware to put the Z Usage into that place in the descriptor list, the vendor should use the Y Usage on both the North American and German keyboards. This continues to be the existing practice in the industry, in order to minimize the number of changes to the electronics to accommodate otherlanguages. */
305enum
306{
307kHIDUsage_KeyboardErrorRollOver= 0x01,/* ErrorRollOver */
308kHIDUsage_KeyboardPOSTFail= 0x02,/* POSTFail */
309kHIDUsage_KeyboardErrorUndefined= 0x03,/* ErrorUndefined */
310kHIDUsage_KeyboardA= 0x04,/* a or A */
311kHIDUsage_KeyboardB= 0x05,/* b or B */
312kHIDUsage_KeyboardC= 0x06,/* c or C */
313kHIDUsage_KeyboardD= 0x07,/* d or D */
314kHIDUsage_KeyboardE= 0x08,/* e or E */
315kHIDUsage_KeyboardF= 0x09,/* f or F */
316kHIDUsage_KeyboardG= 0x0A,/* g or G */
317kHIDUsage_KeyboardH= 0x0B,/* h or H */
318kHIDUsage_KeyboardI= 0x0C,/* i or I */
319kHIDUsage_KeyboardJ= 0x0D,/* j or J */
320kHIDUsage_KeyboardK= 0x0E,/* k or K */
321kHIDUsage_KeyboardL= 0x0F,/* l or L */
322kHIDUsage_KeyboardM= 0x10,/* m or M */
323kHIDUsage_KeyboardN= 0x11,/* n or N */
324kHIDUsage_KeyboardO= 0x12,/* o or O */
325kHIDUsage_KeyboardP= 0x13,/* p or P */
326kHIDUsage_KeyboardQ= 0x14,/* q or Q */
327kHIDUsage_KeyboardR= 0x15,/* r or R */
328kHIDUsage_KeyboardS= 0x16,/* s or S */
329kHIDUsage_KeyboardT= 0x17,/* t or T */
330kHIDUsage_KeyboardU= 0x18,/* u or U */
331kHIDUsage_KeyboardV= 0x19,/* v or V */
332kHIDUsage_KeyboardW= 0x1A,/* w or W */
333kHIDUsage_KeyboardX= 0x1B,/* x or X */
334kHIDUsage_KeyboardY= 0x1C,/* y or Y */
335kHIDUsage_KeyboardZ= 0x1D,/* z or Z */
336kHIDUsage_Keyboard1= 0x1E,/* 1 or ! */
337kHIDUsage_Keyboard2= 0x1F,/* 2 or @ */
338kHIDUsage_Keyboard3= 0x20,/* 3 or # */
339kHIDUsage_Keyboard4= 0x21,/* 4 or $ */
340kHIDUsage_Keyboard5= 0x22,/* 5 or % */
341kHIDUsage_Keyboard6= 0x23,/* 6 or ^ */
342kHIDUsage_Keyboard7= 0x24,/* 7 or & */
343kHIDUsage_Keyboard8= 0x25,/* 8 or * */
344kHIDUsage_Keyboard9= 0x26,/* 9 or ( */
345kHIDUsage_Keyboard0= 0x27,/* 0 or ) */
346kHIDUsage_KeyboardReturnOrEnter= 0x28,/* Return (Enter) */
347kHIDUsage_KeyboardEscape= 0x29,/* Escape */
348kHIDUsage_KeyboardDeleteOrBackspace= 0x2A,/* Delete (Backspace) */
349kHIDUsage_KeyboardTab= 0x2B,/* Tab */
350kHIDUsage_KeyboardSpacebar= 0x2C,/* Spacebar */
351kHIDUsage_KeyboardHyphen= 0x2D,/* - or _ */
352kHIDUsage_KeyboardEqualSign= 0x2E,/* = or + */
353kHIDUsage_KeyboardOpenBracket= 0x2F,/* [ or { */
354kHIDUsage_KeyboardCloseBracket= 0x30,/* ] or } */
355kHIDUsage_KeyboardBackslash= 0x31,/* \ or | */
356kHIDUsage_KeyboardNonUSPound= 0x32,/* Non-US # or _ */
357kHIDUsage_KeyboardSemicolon= 0x33,/* ; or : */
358kHIDUsage_KeyboardQuote= 0x34,/* ' or " */
359kHIDUsage_KeyboardGraveAccentAndTilde= 0x35,/* Grave Accent and Tilde */
360kHIDUsage_KeyboardComma= 0x36,/* , or < */
361kHIDUsage_KeyboardPeriod= 0x37,/* . or > */
362kHIDUsage_KeyboardSlash= 0x38,/* / or ? */
363kHIDUsage_KeyboardCapsLock= 0x39,/* Caps Lock */
364kHIDUsage_KeyboardF1= 0x3A,/* F1 */
365kHIDUsage_KeyboardF2= 0x3B,/* F2 */
366kHIDUsage_KeyboardF3= 0x3C,/* F3 */
367kHIDUsage_KeyboardF4= 0x3D,/* F4 */
368kHIDUsage_KeyboardF5= 0x3E,/* F5 */
369kHIDUsage_KeyboardF6= 0x3F,/* F6 */
370kHIDUsage_KeyboardF7= 0x40,/* F7 */
371kHIDUsage_KeyboardF8= 0x41,/* F8 */
372kHIDUsage_KeyboardF9= 0x42,/* F9 */
373kHIDUsage_KeyboardF10= 0x43,/* F10 */
374kHIDUsage_KeyboardF11= 0x44,/* F11 */
375kHIDUsage_KeyboardF12= 0x45,/* F12 */
376kHIDUsage_KeyboardPrintScreen= 0x46,/* Print Screen */
377kHIDUsage_KeyboardScrollLock= 0x47,/* Scroll Lock */
378kHIDUsage_KeyboardPause= 0x48,/* Pause */
379kHIDUsage_KeyboardInsert= 0x49,/* Insert */
380kHIDUsage_KeyboardHome= 0x4A,/* Home */
381kHIDUsage_KeyboardPageUp= 0x4B,/* Page Up */
382kHIDUsage_KeyboardDeleteForward= 0x4C,/* Delete Forward */
383kHIDUsage_KeyboardEnd= 0x4D,/* End */
384kHIDUsage_KeyboardPageDown= 0x4E,/* Page Down */
385kHIDUsage_KeyboardRightArrow= 0x4F,/* Right Arrow */
386kHIDUsage_KeyboardLeftArrow= 0x50,/* Left Arrow */
387kHIDUsage_KeyboardDownArrow= 0x51,/* Down Arrow */
388kHIDUsage_KeyboardUpArrow= 0x52,/* Up Arrow */
389kHIDUsage_KeypadNumLock= 0x53,/* Keypad NumLock or Clear */
390kHIDUsage_KeypadSlash= 0x54,/* Keypad / */
391kHIDUsage_KeypadAsterisk= 0x55,/* Keypad * */
392kHIDUsage_KeypadHyphen= 0x56,/* Keypad - */
393kHIDUsage_KeypadPlus= 0x57,/* Keypad + */
394kHIDUsage_KeypadEnter= 0x58,/* Keypad Enter */
395kHIDUsage_Keypad1= 0x59,/* Keypad 1 or End */
396kHIDUsage_Keypad2= 0x5A,/* Keypad 2 or Down Arrow */
397kHIDUsage_Keypad3= 0x5B,/* Keypad 3 or Page Down */
398kHIDUsage_Keypad4= 0x5C,/* Keypad 4 or Left Arrow */
399kHIDUsage_Keypad5= 0x5D,/* Keypad 5 */
400kHIDUsage_Keypad6= 0x5E,/* Keypad 6 or Right Arrow */
401kHIDUsage_Keypad7= 0x5F,/* Keypad 7 or Home */
402kHIDUsage_Keypad8= 0x60,/* Keypad 8 or Up Arrow */
403kHIDUsage_Keypad9= 0x61,/* Keypad 9 or Page Up */
404kHIDUsage_Keypad0= 0x62,/* Keypad 0 or Insert */
405kHIDUsage_KeypadPeriod= 0x63,/* Keypad . or Delete */
406kHIDUsage_KeyboardNonUSBackslash= 0x64,/* Non-US \ or | */
407kHIDUsage_KeyboardApplication= 0x65,/* Application */
408kHIDUsage_KeyboardPower= 0x66,/* Power */
409kHIDUsage_KeypadEqualSign= 0x67,/* Keypad = */
410kHIDUsage_KeyboardF13= 0x68,/* F13 */
411kHIDUsage_KeyboardF14= 0x69,/* F14 */
412kHIDUsage_KeyboardF15= 0x6A,/* F15 */
413kHIDUsage_KeyboardF16= 0x6B,/* F16 */
414kHIDUsage_KeyboardF17= 0x6C,/* F17 */
415kHIDUsage_KeyboardF18= 0x6D,/* F18 */
416kHIDUsage_KeyboardF19= 0x6E,/* F19 */
417kHIDUsage_KeyboardF20= 0x6F,/* F20 */
418kHIDUsage_KeyboardF21= 0x70,/* F21 */
419kHIDUsage_KeyboardF22= 0x71,/* F22 */
420kHIDUsage_KeyboardF23= 0x72,/* F23 */
421kHIDUsage_KeyboardF24= 0x73,/* F24 */
422kHIDUsage_KeyboardExecute= 0x74,/* Execute */
423kHIDUsage_KeyboardHelp= 0x75,/* Help */
424kHIDUsage_KeyboardMenu= 0x76,/* Menu */
425kHIDUsage_KeyboardSelect= 0x77,/* Select */
426kHIDUsage_KeyboardStop= 0x78,/* Stop */
427kHIDUsage_KeyboardAgain= 0x79,/* Again */
428kHIDUsage_KeyboardUndo= 0x7A,/* Undo */
429kHIDUsage_KeyboardCut= 0x7B,/* Cut */
430kHIDUsage_KeyboardCopy= 0x7C,/* Copy */
431kHIDUsage_KeyboardPaste= 0x7D,/* Paste */
432kHIDUsage_KeyboardFind= 0x7E,/* Find */
433kHIDUsage_KeyboardMute= 0x7F,/* Mute */
434kHIDUsage_KeyboardVolumeUp= 0x80,/* Volume Up */
435kHIDUsage_KeyboardVolumeDown= 0x81,/* Volume Down */
436kHIDUsage_KeyboardLockingCapsLock= 0x82,/* Locking Caps Lock */
437kHIDUsage_KeyboardLockingNumLock= 0x83,/* Locking Num Lock */
438kHIDUsage_KeyboardLockingScrollLock= 0x84,/* Locking Scroll Lock */
439kHIDUsage_KeypadComma= 0x85,/* Keypad Comma */
440kHIDUsage_KeypadEqualSignAS400= 0x86,/* Keypad Equal Sign for AS/400 */
441kHIDUsage_KeyboardInternational1= 0x87,/* International1 */
442kHIDUsage_KeyboardInternational2= 0x88,/* International2 */
443kHIDUsage_KeyboardInternational3= 0x89,/* International3 */
444kHIDUsage_KeyboardInternational4= 0x8A,/* International4 */
445kHIDUsage_KeyboardInternational5= 0x8B,/* International5 */
446kHIDUsage_KeyboardInternational6= 0x8C,/* International6 */
447kHIDUsage_KeyboardInternational7= 0x8D,/* International7 */
448kHIDUsage_KeyboardInternational8= 0x8E,/* International8 */
449kHIDUsage_KeyboardInternational9= 0x8F,/* International9 */
450kHIDUsage_KeyboardLANG1= 0x90,/* LANG1 */
451kHIDUsage_KeyboardLANG2= 0x91,/* LANG2 */
452kHIDUsage_KeyboardLANG3= 0x92,/* LANG3 */
453kHIDUsage_KeyboardLANG4= 0x93,/* LANG4 */
454kHIDUsage_KeyboardLANG5= 0x94,/* LANG5 */
455kHIDUsage_KeyboardLANG6= 0x95,/* LANG6 */
456kHIDUsage_KeyboardLANG7= 0x96,/* LANG7 */
457kHIDUsage_KeyboardLANG8= 0x97,/* LANG8 */
458kHIDUsage_KeyboardLANG9= 0x98,/* LANG9 */
459kHIDUsage_KeyboardAlternateErase= 0x99,/* AlternateErase */
460kHIDUsage_KeyboardSysReqOrAttention= 0x9A,/* SysReq/Attention */
461kHIDUsage_KeyboardCancel= 0x9B,/* Cancel */
462kHIDUsage_KeyboardClear= 0x9C,/* Clear */
463kHIDUsage_KeyboardPrior= 0x9D,/* Prior */
464kHIDUsage_KeyboardReturn= 0x9E,/* Return */
465kHIDUsage_KeyboardSeparator= 0x9F,/* Separator */
466kHIDUsage_KeyboardOut= 0xA0,/* Out */
467kHIDUsage_KeyboardOper= 0xA1,/* Oper */
468kHIDUsage_KeyboardClearOrAgain= 0xA2,/* Clear/Again */
469kHIDUsage_KeyboardCrSelOrProps= 0xA3,/* CrSel/Props */
470kHIDUsage_KeyboardExSel= 0xA4,/* ExSel */
471/* 0xA5-0xDF Reserved */
472kHIDUsage_KeyboardLeftControl= 0xE0,/* Left Control */
473kHIDUsage_KeyboardLeftShift= 0xE1,/* Left Shift */
474kHIDUsage_KeyboardLeftAlt= 0xE2,/* Left Alt */
475kHIDUsage_KeyboardLeftGUI= 0xE3,/* Left GUI */
476kHIDUsage_KeyboardRightControl= 0xE4,/* Right Control */
477kHIDUsage_KeyboardRightShift= 0xE5,/* Right Shift */
478kHIDUsage_KeyboardRightAlt= 0xE6,/* Right Alt */
479kHIDUsage_KeyboardRightGUI= 0xE7,/* Right GUI */
480/* 0xE8-0xFFFF Reserved */
481kHIDUsage_Keyboard_Reserved = 0xFFFF
482};
483
484/* LEDs Page (0x08) */
485
486enum
487{
488kHIDUsage_LED_NumLock= 0x01,/* On/Off Control */
489kHIDUsage_LED_CapsLock= 0x02,/* On/Off Control */
490kHIDUsage_LED_ScrollLock= 0x03,/* On/Off Control */
491kHIDUsage_LED_Compose= 0x04,/* On/Off Control */
492kHIDUsage_LED_Kana= 0x05,/* On/Off Control */
493kHIDUsage_LED_Power= 0x06,/* On/Off Control */
494kHIDUsage_LED_Shift= 0x07,/* On/Off Control */
495kHIDUsage_LED_DoNotDisturb= 0x08,/* On/Off Control */
496kHIDUsage_LED_Mute= 0x09,/* On/Off Control */
497kHIDUsage_LED_ToneEnable= 0x0A,/* On/Off Control */
498kHIDUsage_LED_HighCutFilter= 0x0B,/* On/Off Control */
499kHIDUsage_LED_LowCutFilter= 0x0C,/* On/Off Control */
500kHIDUsage_LED_EqualizerEnable= 0x0D,/* On/Off Control */
501kHIDUsage_LED_SoundFieldOn= 0x0E,/* On/Off Control */
502kHIDUsage_LED_SurroundOn= 0x0F,/* On/Off Control */
503kHIDUsage_LED_Repeat= 0x10,/* On/Off Control */
504kHIDUsage_LED_Stereo= 0x11,/* On/Off Control */
505kHIDUsage_LED_SamplingRateDetect= 0x12,/* On/Off Control */
506kHIDUsage_LED_Spinning= 0x13,/* On/Off Control */
507kHIDUsage_LED_CAV= 0x14,/* On/Off Control */
508kHIDUsage_LED_CLV= 0x15,/* On/Off Control */
509kHIDUsage_LED_RecordingFormatDetect= 0x16,/* On/Off Control */
510kHIDUsage_LED_OffHook= 0x17,/* On/Off Control */
511kHIDUsage_LED_Ring= 0x18,/* On/Off Control */
512kHIDUsage_LED_MessageWaiting= 0x19,/* On/Off Control */
513kHIDUsage_LED_DataMode= 0x1A,/* On/Off Control */
514kHIDUsage_LED_BatteryOperation= 0x1B,/* On/Off Control */
515kHIDUsage_LED_BatteryOK= 0x1C,/* On/Off Control */
516kHIDUsage_LED_BatteryLow= 0x1D,/* On/Off Control */
517kHIDUsage_LED_Speaker= 0x1E,/* On/Off Control */
518kHIDUsage_LED_HeadSet= 0x1F,/* On/Off Control */
519kHIDUsage_LED_Hold= 0x20,/* On/Off Control */
520kHIDUsage_LED_Microphone= 0x21,/* On/Off Control */
521kHIDUsage_LED_Coverage= 0x22,/* On/Off Control */
522kHIDUsage_LED_NightMode= 0x23,/* On/Off Control */
523kHIDUsage_LED_SendCalls= 0x24,/* On/Off Control */
524kHIDUsage_LED_CallPickup= 0x25,/* On/Off Control */
525kHIDUsage_LED_Conference= 0x26,/* On/Off Control */
526kHIDUsage_LED_StandBy= 0x27,/* On/Off Control */
527kHIDUsage_LED_CameraOn= 0x28,/* On/Off Control */
528kHIDUsage_LED_CameraOff= 0x29,/* On/Off Control */
529kHIDUsage_LED_OnLine= 0x2A,/* On/Off Control */
530kHIDUsage_LED_OffLine= 0x2B,/* On/Off Control */
531kHIDUsage_LED_Busy= 0x2C,/* On/Off Control */
532kHIDUsage_LED_Ready= 0x2D,/* On/Off Control */
533kHIDUsage_LED_PaperOut= 0x2E,/* On/Off Control */
534kHIDUsage_LED_PaperJam= 0x2F,/* On/Off Control */
535kHIDUsage_LED_Remote= 0x30,/* On/Off Control */
536kHIDUsage_LED_Forward= 0x31,/* On/Off Control */
537kHIDUsage_LED_Reverse= 0x32,/* On/Off Control */
538kHIDUsage_LED_Stop= 0x33,/* On/Off Control */
539kHIDUsage_LED_Rewind= 0x34,/* On/Off Control */
540kHIDUsage_LED_FastForward= 0x35,/* On/Off Control */
541kHIDUsage_LED_Play= 0x36,/* On/Off Control */
542kHIDUsage_LED_Pause= 0x37,/* On/Off Control */
543kHIDUsage_LED_Record= 0x38,/* On/Off Control */
544kHIDUsage_LED_Error= 0x39,/* On/Off Control */
545kHIDUsage_LED_Usage= 0x3A,/* Selector */
546kHIDUsage_LED_UsageInUseIndicator= 0x3B,/* Usage Switch */
547kHIDUsage_LED_UsageMultiModeIndicator= 0x3C,/* Usage Modifier */
548kHIDUsage_LED_IndicatorOn= 0x3D,/* Selector */
549kHIDUsage_LED_IndicatorFlash= 0x3E,/* Selector */
550kHIDUsage_LED_IndicatorSlowBlink= 0x3F,/* Selector */
551kHIDUsage_LED_IndicatorFastBlink= 0x40,/* Selector */
552kHIDUsage_LED_IndicatorOff= 0x41,/* Selector */
553kHIDUsage_LED_FlashOnTime= 0x42,/* Dynamic Value */
554kHIDUsage_LED_SlowBlinkOnTime= 0x43,/* Dynamic Value */
555kHIDUsage_LED_SlowBlinkOffTime= 0x44,/* Dynamic Value */
556kHIDUsage_LED_FastBlinkOnTime= 0x45,/* Dynamic Value */
557kHIDUsage_LED_FastBlinkOffTime= 0x46,/* Dynamic Value */
558kHIDUsage_LED_UsageIndicatorColor= 0x47,/* Usage Modifier */
559kHIDUsage_LED_IndicatorRed= 0x48,/* Selector */
560kHIDUsage_LED_IndicatorGreen= 0x49,/* Selector */
561kHIDUsage_LED_IndicatorAmber= 0x4A,/* Selector */
562kHIDUsage_LED_GenericIndicator= 0x4B,/* On/Off Control */
563kHIDUsage_LED_SystemSuspend= 0x4C,/* On/Off Control */
564kHIDUsage_LED_ExternalPowerConnected= 0x4D,/* On/Off Control */
565/* 0x4E - 0xFFFF Reserved */
566kHIDUsage_LED_Reserved = 0xFFFF
567};
568
569/* Button Page (0x09) */
570/* The Button page is the first place an application should look for user selection controls. System graphical user interfaces typically employ a pointer and a set of hierarchical selectors to select, move and otherwise manipulate their environment. For these purposes the following assignment of significance can be applied to the Button usages: */
571
572/* is not necessarily physically located on the left of the pointing device. */
573
574
575
576
577enum
578{
579kHIDUsage_Button_1= 0x01,/* (primary/trigger) */
580kHIDUsage_Button_2= 0x02,/* (secondary) */
581kHIDUsage_Button_3= 0x03,/* (tertiary) */
582kHIDUsage_Button_4= 0x04, /* 4th button */
583/* ... */
584kHIDUsage_Button_65535= 0xFFFF
585};
586
587/* Ordinal Page (0x0A) */
588/* The Ordinal page allows multiple instances of a control or sets of controls to be declared without requiring individual enumeration in the native usage page. For example, it is not necessary to declare usages of Pointer 1, Pointer 2, and so forth on the Generic Desktop page. When parsed, the ordinal instance number is, in essence, concatenated to the usages attached to the encompassing collection to create Pointer 1, Pointer 2, and so forth. */
589
590/* Instances do not have to be identical. */
591enum
592{
593/* 0x00 Reserved */
594kHIDUsage_Ord_Instance1= 0x01,/* Usage Modifier */
595kHIDUsage_Ord_Instance2= 0x02,/* Usage Modifier */
596kHIDUsage_Ord_Instance3= 0x03,/* Usage Modifier */
597kHIDUsage_Ord_Instance4= 0x04,/* Usage Modifier */
598kHIDUsage_Ord_Instance65535= 0xFFFF/* Usage Modifier */
599};
600
601/* Telephony Page (0x0B) */
602/* This usage page defines the keytop and control usages for telephony devices. */
603/* Indicators on a phone are handled by wrapping them in LED: Usage In Use Indicator and LED: Usage Selected Indicator usages. For example, a message-indicator LED would be identified by a Telephony: Message usage declared as a Feature or Output in a LED: Usage In Use Indicator collection. */
604
605enum
606{
607kHIDUsage_Tfon_Phone= 0x01,/* Application Collection */
608kHIDUsage_Tfon_AnsweringMachine= 0x02,/* Application Collection */
609kHIDUsage_Tfon_MessageControls= 0x03,/* Logical Collection */
610kHIDUsage_Tfon_Handset= 0x04,/* Logical Collection */
611kHIDUsage_Tfon_Headset= 0x05,/* Logical Collection */
612kHIDUsage_Tfon_TelephonyKeyPad= 0x06,/* Named Array */
613kHIDUsage_Tfon_ProgrammableButton= 0x07,/* Named Array */
614/* 0x08 - 0x1F Reserved */
615kHIDUsage_Tfon_HookSwitch= 0x20,/* On/Off Control */
616kHIDUsage_Tfon_Flash= 0x21,/* Momentary Control */
617kHIDUsage_Tfon_Feature= 0x22,/* One-Shot Control */
618kHIDUsage_Tfon_Hold= 0x23,/* On/Off Control */
619kHIDUsage_Tfon_Redial= 0x24,/* One-Shot Control */
620kHIDUsage_Tfon_Transfer= 0x25,/* One-Shot Control */
621kHIDUsage_Tfon_Drop= 0x26,/* One-Shot Control */
622kHIDUsage_Tfon_Park= 0x27,/* On/Off Control */
623kHIDUsage_Tfon_ForwardCalls= 0x28,/* On/Off Control */
624kHIDUsage_Tfon_AlternateFunction= 0x29,/* Momentary Control */
625kHIDUsage_Tfon_Line= 0x2A,/* One-Shot Control */
626kHIDUsage_Tfon_SpeakerPhone= 0x2B,/* On/Off Control */
627kHIDUsage_Tfon_Conference= 0x2C,/* On/Off Control */
628kHIDUsage_Tfon_RingEnable= 0x2D,/* On/Off Control */
629kHIDUsage_Tfon_Ring= 0x2E,/* Selector */
630kHIDUsage_Tfon_PhoneMute= 0x2F,/* On/Off Control */
631kHIDUsage_Tfon_CallerID= 0x30,/* Momentary Control */
632/* 0x31 - 0x4F Reserved */
633kHIDUsage_Tfon_SpeedDial= 0x50,/* One-Shot Control */
634kHIDUsage_Tfon_StoreNumber= 0x51,/* One-Shot Control */
635kHIDUsage_Tfon_RecallNumber= 0x52,/* One-Shot Control */
636kHIDUsage_Tfon_PhoneDirectory= 0x53,/* On/Off Control */
637/* 0x54 - 0x6F Reserved */
638kHIDUsage_Tfon_VoiceMail= 0x70,/* On/Off Control */
639kHIDUsage_Tfon_ScreenCalls= 0x71,/* On/Off Control */
640kHIDUsage_Tfon_DoNotDisturb= 0x72,/* On/Off Control */
641kHIDUsage_Tfon_Message= 0x73,/* One-Shot Control */
642kHIDUsage_Tfon_AnswerOnOrOff= 0x74,/* On/Off Control */
643/* 0x75 - 0x8F Reserved */
644kHIDUsage_Tfon_InsideDialTone= 0x90,/* Momentary Control */
645kHIDUsage_Tfon_OutsideDialTone= 0x91,/* Momentary Control */
646kHIDUsage_Tfon_InsideRingTone= 0x92,/* Momentary Control */
647kHIDUsage_Tfon_OutsideRingTone= 0x93,/* Momentary Control */
648kHIDUsage_Tfon_PriorityRingTone= 0x94,/* Momentary Control */
649kHIDUsage_Tfon_InsideRingback= 0x95,/* Momentary Control */
650kHIDUsage_Tfon_PriorityRingback= 0x96,/* Momentary Control */
651kHIDUsage_Tfon_LineBusyTone= 0x97,/* Momentary Control */
652kHIDUsage_Tfon_ReorderTone= 0x98,/* Momentary Control */
653kHIDUsage_Tfon_CallWaitingTone= 0x99,/* Momentary Control */
654kHIDUsage_Tfon_ConfirmationTone1= 0x9A,/* Momentary Control */
655kHIDUsage_Tfon_ConfirmationTone2= 0x9B,/* Momentary Control */
656kHIDUsage_Tfon_TonesOff= 0x9C,/* On/Off Control */
657kHIDUsage_Tfon_OutsideRingback= 0x9D,/* Momentary Control */
658/* 0x9E - 0xAF Reserved */
659kHIDUsage_Tfon_PhoneKey0= 0xB0,/* Selector/One-Shot Control */
660kHIDUsage_Tfon_PhoneKey1= 0xB1,/* Selector/One-Shot Control */
661kHIDUsage_Tfon_PhoneKey2= 0xB2,/* Selector/One-Shot Control */
662kHIDUsage_Tfon_PhoneKey3= 0xB3,/* Selector/One-Shot Control */
663kHIDUsage_Tfon_PhoneKey4= 0xB4,/* Selector/One-Shot Control */
664kHIDUsage_Tfon_PhoneKey5= 0xB5,/* Selector/One-Shot Control */
665kHIDUsage_Tfon_PhoneKey6= 0xB6,/* Selector/One-Shot Control */
666kHIDUsage_Tfon_PhoneKey7= 0xB7,/* Selector/One-Shot Control */
667kHIDUsage_Tfon_PhoneKey8= 0xB8,/* Selector/One-Shot Control */
668kHIDUsage_Tfon_PhoneKey9= 0xB9,/* Selector/One-Shot Control */
669kHIDUsage_Tfon_PhoneKeyStar= 0xBA,/* Selector/One-Shot Control */
670kHIDUsage_Tfon_PhoneKeyPound= 0xBB,/* Selector/One-Shot Control */
671kHIDUsage_Tfon_PhoneKeyA= 0xBC,/* Selector/One-Shot Control */
672kHIDUsage_Tfon_PhoneKeyB= 0xBD,/* Selector/One-Shot Control */
673kHIDUsage_Tfon_PhoneKeyC= 0xBE,/* Selector/One-Shot Control */
674kHIDUsage_Tfon_PhoneKeyD= 0xBF,/* Selector/One-Shot Control */
675/* 0xC0 - 0xFFFF Reserved */
676kHIDUsage_TFon_Reserved = 0xFFFF
677};
678
679/* Consumer Page (0x0C) */
680/* All controls on the Consumer page are application-specific. That is, they affect a specific device, not the system as a whole. */
681enum
682{
683kHIDUsage_Csmr_ConsumerControl= 0x01,/* Application Collection */
684kHIDUsage_Csmr_NumericKeyPad= 0x02,/* Named Array */
685kHIDUsage_Csmr_ProgrammableButtons= 0x03,/* Named Array */
686/* 0x03 - 0x1F Reserved */
687kHIDUsage_Csmr_Plus10= 0x20,/* One-Shot Control */
688kHIDUsage_Csmr_Plus100= 0x21,/* One-Shot Control */
689kHIDUsage_Csmr_AMOrPM= 0x22,/* One-Shot Control */
690/* 0x23 - 0x3F Reserved */
691kHIDUsage_Csmr_Power= 0x30,/* On/Off Control */
692kHIDUsage_Csmr_Reset= 0x31,/* One-Shot Control */
693kHIDUsage_Csmr_Sleep= 0x32,/* One-Shot Control */
694kHIDUsage_Csmr_SleepAfter= 0x33,/* One-Shot Control */
695kHIDUsage_Csmr_SleepMode= 0x34,/* Re-Trigger Control */
696kHIDUsage_Csmr_Illumination= 0x35,/* On/Off Control */
697kHIDUsage_Csmr_FunctionButtons= 0x36,/* Named Array */
698/* 0x37 - 0x3F Reserved */
699kHIDUsage_Csmr_Menu= 0x40,/* On/Off Control */
700kHIDUsage_Csmr_MenuPick= 0x41,/* One-Shot Control */
701kHIDUsage_Csmr_MenuUp= 0x42,/* One-Shot Control */
702kHIDUsage_Csmr_MenuDown= 0x43,/* One-Shot Control */
703kHIDUsage_Csmr_MenuLeft= 0x44,/* One-Shot Control */
704kHIDUsage_Csmr_MenuRight= 0x45,/* One-Shot Control */
705kHIDUsage_Csmr_MenuEscape= 0x46,/* One-Shot Control */
706kHIDUsage_Csmr_MenuValueIncrease= 0x47,/* One-Shot Control */
707kHIDUsage_Csmr_MenuValueDecrease= 0x48,/* One-Shot Control */
708/* 0x49 - 0x5F Reserved */
709kHIDUsage_Csmr_DataOnScreen= 0x60,/* On/Off Control */
710kHIDUsage_Csmr_ClosedCaption= 0x61,/* On/Off Control */
711kHIDUsage_Csmr_ClosedCaptionSelect= 0x62,/* Selector */
712kHIDUsage_Csmr_VCROrTV= 0x63,/* On/Off Control */
713kHIDUsage_Csmr_BroadcastMode= 0x64,/* One-Shot Control */
714kHIDUsage_Csmr_Snapshot= 0x65,/* One-Shot Control */
715kHIDUsage_Csmr_Still= 0x66,/* One-Shot Control */
716/* 0x67 - 0x7F Reserved */
717kHIDUsage_Csmr_Selection= 0x80,/* Named Array */
718kHIDUsage_Csmr_Assign= 0x81,/* Selector */
719kHIDUsage_Csmr_ModeStep= 0x82,/* One-Shot Control */
720kHIDUsage_Csmr_RecallLast= 0x83,/* One-Shot Control */
721kHIDUsage_Csmr_EnterChannel= 0x84,/* One-Shot Control */
722kHIDUsage_Csmr_OrderMovie= 0x85,/* One-Shot Control */
723kHIDUsage_Csmr_Channel= 0x86,/* Linear Control */
724kHIDUsage_Csmr_MediaSelection= 0x87,/* Selector */
725kHIDUsage_Csmr_MediaSelectComputer= 0x88,/* Selector */
726kHIDUsage_Csmr_MediaSelectTV= 0x89,/* Selector */
727kHIDUsage_Csmr_MediaSelectWWW= 0x8A,/* Selector */
728kHIDUsage_Csmr_MediaSelectDVD= 0x8B,/* Selector */
729kHIDUsage_Csmr_MediaSelectTelephone= 0x8C,/* Selector */
730kHIDUsage_Csmr_MediaSelectProgramGuide= 0x8D,/* Selector */
731kHIDUsage_Csmr_MediaSelectVideoPhone= 0x8E,/* Selector */
732kHIDUsage_Csmr_MediaSelectGames= 0x8F,/* Selector */
733kHIDUsage_Csmr_MediaSelectMessages= 0x90,/* Selector */
734kHIDUsage_Csmr_MediaSelectCD= 0x91,/* Selector */
735kHIDUsage_Csmr_MediaSelectVCR= 0x92,/* Selector */
736kHIDUsage_Csmr_MediaSelectTuner= 0x93,/* Selector */
737kHIDUsage_Csmr_Quit= 0x94,/* One-Shot Control */
738kHIDUsage_Csmr_Help= 0x95,/* On/Off Control */
739kHIDUsage_Csmr_MediaSelectTape= 0x96,/* Selector */
740kHIDUsage_Csmr_MediaSelectCable= 0x97,/* Selector */
741kHIDUsage_Csmr_MediaSelectSatellite= 0x98,/* Selector */
742kHIDUsage_Csmr_MediaSelectSecurity= 0x99,/* Selector */
743kHIDUsage_Csmr_MediaSelectHome= 0x9A,/* Selector */
744kHIDUsage_Csmr_MediaSelectCall= 0x9B,/* Selector */
745kHIDUsage_Csmr_ChannelIncrement= 0x9C,/* One-Shot Control */
746kHIDUsage_Csmr_ChannelDecrement= 0x9D,/* One-Shot Control */
747kHIDUsage_Csmr_Media= 0x9E,/* Selector */
748/* 0x9F Reserved */
749kHIDUsage_Csmr_VCRPlus= 0xA0,/* One-Shot Control */
750kHIDUsage_Csmr_Once= 0xA1,/* One-Shot Control */
751kHIDUsage_Csmr_Daily= 0xA2,/* One-Shot Control */
752kHIDUsage_Csmr_Weekly= 0xA3,/* One-Shot Control */
753kHIDUsage_Csmr_Monthly= 0xA4,/* One-Shot Control */
754/* 0xA5 - 0xAF Reserved */
755kHIDUsage_Csmr_Play= 0xB0,/* On/Off Control */
756kHIDUsage_Csmr_Pause= 0xB1,/* On/Off Control */
757kHIDUsage_Csmr_Record= 0xB2,/* On/Off Control */
758kHIDUsage_Csmr_FastForward= 0xB3,/* On/Off Control */
759kHIDUsage_Csmr_Rewind= 0xB4,/* On/Off Control */
760kHIDUsage_Csmr_ScanNextTrack= 0xB5,/* One-Shot Control */
761kHIDUsage_Csmr_ScanPreviousTrack= 0xB6,/* One-Shot Control */
762kHIDUsage_Csmr_Stop= 0xB7,/* One-Shot Control */
763kHIDUsage_Csmr_Eject= 0xB8,/* One-Shot Control */
764kHIDUsage_Csmr_RandomPlay= 0xB9,/* On/Off Control */
765kHIDUsage_Csmr_SelectDisc= 0xBA,/* Named Array */
766kHIDUsage_Csmr_EnterDisc= 0xBB,/* Momentary Control */
767kHIDUsage_Csmr_Repeat= 0xBC,/* One-Shot Control */
768kHIDUsage_Csmr_Tracking= 0xBD,/* Linear Control */
769kHIDUsage_Csmr_TrackNormal= 0xBE,/* One-Shot Control */
770kHIDUsage_Csmr_SlowTracking= 0xBF,/* Linear Control */
771kHIDUsage_Csmr_FrameForward= 0xC0,/* Re-Trigger Control */
772kHIDUsage_Csmr_FrameBack= 0xC1,/* Re-Trigger Control */
773kHIDUsage_Csmr_Mark= 0xC2,/* One-Shot Control */
774kHIDUsage_Csmr_ClearMark= 0xC3,/* One-Shot Control */
775kHIDUsage_Csmr_RepeatFromMark= 0xC4,/* On/Off Control */
776kHIDUsage_Csmr_ReturnToMark= 0xC5,/* One-Shot Control */
777kHIDUsage_Csmr_SearchMarkForward= 0xC6,/* One-Shot Control */
778kHIDUsage_Csmr_SearchMarkBackwards= 0xC7,/* One-Shot Control */
779kHIDUsage_Csmr_CounterReset= 0xC8,/* One-Shot Control */
780kHIDUsage_Csmr_ShowCounter= 0xC9,/* One-Shot Control */
781kHIDUsage_Csmr_TrackingIncrement= 0xCA,/* Re-Trigger Control */
782kHIDUsage_Csmr_TrackingDecrement= 0xCB,/* Re-Trigger Control */
783kHIDUsage_Csmr_StopOrEject= 0xCC,/* One-Shot Control */
784kHIDUsage_Csmr_PlayOrPause= 0xCD,/* One-Shot Control */
785kHIDUsage_Csmr_PlayOrSkip= 0xCE,/* One-Shot Control */
786/* 0xCF - 0xDF Reserved */
787kHIDUsage_Csmr_Volume= 0xE0,/* Linear Control */
788kHIDUsage_Csmr_Balance= 0xE1,/* Linear Control */
789kHIDUsage_Csmr_Mute= 0xE2,/* On/Off Control */
790kHIDUsage_Csmr_Bass= 0xE3,/* Linear Control */
791kHIDUsage_Csmr_Treble= 0xE4,/* Linear Control */
792kHIDUsage_Csmr_BassBoost= 0xE5,/* On/Off Control */
793kHIDUsage_Csmr_SurroundMode= 0xE6,/* One-Shot Control */
794kHIDUsage_Csmr_Loudness= 0xE7,/* On/Off Control */
795kHIDUsage_Csmr_MPX= 0xE8,/* On/Off Control */
796kHIDUsage_Csmr_VolumeIncrement= 0xE9,/* Re-Trigger Control */
797kHIDUsage_Csmr_VolumeDecrement= 0xEA,/* Re-Trigger Control */
798/* 0xEB - 0xEF Reserved */
799kHIDUsage_Csmr_Speed= 0xF0,/* Selector */
800kHIDUsage_Csmr_PlaybackSpeed= 0xF1,/* Named Array */
801kHIDUsage_Csmr_StandardPlay= 0xF2,/* Selector */
802kHIDUsage_Csmr_LongPlay= 0xF3,/* Selector */
803kHIDUsage_Csmr_ExtendedPlay= 0xF4,/* Selector */
804kHIDUsage_Csmr_Slow= 0xF5,/* One-Shot Control */
805/* 0xF6 - 0xFF Reserved */
806kHIDUsage_Csmr_FanEnable= 0x100,/* On/Off Control */
807kHIDUsage_Csmr_FanSpeed= 0x101,/* Linear Control */
808kHIDUsage_Csmr_LightEnable= 0x102,/* On/Off Control */
809kHIDUsage_Csmr_LightIlluminationLevel= 0x103,/* Linear Control */
810kHIDUsage_Csmr_ClimateControlEnable= 0x104,/* On/Off Control */
811kHIDUsage_Csmr_RoomTemperature= 0x105,/* Linear Control */
812kHIDUsage_Csmr_SecurityEnable= 0x106,/* On/Off Control */
813kHIDUsage_Csmr_FireAlarm= 0x107,/* One-Shot Control */
814kHIDUsage_Csmr_PoliceAlarm= 0x108,/* One-Shot Control */
815/* 0x109 - 0x14F Reserved */
816kHIDUsage_Csmr_BalanceRight= 0x150,/* Re-Trigger Control */
817kHIDUsage_Csmr_BalanceLeft= 0x151,/* Re-Trigger Control */
818kHIDUsage_Csmr_BassIncrement= 0x152,/* Re-Trigger Control */
819kHIDUsage_Csmr_BassDecrement= 0x153,/* Re-Trigger Control */
820kHIDUsage_Csmr_TrebleIncrement= 0x154,/* Re-Trigger Control */
821kHIDUsage_Csmr_TrebleDecrement= 0x155,/* Re-Trigger Control */
822/* 0x156 - 0x15F Reserved */
823kHIDUsage_Csmr_SpeakerSystem= 0x160,/* Logical Collection */
824kHIDUsage_Csmr_ChannelLeft= 0x161,/* Logical Collection */
825kHIDUsage_Csmr_ChannelRight= 0x162,/* Logical Collection */
826kHIDUsage_Csmr_ChannelCenter= 0x163,/* Logical Collection */
827kHIDUsage_Csmr_ChannelFront= 0x164,/* Logical Collection */
828kHIDUsage_Csmr_ChannelCenterFront= 0x165,/* Logical Collection */
829kHIDUsage_Csmr_ChannelSide= 0x166,/* Logical Collection */
830kHIDUsage_Csmr_ChannelSurround= 0x167,/* Logical Collection */
831kHIDUsage_Csmr_ChannelLowFrequencyEnhancement= 0x168,/* Logical Collection */
832kHIDUsage_Csmr_ChannelTop= 0x169,/* Logical Collection */
833kHIDUsage_Csmr_ChannelUnknown= 0x16A,/* Logical Collection */
834/* 0x16B - 0x16F Reserved */
835kHIDUsage_Csmr_SubChannel= 0x170,/* Linear Control */
836kHIDUsage_Csmr_SubChannelIncrement= 0x171,/* One-Shot Control */
837kHIDUsage_Csmr_SubChannelDecrement= 0x172,/* One-Shot Control */
838kHIDUsage_Csmr_AlternateAudioIncrement= 0x173,/* One-Shot Control */
839kHIDUsage_Csmr_AlternateAudioDecrement= 0x174,/* One-Shot Control */
840/* 0x175 - 0x17F Reserved */
841kHIDUsage_Csmr_ApplicationLaunchButtons= 0x180,/* Named Array */
842kHIDUsage_Csmr_ALLaunchButtonConfigurationTool= 0x181,/* Selector */
843kHIDUsage_Csmr_ALProgrammableButtonConfiguration= 0x182,/* Selector */
844kHIDUsage_Csmr_ALConsumerControlConfiguration= 0x183,/* Selector */
845kHIDUsage_Csmr_ALWordProcessor= 0x184,/* Selector */
846kHIDUsage_Csmr_ALTextEditor= 0x185,/* Selector */
847kHIDUsage_Csmr_ALSpreadsheet= 0x186,/* Selector */
848kHIDUsage_Csmr_ALGraphicsEditor= 0x187,/* Selector */
849kHIDUsage_Csmr_ALPresentationApp= 0x188,/* Selector */
850kHIDUsage_Csmr_ALDatabaseApp= 0x189,/* Selector */
851kHIDUsage_Csmr_ALEmailReader= 0x18A,/* Selector */
852kHIDUsage_Csmr_ALNewsreader= 0x18B,/* Selector */
853kHIDUsage_Csmr_ALVoicemail= 0x18C,/* Selector */
854kHIDUsage_Csmr_ALContactsOrAddressBook= 0x18D,/* Selector */
855kHIDUsage_Csmr_ALCalendarOrSchedule= 0x18E,/* Selector */
856kHIDUsage_Csmr_ALTaskOrProjectManager= 0x18F,/* Selector */
857kHIDUsage_Csmr_ALLogOrJournalOrTimecard= 0x190,/* Selector */
858kHIDUsage_Csmr_ALCheckbookOrFinance= 0x191,/* Selector */
859kHIDUsage_Csmr_ALCalculator= 0x192,/* Selector */
860kHIDUsage_Csmr_ALAOrVCaptureOrPlayback= 0x193,/* Selector */
861kHIDUsage_Csmr_ALLocalMachineBrowser= 0x194,/* Selector */
862kHIDUsage_Csmr_ALLANOrWANBrowser= 0x195,/* Selector */
863kHIDUsage_Csmr_ALInternetBrowser= 0x196,/* Selector */
864kHIDUsage_Csmr_ALRemoteNetworkingOrISPConnect= 0x197,/* Selector */
865kHIDUsage_Csmr_ALNetworkConference= 0x198,/* Selector */
866kHIDUsage_Csmr_ALNetworkChat= 0x199,/* Selector */
867kHIDUsage_Csmr_ALTelephonyOrDialer= 0x19A,/* Selector */
868kHIDUsage_Csmr_ALLogon= 0x19B,/* Selector */
869kHIDUsage_Csmr_ALLogoff= 0x19C,/* Selector */
870kHIDUsage_Csmr_ALLogonOrLogoff= 0x19D,/* Selector */
871kHIDUsage_Csmr_ALTerminalLockOrScreensaver= 0x19E,/* Selector */
872kHIDUsage_Csmr_ALControlPanel= 0x19F,/* Selector */
873kHIDUsage_Csmr_ALCommandLineProcessorOrRun= 0x1A0,/* Selector */
874kHIDUsage_Csmr_ALProcessOrTaskManager= 0x1A1,/* Selector */
875kHIDUsage_Csmr_AL= 0x1A2,/* Selector */
876kHIDUsage_Csmr_ALNextTaskOrApplication= 0x1A3,/* Selector */
877kHIDUsage_Csmr_ALPreviousTaskOrApplication= 0x1A4,/* Selector */
878kHIDUsage_Csmr_ALPreemptiveHaltTaskOrApplication= 0x1A5,/* Selector */
879 kHIDUsage_Csmr_ALIntegratedHelpCenter = 0x1A6, /* Selector */
880 kHIDUsage_Csmr_ALDocuments = 0x1A7, /* Selector */
881 kHIDUsage_Csmr_ALThesaurus = 0x1A8, /* Selector */
882 kHIDUsage_Csmr_ALDictionary = 0x1A9, /* Selector */
883 kHIDUsage_Csmr_ALDesktop = 0x1AA, /* Selector */
884 kHIDUsage_Csmr_ALSpellCheck = 0x1AB, /* Selector */
885 kHIDUsage_Csmr_ALGrammerCheck = 0x1AC, /* Selector */
886 kHIDUsage_Csmr_ALWirelessStatus = 0x1AD, /* Selector */
887 kHIDUsage_Csmr_ALKeyboardLayout = 0x1AE, /* Selector */
888 kHIDUsage_Csmr_ALVirusProtection = 0x1AF, /* Selector */
889 kHIDUsage_Csmr_ALEncryption = 0x1B0, /* Selector */
890 kHIDUsage_Csmr_ALScreenSaver = 0x1B1, /* Selector */
891 kHIDUsage_Csmr_ALAlarms = 0x1B2, /* Selector */
892 kHIDUsage_Csmr_ALClock = 0x1B3, /* Selector */
893 kHIDUsage_Csmr_ALFileBrowser = 0x1B4, /* Selector */
894 kHIDUsage_Csmr_ALPowerStatus = 0x1B5, /* Selector */
895/* 0x1A6 - 0x1FF Reserved */
896kHIDUsage_Csmr_GenericGUIApplicationControls= 0x200,/* Named Array */
897kHIDUsage_Csmr_ACNew= 0x201,/* Selector */
898kHIDUsage_Csmr_ACOpen= 0x202,/* Selector */
899kHIDUsage_Csmr_ACClose= 0x203,/* Selector */
900kHIDUsage_Csmr_ACExit= 0x204,/* Selector */
901kHIDUsage_Csmr_ACMaximize= 0x205,/* Selector */
902kHIDUsage_Csmr_ACMinimize= 0x206,/* Selector */
903kHIDUsage_Csmr_ACSave= 0x207,/* Selector */
904kHIDUsage_Csmr_ACPrint= 0x208,/* Selector */
905kHIDUsage_Csmr_ACProperties= 0x209,/* Selector */
906kHIDUsage_Csmr_ACUndo= 0x21A,/* Selector */
907kHIDUsage_Csmr_ACCopy= 0x21B,/* Selector */
908kHIDUsage_Csmr_ACCut= 0x21C,/* Selector */
909kHIDUsage_Csmr_ACPaste= 0x21D,/* Selector */
910kHIDUsage_Csmr_AC= 0x21E,/* Selector */
911kHIDUsage_Csmr_ACFind= 0x21F,/* Selector */
912kHIDUsage_Csmr_ACFindandReplace= 0x220,/* Selector */
913kHIDUsage_Csmr_ACSearch= 0x221,/* Selector */
914kHIDUsage_Csmr_ACGoTo= 0x222,/* Selector */
915kHIDUsage_Csmr_ACHome= 0x223,/* Selector */
916kHIDUsage_Csmr_ACBack= 0x224,/* Selector */
917kHIDUsage_Csmr_ACForward= 0x225,/* Selector */
918kHIDUsage_Csmr_ACStop= 0x226,/* Selector */
919kHIDUsage_Csmr_ACRefresh= 0x227,/* Selector */
920kHIDUsage_Csmr_ACPreviousLink= 0x228,/* Selector */
921kHIDUsage_Csmr_ACNextLink= 0x229,/* Selector */
922kHIDUsage_Csmr_ACBookmarks= 0x22A,/* Selector */
923kHIDUsage_Csmr_ACHistory= 0x22B,/* Selector */
924kHIDUsage_Csmr_ACSubscriptions= 0x22C,/* Selector */
925kHIDUsage_Csmr_ACZoomIn= 0x22D,/* Selector */
926kHIDUsage_Csmr_ACZoomOut= 0x22E,/* Selector */
927kHIDUsage_Csmr_ACZoom= 0x22F,/* Selector */
928kHIDUsage_Csmr_ACFullScreenView= 0x230,/* Selector */
929kHIDUsage_Csmr_ACNormalView= 0x231,/* Selector */
930kHIDUsage_Csmr_ACViewToggle= 0x232,/* Selector */
931kHIDUsage_Csmr_ACScrollUp= 0x233,/* Selector */
932kHIDUsage_Csmr_ACScrollDown= 0x234,/* Selector */
933kHIDUsage_Csmr_ACScroll= 0x235,/* Selector */
934kHIDUsage_Csmr_ACPanLeft= 0x236,/* Selector */
935kHIDUsage_Csmr_ACPanRight= 0x237,/* Selector */
936kHIDUsage_Csmr_ACPan= 0x238,/* Selector */
937kHIDUsage_Csmr_ACNewWindow= 0x239,/* Selector */
938kHIDUsage_Csmr_ACTileHorizontally= 0x23A,/* Selector */
939kHIDUsage_Csmr_ACTileVertically= 0x23B,/* Selector */
940kHIDUsage_Csmr_ACFormat= 0x23C,/* Selector */
941/* 0x23D - 0xFFFF Reserved */
942kHIDUsage_Csmr_Reserved = 0xFFFF
943};
944
945/* Physical Interface Device Page (0x0F) */
946/* This section provides detailed descriptions of the usages employed by Digitizer Devices. */
947enum
948{
949kHIDUsage_PID_PhysicalInterfaceDevice = 0x01,/* CA - A collection of PID usages */
950/* 0x02 - 0x1F Reserved */
951kHIDUsage_PID_Normal = 0x20,/* DV - A force applied perpendicular to the surface of an object */
952kHIDUsage_PID_SetEffectReport = 0x21,/* XXX */
953kHIDUsage_PID_EffectBlockIndex = 0x22,/* XXX */
954kHIDUsage_PID_ParamBlockOffset = 0x23,/* XXX */
955kHIDUsage_PID_ROM_Flag = 0x24,/* XXX */
956kHIDUsage_PID_EffectType = 0x25,/* XXX */
957kHIDUsage_PID_ET_ConstantForce = 0x26,/* XXX */
958kHIDUsage_PID_ET_Ramp = 0x27,/* XXX */
959kHIDUsage_PID_ET_CustomForceData = 0x28,/* XXX */
960/* 0x29 - 0x2F Reserved */
961kHIDUsage_PID_ET_Square = 0x30,/* XXX */
962kHIDUsage_PID_ET_Sine = 0x31,/* XXX */
963kHIDUsage_PID_ET_Triangle = 0x32,/* XXX */
964kHIDUsage_PID_ET_SawtoothUp = 0x33,/* XXX */
965kHIDUsage_PID_ET_SawtoothDown = 0x34,/* XXX */
966/* 0x35 - 0x3F Reserved */
967kHIDUsage_PID_ET_Spring = 0x40,/* XXX */
968kHIDUsage_PID_ET_Damper = 0x41,/* XXX */
969kHIDUsage_PID_ET_Inertia = 0x42,/* XXX */
970kHIDUsage_PID_ET_Friction = 0x43,/* XXX */
971/* 0x44 - 0x4F Reserved */
972kHIDUsage_PID_Duration = 0x50,/* XXX */
973kHIDUsage_PID_SamplePeriod = 0x51,/* XXX */
974kHIDUsage_PID_Gain = 0x52,/* XXX */
975kHIDUsage_PID_TriggerButton = 0x53,/* XXX */
976kHIDUsage_PID_TriggerRepeatInterval = 0x54,/* XXX */
977kHIDUsage_PID_AxesEnable = 0x55,/* XXX */
978kHIDUsage_PID_DirectionEnable = 0x56,/* XXX */
979kHIDUsage_PID_Direction = 0x57,/* XXX */
980kHIDUsage_PID_TypeSpecificBlockOffset = 0x58,/* XXX */
981kHIDUsage_PID_BlockType = 0x59,/* XXX */
982kHIDUsage_PID_SetEnvelopeReport = 0x5A,/* XXX */
983kHIDUsage_PID_AttackLevel = 0x5B,/* XXX */
984kHIDUsage_PID_AttackTime = 0x5C,/* XXX */
985kHIDUsage_PID_FadeLevel = 0x5D,/* XXX */
986kHIDUsage_PID_FadeTime = 0x5E,/* XXX */
987kHIDUsage_PID_SetConditionReport = 0x5F,/* XXX */
988
989kHIDUsage_PID_CP_Offset = 0x60,/* XXX */
990kHIDUsage_PID_PositiveCoefficient = 0x61,/* XXX */
991kHIDUsage_PID_NegativeCoefficient = 0x62,/* XXX */
992kHIDUsage_PID_PositiveSaturation = 0x63,/* XXX */
993kHIDUsage_PID_NegativeSaturation = 0x64,/* XXX */
994kHIDUsage_PID_DeadBand = 0x65,/* XXX */
995kHIDUsage_PID_DownloadForceSample = 0x66,/* XXX */
996kHIDUsage_PID_IsochCustomForceEnable = 0x67,/* XXX */
997kHIDUsage_PID_CustomForceDataReport = 0x68,/* XXX */
998kHIDUsage_PID_CustomForceData = 0x69,/* XXX */
999kHIDUsage_PID_CustomForceVendorDefinedData = 0x6A,/* XXX */
1000kHIDUsage_PID_SetCustomForceReport = 0x6B,/* XXX */
1001kHIDUsage_PID_CustomForceDataOffset = 0x6C,/* XXX */
1002kHIDUsage_PID_SampleCount = 0x6D,/* XXX */
1003kHIDUsage_PID_SetPeriodicReport = 0x6E,/* XXX */
1004kHIDUsage_PID_Offset = 0x6F,/* XXX */
1005
1006kHIDUsage_PID_Magnitude = 0x70,/* XXX */
1007kHIDUsage_PID_Phase = 0x71,/* XXX */
1008kHIDUsage_PID_Period = 0x72,/* XXX */
1009kHIDUsage_PID_SetConstantForceReport = 0x73,/* XXX */
1010kHIDUsage_PID_SetRampForceReport = 0x74,/* XXX */
1011kHIDUsage_PID_RampStart = 0x75,/* XXX */
1012kHIDUsage_PID_RampEnd = 0x76,/* XXX */
1013kHIDUsage_PID_EffectOperationReport = 0x77,/* XXX */
1014kHIDUsage_PID_EffectOperation = 0x78,/* XXX */
1015kHIDUsage_PID_OpEffectStart = 0x79,/* XXX */
1016kHIDUsage_PID_OpEffectStartSolo = 0x7A,/* XXX */
1017kHIDUsage_PID_OpEffectStop = 0x7B,/* XXX */
1018kHIDUsage_PID_LoopCount = 0x7C,/* XXX */
1019kHIDUsage_PID_DeviceGainReport = 0x7D,/* XXX */
1020kHIDUsage_PID_DeviceGain = 0x7E,/* XXX */
1021kHIDUsage_PID_PoolReport = 0x7F,/* XXX */
1022
1023kHIDUsage_PID_RAM_PoolSize = 0x80,/* XXX */
1024kHIDUsage_PID_ROM_PoolSize = 0x81,/* XXX */
1025kHIDUsage_PID_ROM_EffectBlockCount = 0x82,/* XXX */
1026kHIDUsage_PID_SimultaneousEffectsMax = 0x83,/* XXX */
1027kHIDUsage_PID_PoolAlignment = 0x84,/* XXX */
1028kHIDUsage_PID_PoolMoveReport = 0x85,/* XXX */
1029kHIDUsage_PID_MoveSource = 0x86,/* XXX */
1030kHIDUsage_PID_MoveDestination = 0x87,/* XXX */
1031kHIDUsage_PID_MoveLength = 0x88,/* XXX */
1032kHIDUsage_PID_BlockLoadReport = 0x89,/* XXX */
1033/* 0x8A Reserved */
1034kHIDUsage_PID_BlockLoadStatus = 0x8B,/* XXX */
1035kHIDUsage_PID_BlockLoadSuccess = 0x8C,/* XXX */
1036kHIDUsage_PID_BlockLoadFull = 0x8D,/* XXX */
1037kHIDUsage_PID_BlockLoadError = 0x8E,/* XXX */
1038kHIDUsage_PID_BlockHandle = 0x8F,/* XXX */
1039
1040kHIDUsage_PID_BlockFreeReport = 0x90,/* XXX */
1041kHIDUsage_PID_TypeSpecificBlockHandle = 0x91,/* XXX */
1042kHIDUsage_PID_StateReport = 0x92,/* XXX */
1043/* 0x93 Reserved */
1044kHIDUsage_PID_EffectPlaying = 0x94,/* XXX */
1045kHIDUsage_PID_DeviceControlReport = 0x95,/* XXX */
1046kHIDUsage_PID_DeviceControl = 0x96,/* XXX */
1047kHIDUsage_PID_DC_EnableActuators = 0x97,/* XXX */
1048kHIDUsage_PID_DC_DisableActuators = 0x98,/* XXX */
1049kHIDUsage_PID_DC_StopAllEffects = 0x99,/* XXX */
1050kHIDUsage_PID_DC_DeviceReset = 0x9A,/* XXX */
1051kHIDUsage_PID_DC_DevicePause = 0x9B,/* XXX */
1052kHIDUsage_PID_DC_DeviceContinue = 0x9C,/* XXX */
1053/* 0x9d - 0x9E Reserved */
1054kHIDUsage_PID_DevicePaused = 0x9F,/* XXX */
1055
1056kHIDUsage_PID_ActuatorsEnabled = 0xA0,/* XXX */
1057/* 0xA1 - 0xA3 Reserved */
1058kHIDUsage_PID_SafetySwitch = 0xA4,/* XXX */
1059kHIDUsage_PID_ActuatorOverrideSwitch = 0xA5,/* XXX */
1060kHIDUsage_PID_ActuatorPower = 0xA6,/* XXX */
1061kHIDUsage_PID_StartDelay = 0xA7,/* XXX */
1062kHIDUsage_PID_ParameterBlockSize = 0xA8,/* XXX */
1063kHIDUsage_PID_DeviceManagedPool = 0xA9,/* XXX */
1064kHIDUsage_PID_SharedParameterBlocks = 0xAA,/* XXX */
1065kHIDUsage_PID_CreateNewEffectReport = 0xAB,/* XXX */
1066kHIDUsage_PID_RAM_PoolAvailable = 0xAC,/* XXX */
1067/* 0xAD - 0xFFFF Reserved */
1068kHIDUsage_PID_Reserved = 0xFFFF
1069};
1070
1071/* Digitizer Page (0x0D) */
1072/* This section provides detailed descriptions of the usages employed by Digitizer Devices. */
1073enum
1074{
1075kHIDUsage_Dig_Digitizer= 0x01,/* Application Collection */
1076kHIDUsage_Dig_Pen= 0x02,/* Application Collection */
1077kHIDUsage_Dig_LightPen= 0x03,/* Application Collection */
1078kHIDUsage_Dig_TouchScreen= 0x04,/* Application Collection */
1079kHIDUsage_Dig_TouchPad= 0x05,/* Application Collection */
1080kHIDUsage_Dig_WhiteBoard= 0x06,/* Application Collection */
1081kHIDUsage_Dig_CoordinateMeasuringMachine= 0x07,/* Application Collection */
1082kHIDUsage_Dig_3DDigitizer= 0x08,/* Application Collection */
1083kHIDUsage_Dig_StereoPlotter= 0x09,/* Application Collection */
1084kHIDUsage_Dig_ArticulatedArm= 0x0A,/* Application Collection */
1085kHIDUsage_Dig_Armature= 0x0B,/* Application Collection */
1086kHIDUsage_Dig_MultiplePointDigitizer= 0x0C,/* Application Collection */
1087kHIDUsage_Dig_FreeSpaceWand= 0x0D,/* Application Collection */
1088/* 0x0E - 0x1F Reserved */
1089kHIDUsage_Dig_Stylus= 0x20,/* Logical Collection */
1090kHIDUsage_Dig_Puck= 0x21,/* Logical Collection */
1091kHIDUsage_Dig_Finger= 0x22,/* Logical Collection */
1092/* 0x23 - 0x2F Reserved */
1093kHIDUsage_Dig_TipPressure= 0x30,/* Dynamic Value */
1094kHIDUsage_Dig_BarrelPressure= 0x31,/* Dynamic Value */
1095kHIDUsage_Dig_InRange= 0x32,/* Momentary Control */
1096kHIDUsage_Dig_Touch= 0x33,/* Momentary Control */
1097kHIDUsage_Dig_Untouch= 0x34,/* One-Shot Control */
1098kHIDUsage_Dig_Tap= 0x35,/* One-Shot Control */
1099kHIDUsage_Dig_Quality= 0x36,/* Dynamic Value */
1100kHIDUsage_Dig_DataValid= 0x37,/* Momentary Control */
1101kHIDUsage_Dig_TransducerIndex= 0x38,/* Dynamic Value */
1102kHIDUsage_Dig_TabletFunctionKeys= 0x39,/* Logical Collection */
1103kHIDUsage_Dig_ProgramChangeKeys= 0x3A,/* Logical Collection */
1104kHIDUsage_Dig_BatteryStrength= 0x3B,/* Dynamic Value */
1105kHIDUsage_Dig_Invert= 0x3C,/* Momentary Control */
1106kHIDUsage_Dig_XTilt= 0x3D,/* Dynamic Value */
1107kHIDUsage_Dig_YTilt= 0x3E,/* Dynamic Value */
1108kHIDUsage_Dig_Azimuth= 0x3F,/* Dynamic Value */
1109kHIDUsage_Dig_Altitude= 0x40,/* Dynamic Value */
1110kHIDUsage_Dig_Twist= 0x41,/* Dynamic Value */
1111kHIDUsage_Dig_TipSwitch= 0x42,/* Momentary Control */
1112kHIDUsage_Dig_SecondaryTipSwitch= 0x43,/* Momentary Control */
1113kHIDUsage_Dig_BarrelSwitch= 0x44,/* Momentary Control */
1114kHIDUsage_Dig_Eraser= 0x45,/* Momentary Control */
1115kHIDUsage_Dig_TabletPick= 0x46,/* Momentary Control */
1116/* 0x47 - 0xFFFF Reserved */
1117kHIDUsage_Dig_Reserved = 0xFFFF
1118};
1119
1120/* AlphanumericDisplay Page (0x14) */
1121/* The Alphanumeric Display page is intended for use by simple alphanumeric displays that are used on consumer devices. */
1122enum
1123{
1124kHIDUsage_AD_AlphanumericDisplay= 0x01,/* Application Collection */
1125/* 0x02 - 0x1F Reserved */
1126kHIDUsage_AD_DisplayAttributesReport= 0x20,/* Logical Collection */
1127kHIDUsage_AD_ASCIICharacterSet= 0x21,/* Static Flag */
1128kHIDUsage_AD_DataReadBack= 0x22,/* Static Flag */
1129kHIDUsage_AD_FontReadBack= 0x23,/* Static Flag */
1130kHIDUsage_AD_DisplayControlReport= 0x24,/* Logical Collection */
1131kHIDUsage_AD_ClearDisplay= 0x25,/* Dynamic Flag */
1132kHIDUsage_AD_DisplayEnable= 0x26,/* Dynamic Flag */
1133kHIDUsage_AD_ScreenSaverDelay= 0x27,/* Static Value */
1134kHIDUsage_AD_ScreenSaverEnable= 0x28,/* Dynamic Flag */
1135kHIDUsage_AD_VerticalScroll= 0x29,/* Static Flag */
1136kHIDUsage_AD_HorizontalScroll= 0x2A,/* Static Flag */
1137kHIDUsage_AD_CharacterReport= 0x2B,/* Logical Collection */
1138kHIDUsage_AD_DisplayData= 0x2C,/* Dynamic Value */
1139kHIDUsage_AD_DisplayStatus= 0x2D,/* Logical Collection */
1140kHIDUsage_AD_StatNotReady= 0x2E,/* Selector */
1141kHIDUsage_AD_StatReady= 0x2F,/* Selector */
1142kHIDUsage_AD_ErrNotaloadablecharacter= 0x30,/* Selector */
1143kHIDUsage_AD_ErrFontdatacannotberead= 0x31,/* Selector */
1144kHIDUsage_AD_CursorPositionReport= 0x32,/* Logical Collection */
1145kHIDUsage_AD_Row= 0x33,/* Dynamic Value */
1146kHIDUsage_AD_Column= 0x34,/* Dynamic Value */
1147kHIDUsage_AD_Rows= 0x35,/* Static Value */
1148kHIDUsage_AD_Columns= 0x36,/* Static Value */
1149kHIDUsage_AD_CursorPixelPositioning= 0x37,/* Static Flag */
1150kHIDUsage_AD_CursorMode= 0x38,/* Dynamic Flag */
1151kHIDUsage_AD_CursorEnable= 0x39,/* Dynamic Flag */
1152kHIDUsage_AD_CursorBlink= 0x3A,/* Dynamic Flag */
1153kHIDUsage_AD_FontReport= 0x3B,/* Logical Collection */
1154kHIDUsage_AD_FontData= 0x3C,/* Buffered Byte */
1155kHIDUsage_AD_CharacterWidth= 0x3D,/* Static Value */
1156kHIDUsage_AD_CharacterHeight= 0x3E,/* Static Value */
1157kHIDUsage_AD_CharacterSpacingHorizontal= 0x3F,/* Static Value */
1158kHIDUsage_AD_CharacterSpacingVertical= 0x40,/* Static Value */
1159kHIDUsage_AD_UnicodeCharacterSet= 0x41,/* Static Flag */
1160/* 0x42 - 0xFFFF Reserved */
1161kHIDUsage_AD_Reserved = 0xFFFF
1162};
1163
1164/* Power Device Page (0x84) */
1165/* This section provides detailed descriptions of the usages employed by Power Devices. */
1166enum
1167{
1168
1169kHIDUsage_PD_Undefined = 0x00,/* Power Device Undefined Usage */
1170kHIDUsage_PD_iName = 0x01,/* CL- Power Device Name Index */
1171kHIDUsage_PD_PresentStatus = 0x02,/* CL- Power Device Present Status */
1172kHIDUsage_PD_ChangedStatus = 0x03,/* CA- Power Device Changed Status */
1173kHIDUsage_PD_UPS = 0x04,/* CA- Uninterruptible Power Supply */
1174kHIDUsage_PD_PowerSupply = 0x05,/* CA- Power Supply */
1175/* Reserved 0x06 - 0x0F */
1176kHIDUsage_PD_BatterySystem = 0x10,/* CP- Battery System power module */
1177kHIDUsage_PD_BatterySystemID = 0x11,/* SV IF- Battery System ID */
1178kHIDUsage_PD_Battery = 0x12,/* CP- Battery */
1179kHIDUsage_PD_BatteryID = 0x13,/* SV IF- Battery ID */
1180kHIDUsage_PD_Charger = 0x14,/* CP- Charger */
1181kHIDUsage_PD_ChargerID = 0x15,/* SV IF- Charger ID */
1182kHIDUsage_PD_PowerConverter = 0x16,/* CP- Power Converter power module */
1183kHIDUsage_PD_PowerConverterID = 0x17,/* SV IF- Power Converter ID */
1184kHIDUsage_PD_OutletSystem = 0x18,/* CP- Outlet System power module */
1185kHIDUsage_PD_OutletSystemID = 0x19,/* SV IF-Outlet System ID */
1186kHIDUsage_PD_Input = 0x1A,/* CP- Power Device Input */
1187kHIDUsage_PD_InputID = 0x1B,/* SV IF- Power Device Input ID */
1188kHIDUsage_PD_Output = 0x1C,/* CP- Power Device Output */
1189kHIDUsage_PD_OutputID = 0x1D,/* SV IF- Power Device Output ID */
1190kHIDUsage_PD_Flow = 0x1E,/* CP- Power Device Flow */
1191kHIDUsage_PD_FlowID = 0x1F,/* Item IF- Power Device Flow ID */
1192kHIDUsage_PD_Outlet = 0x20,/* CP- Power Device Outlet */
1193kHIDUsage_PD_OutletID = 0x21,/* SV IF- Power Device Outlet ID */
1194kHIDUsage_PD_Gang = 0x22,/* CL/CP- Power Device Gang */
1195kHIDUsage_PD_GangID = 0x23,/* SV IF- Power Device Gang ID */
1196kHIDUsage_PD_PowerSummary = 0x24,/* CL/CP- Power Device Power Summary */
1197kHIDUsage_PD_PowerSummaryID = 0x25,/* SV IF- Power Device Power Summary ID */
1198/* Reserved 0x26 - 0x2F */
1199kHIDUsage_PD_Voltage = 0x30,/* DV IF- Power Device Voltage */
1200kHIDUsage_PD_Current = 0x31,/* DV IF- Power Device Current */
1201kHIDUsage_PD_Frequency = 0x32,/* DV IF- Power Device Frequency */
1202kHIDUsage_PD_ApparentPower = 0x33,/* DV IF- Power Device Apparent Power */
1203kHIDUsage_PD_ActivePower = 0x34,/* DV IF- Power Device RMS Power */
1204kHIDUsage_PD_PercentLoad = 0x35,/* DV IF- Power Device Percent Load */
1205kHIDUsage_PD_Temperature = 0x36,/* DV IF- Power Device Temperature */
1206kHIDUsage_PD_Humidity = 0x37,/* DV IF- Power Device Humidity */
1207kHIDUsage_PD_BadCount = 0x38,/* DV IF- Power Device Bad Condition Count */
1208/* Reserved 0x39 - 0x3F */
1209kHIDUsage_PD_ConfigVoltage = 0x40,/* SV/DV F- Power Device Nominal Voltage */
1210kHIDUsage_PD_ConfigCurrent = 0x41,/* SV/DV F- Power Device Nominal Current */
1211kHIDUsage_PD_ConfigFrequency = 0x42,/* SV/DV F- Power Device Nominal Frequency */
1212kHIDUsage_PD_ConfigApparentPower = 0x43,/* SV/DV F- Power Device Nominal Apparent Power */
1213kHIDUsage_PD_ConfigActivePower = 0x44,/* SV/DV F- Power Device Nominal RMS Power */
1214kHIDUsage_PD_ConfigPercentLoad = 0x45,/* SV/DV F- Power Device Nominal Percent Load */
1215kHIDUsage_PD_ConfigTemperature = 0x46,/* SV/DV F- Power Device Nominal Temperature */
1216kHIDUsage_PD_ConfigHumidity = 0x47,/* SV/DV F- Power Device Nominal Humidity */
1217/* Reserved 0x48 - 0x4F */
1218kHIDUsage_PD_SwitchOnControl = 0x50,/* DV F- Power Device Switch On Control */
1219kHIDUsage_PD_SwitchOffControl = 0x51,/* DV F- Power Device Switch Off Control */
1220kHIDUsage_PD_ToggleControl = 0x52,/* DV F- Power Device Toogle Sequence Control */
1221kHIDUsage_PD_LowVoltageTransfer = 0x53,/* DV F- Power Device Min Transfer Voltage */
1222kHIDUsage_PD_HighVoltageTransfer = 0x54,/* DV F- Power Device Max Transfer Voltage */
1223kHIDUsage_PD_DelayBeforeReboot = 0x55,/* DV F- Power Device Delay Before Reboot */
1224kHIDUsage_PD_DelayBeforeStartup = 0x56,/* DV F- Power Device Delay Before Startup */
1225kHIDUsage_PD_DelayBeforeShutdown = 0x57,/* DV F- Power Device Delay Before Shutdown */
1226kHIDUsage_PD_Test = 0x58,/* DV F- Power Device Test Request/Result */
1227kHIDUsage_PD_ModuleReset = 0x59,/* DV F- Power Device Reset Request/Result */
1228kHIDUsage_PD_AudibleAlarmControl = 0x5A,/* DV F- Power Device Audible Alarm Control */
1229/* Reserved 0x5B - 0x5F */
1230kHIDUsage_PD_Present = 0x60,/* DV IOF- Power Device Present */
1231kHIDUsage_PD_Good = 0x61,/* DV IOF- Power Device Good */
1232kHIDUsage_PD_InternalFailure = 0x62,/* DV IOF- Power Device Internal Failure */
1233kHIDUsage_PD_VoltageOutOfRange = 0x63,/* DV IOF- Power Device Voltage Out Of Range */
1234kHIDUsage_PD_FrequencyOutOfRange = 0x64,/* DV IOF- Power Device Frequency Out Of Range */
1235kHIDUsage_PD_Overload = 0x65,/* DV IOF- Power Device Overload */
1236kHIDUsage_PD_OverCharged = 0x66,/* DV IOF- Power Device Over Charged */
1237kHIDUsage_PD_OverTemperature = 0x67,/* DV IOF- Power Device Over Temperature */
1238kHIDUsage_PD_ShutdownRequested = 0x68,/* DV IOF- Power Device Shutdown Requested */
1239kHIDUsage_PD_ShutdownImminent = 0x69,/* DV IOF- Power Device Shutdown Imminent */
1240/* Reserved 0x6A */
1241kHIDUsage_PD_SwitchOnOff = 0x6B,/* DV IOF- Power Device On/Off Switch Status */
1242kHIDUsage_PD_Switchable = 0x6C,/* DV IOF- Power Device Switchable */
1243kHIDUsage_PD_Used = 0x6D,/* DV IOF- Power Device Used */
1244kHIDUsage_PD_Boost = 0x6E,/* DV IOF- Power Device Boosted */
1245kHIDUsage_PD_Buck = 0x6F,/* DV IOF- Power Device Bucked */
1246kHIDUsage_PD_Initialized = 0x70,/* DV IOF- Power Device Initialized */
1247kHIDUsage_PD_Tested = 0x71,/* DV IOF- Power Device Tested */
1248kHIDUsage_PD_AwaitingPower = 0x72,/* DV IOF- Power Device Awaiting Power */
1249kHIDUsage_PD_CommunicationLost = 0x73,/* DV IOF- Power Device Communication Lost */
1250/* Reserved 0x74 - 0xFC */
1251kHIDUsage_PD_iManufacturer = 0xFD,/* SV F- Power Device Manufacturer String Index */
1252kHIDUsage_PD_iProduct = 0xFE,/* SV F- Power Device Product String Index */
1253kHIDUsage_PD_iserialNumber = 0xFF/* SV F- Power Device Serial Number String Index */
1254};
1255
1256/* Battery System Page (x85) */
1257/* This section provides detailed descriptions of the usages employed by Battery Systems. */
1258enum
1259{
1260kHIDUsage_BS_Undefined = 0x00,/* Battery System Undefined */
1261kHIDUsage_BS_SMBBatteryMode = 0x01,/* CL - SMB Mode */
1262kHIDUsage_BS_SMBBatteryStatus = 0x02,/* CL - SMB Status */
1263kHIDUsage_BS_SMBAlarmWarning = 0x03,/* CL - SMB Alarm Warning */
1264kHIDUsage_BS_SMBChargerMode = 0x04,/* CL - SMB Charger Mode */
1265kHIDUsage_BS_SMBChargerStatus = 0x05,/* CL - SMB Charger Status */
1266kHIDUsage_BS_SMBChargerSpecInfo = 0x06,/* CL - SMB Charger Extended Status */
1267kHIDUsage_BS_SMBSelectorState = 0x07,/* CL - SMB Selector State */
1268kHIDUsage_BS_SMBSelectorPresets = 0x08,/* CL - SMB Selector Presets */
1269kHIDUsage_BS_SMBSelectorInfo = 0x09,/* CL - SMB Selector Info */
1270/* Reserved 0x0A - 0x0F */
1271kHIDUsage_BS_OptionalMfgFunction1 = 0x10,/* DV F - Battery System Optional SMB Mfg Function 1 */
1272kHIDUsage_BS_OptionalMfgFunction2 = 0x11,/* DV F - Battery System Optional SMB Mfg Function 2 */
1273kHIDUsage_BS_OptionalMfgFunction3 = 0x12,/* DV F - Battery System Optional SMB Mfg Function 3 */
1274kHIDUsage_BS_OptionalMfgFunction4 = 0x13,/* DV F - Battery System Optional SMB Mfg Function 4 */
1275kHIDUsage_BS_OptionalMfgFunction5 = 0x14,/* DV F - Battery System Optional SMB Mfg Function 5 */
1276kHIDUsage_BS_ConnectionToSMBus = 0x15,/* DF F - Battery System Connection To System Management Bus */
1277kHIDUsage_BS_OutputConnection = 0x16,/* DF F - Battery System Output Connection Status */
1278kHIDUsage_BS_ChargerConnection = 0x17,/* DF F - Battery System Charger Connection */
1279kHIDUsage_BS_BatteryInsertion = 0x18,/* DF F - Battery System Battery Insertion */
1280kHIDUsage_BS_Usenext = 0x19,/* DF F - Battery System Use Next */
1281kHIDUsage_BS_OKToUse = 0x1A,/* DF F - Battery System OK To Use */
1282kHIDUsage_BS_BatterySupported = 0x1B,/* DF F - Battery System Battery Supported */
1283kHIDUsage_BS_SelectorRevision = 0x1C,/* DF F - Battery System Selector Revision */
1284kHIDUsage_BS_ChargingIndicator = 0x1D,/* DF F - Battery System Charging Indicator */
1285/* Reserved 0x1E - 0x27 */
1286kHIDUsage_BS_ManufacturerAccess = 0x28,/* DV F - Battery System Manufacturer Access */
1287kHIDUsage_BS_RemainingCapacityLimit = 0x29,/* DV F - Battery System Remaining Capacity Limit */
1288kHIDUsage_BS_RemainingTimeLimit = 0x2A,/* DV F - Battery System Remaining Time Limit */
1289kHIDUsage_BS_AtRate = 0x2B,/* DV F - Battery System At Rate... */
1290kHIDUsage_BS_CapacityMode = 0x2C,/* DV F - Battery System Capacity Mode */
1291kHIDUsage_BS_BroadcastToCharger = 0x2D,/* DV F - Battery System Broadcast To Charger */
1292kHIDUsage_BS_PrimaryBattery = 0x2E,/* DV F - Battery System Primary Battery */
1293kHIDUsage_BS_ChargeController = 0x2F,/* DV F - Battery System Charge Controller */
1294/* Reserved 0x30 - 0x3F */
1295kHIDUsage_BS_TerminateCharge = 0x40,/* DF IOF - Battery System Terminate Charge */
1296kHIDUsage_BS_TerminateDischarge = 0x41,/* DF IOF - Battery System Terminate Discharge */
1297kHIDUsage_BS_BelowRemainingCapacityLimit = 0x42, /* DF IOF - Battery System Below Remaining Capacity Limit */
1298kHIDUsage_BS_RemainingTimeLimitExpired = 0x43, /* DF IOF - Battery System Remaining Time Limit Expired */
1299kHIDUsage_BS_Charging = 0x44,/* DF IOF - Battery System Charging */
1300kHIDUsage_BS_Discharging = 0x45,/* DV IOF - Battery System Discharging */
1301kHIDUsage_BS_FullyCharged = 0x46,/* DF IOF - Battery System Fully Charged */
1302kHIDUsage_BS_FullyDischarged = 0x47,/* DV IOF - Battery System Fully Discharged */
1303kHIDUsage_BS_ConditioningFlag = 0x48,/* DV IOF - Battery System Conditioning Flag */
1304kHIDUsage_BS_AtRateOK = 0x49,/* DV IOF - Battery System At Rate OK */
1305kHIDUsage_BS_SMBErrorCode = 0x4A,/* DF IOF - Battery System SMB Error Code */
1306kHIDUsage_BS_NeedReplacement = 0x4B,/* DF IOF - Battery System Need Replacement */
1307/* Reserved 0x4C - 0x5F */
1308kHIDUsage_BS_AtRateTimeToFull = 0x60,/* DV IF - Battery System At Rate Time To Full */
1309kHIDUsage_BS_AtRateTimeToEmpty = 0x61,/* DV IF - Battery System At Rate Time To Empty */
1310kHIDUsage_BS_AverageCurrent = 0x62,/* DV IF - Battery System Average Current */
1311kHIDUsage_BS_Maxerror = 0x63,/* DV IF - Battery System Max Error */
1312kHIDUsage_BS_RelativeStateOfCharge = 0x64,/* DV IF - Battery System Relative State Of Charge */
1313kHIDUsage_BS_AbsoluteStateOfCharge = 0x65,/* DV IF - Battery System Absolute State Of Charge */
1314kHIDUsage_BS_RemainingCapacity = 0x66,/* DV IF - Battery System Remaining Capacity */
1315kHIDUsage_BS_FullChargeCapacity = 0x67,/* DV IF - Battery System Full Charge Capacity */
1316kHIDUsage_BS_RunTimeToEmpty = 0x68,/* DV IF - Battery System Run Time To Empty */
1317kHIDUsage_BS_AverageTimeToEmpty = 0x69,/* DV IF - Battery System Average Time To Empty */
1318kHIDUsage_BS_AverageTimeToFull = 0x6A,/* DV IF - Battery System Average Time To Full */
1319kHIDUsage_BS_CycleCount = 0x6B,/* DV IF - Battery System Cycle Count */
1320/* Reserved 0x6C - 0x7F */
1321kHIDUsage_BS_BattPackModelLevel = 0x80,/* SV F - Battery System Batt Pack Model Level */
1322kHIDUsage_BS_InternalChargeController = 0x81, /* SF F - Battery System Internal Charge Controller */
1323kHIDUsage_BS_PrimaryBatterySupport = 0x82,/* SF F - Battery System Primary Battery Support */
1324kHIDUsage_BS_DesignCapacity = 0x83,/* SV F - Battery System Design Capacity */
1325kHIDUsage_BS_SpecificationInfo = 0x84,/* SV F - Battery System Specification Info */
1326kHIDUsage_BS_ManufacturerDate = 0x85,/* SV F - Battery System Manufacturer Date */
1327kHIDUsage_BS_SerialNumber = 0x86,/* SV F - Battery System Serial Number */
1328kHIDUsage_BS_iManufacturerName = 0x87,/* SV F - Battery System Manufacturer Name Index */
1329kHIDUsage_BS_iDevicename = 0x88,/* SV F - Battery System Device Name Index */
1330kHIDUsage_BS_iDeviceChemistry = 0x89,/* SV F - Battery System Device Chemistry Index */
1331kHIDUsage_BS_ManufacturerData = 0x8A,/* SV F - Battery System Manufacturer Data */
1332kHIDUsage_BS_Rechargable = 0x8B,/* SV F - Battery System Rechargable */
1333kHIDUsage_BS_WarningCapacityLimit = 0x8C,/* SV F - Battery System Warning Capacity Limit */
1334kHIDUsage_BS_CapacityGranularity1 = 0x8D,/* SV F - Battery System Capacity Granularity 1 */
1335kHIDUsage_BS_CapacityGranularity2 = 0x8E,/* SV F - Battery System Capacity Granularity 2 */
1336kHIDUsage_BS_iOEMInformation = 0x8F,/* SV F - Battery System OEM Information Index */
1337/* Reserved 0x90 - 0xBF */
1338kHIDUsage_BS_InhibitCharge = 0xC0,/* DF IOF - Battery System Inhibit Charge */
1339kHIDUsage_BS_EnablePolling = 0xC1,/* DF IOF - Battery System Enable Polling */
1340kHIDUsage_BS_ResetToZero = 0xC2,/* DF IOF - Battery System Reset To Zero */
1341/* Reserved 0xC3 - 0xCF */
1342kHIDUsage_BS_ACPresent = 0xD0,/* DF IOF - Battery System AC Present */
1343kHIDUsage_BS_BatteryPresent = 0xD1,/* DF IOF - Battery System Battery Present */
1344kHIDUsage_BS_PowerFail = 0xD2,/* DF IOF - Battery System Power Fail */
1345kHIDUsage_BS_AlarmInhibited = 0xD3,/* DF IOF - Battery System Alarm Inhibited */
1346kHIDUsage_BS_ThermistorUnderRange = 0xD4,/* DF IOF - Battery System Thermistor Under Range */
1347kHIDUsage_BS_ThermistorHot = 0xD5,/* DF IOF - Battery System Thermistor Hot */
1348kHIDUsage_BS_ThermistorCold = 0xD6,/* DF IOF - Battery System Thermistor Cold */
1349kHIDUsage_BS_ThermistorOverRange = 0xD7,/* DF IOF - Battery System Thermistor Over Range */
1350kHIDUsage_BS_VoltageOutOfRange = 0xD8,/* DF IOF - Battery System Voltage Out Of Range */
1351kHIDUsage_BS_CurrentOutOfRange = 0xD9,/* DF IOF - Battery System Current Out Of Range */
1352kHIDUsage_BS_CurrentNotRegulated = 0xDA,/* DF IOF - Battery System Current Not Regulated */
1353kHIDUsage_BS_VoltageNotRegulated = 0xDB,/* DF IOF - Battery System Voltage Not Regulated */
1354kHIDUsage_BS_MasterMode = 0xDC,/* DF IOF - Battery System Master Mode */
1355/* Reserved 0xDD - 0xEF */
1356kHIDUsage_BS_ChargerSelectorSupport = 0xF0,/* SF F- Battery System Charger Support Selector */
1357kHIDUsage_BS_ChargerSpec = 0xF1,/* SF F- Battery System Charger Specification */
1358kHIDUsage_BS_Level2 = 0xF2,/* SF F- Battery System Charger Level 2 */
1359kHIDUsage_BS_Level3 = 0xF3/* SF F- Battery System Charger Level 3 */
1360/* Reserved 0xF2 - 0xFF */
1361};
1362
1363/* Bar Code Scanner Page (0x8C) */
1364/* This section provides detailed descriptions of the usages employed by Bar Code Scanner Devices. */
1365enum
1366{
1367 kHIDUsage_BCS_Undefined = 0x00, /* Bar Code Scanner Undefined Usage */
1368 kHIDUsage_BCS_BadgeReader = 0x01, /* CA - Bar Code Badge Reader */
1369 kHIDUsage_BCS_BarCodeScanner = 0x02, /* CA -Bar Code Scanner */
1370 kHIDUsage_BCS_DumbBarCodeScanner = 0x03, /* CA -Dumb Bar Code Scanner Usage */
1371 kHIDUsage_BCS_CordlessScannerBase = 0x04, /* CA -Cordless Base Usage */
1372 kHIDUsage_BCS_BarCodeScannerCradle = 0x05, /* CA -Bar Code Scanner Cradle Usage */
1373 /* Reserved 0x06 - 0x0F */
1374 kHIDUsage_BCS_AttributeReport = 0x10, /* CL - Attribute Report */
1375 kHIDUsage_BCS_SettingsReport = 0x11, /* CL - Settings Report */
1376 kHIDUsage_BCS_ScannedDataReport = 0x12, /* CL - Scanned Data Report */
1377 kHIDUsage_BCS_RawScannedDataReport = 0x13, /* CL - Raw Scanned Data Report */
1378 kHIDUsage_BCS_TriggerReport = 0x14, /* CL - Trigger Report */
1379 kHIDUsage_BCS_StatusReport = 0x15, /* CL - Status Report */
1380 kHIDUsage_BCS_UPC_EANControlReport = 0x16, /* CL - UPC/EAN Control Report */
1381 kHIDUsage_BCS_EAN2_3LabelControlReport = 0x17, /* CL - EAN 2/3 Label Control Report */
1382 kHIDUsage_BCS_Code39ControlReport = 0x18, /* CL - Code 39 Control Report */
1383 kHIDUsage_BCS_Interleaved2of5ControlReport = 0x19, /* CL - Interleaved 2 of 5 Control Report */
1384 kHIDUsage_BCS_Standard2of5ControlReport = 0x1A, /* CL - Standard 2 of 5 Control Report */
1385 kHIDUsage_BCS_MSIPlesseyControlReport = 0x1B, /* CL - MSI Plessey Control Report */
1386 kHIDUsage_BCS_CodabarControlReport = 0x1C, /* CL - Codabar Control Report */
1387 kHIDUsage_BCS_Code128ControlReport = 0x1D, /* CL - Code 128 Control Report */
1388 kHIDUsage_BCS_Misc1DControlReport = 0x1E, /* CL - Misc 1D Control Report */
1389 kHIDUsage_BCS_2DControlReport = 0x1F, /* CL - 2D Control Report */
1390 /* Reserved 0x20 - 0x2F */
1391 kHIDUsage_BCS_Aiming_PointerMide = 0x30, /* SF - Aiming Pointer Mode */
1392 kHIDUsage_BCS_BarCodePresentSensor = 0x31, /* SF - Bar Code Present Sensor */
1393 kHIDUsage_BCS_Class1ALaser = 0x32, /* SF - Class 1A Laser */
1394 kHIDUsage_BCS_Class2Laser = 0x33, /* SF - Class 2 Laser */
1395 kHIDUsage_BCS_HeaterPresent = 0x34, /* SF - Heater Present */
1396 kHIDUsage_BCS_ContactScanner = 0x35, /* SF - Contact Scanner */
1397 kHIDUsage_BCS_ElectronicArticleSurveillanceNotification = 0x36, /* SF - Electronic Article Surveillance Notification */
1398 kHIDUsage_BCS_ConstantElectronicArticleSurveillance = 0x37, /* SF - Constant Electronic Article Surveillance */
1399 kHIDUsage_BCS_ErrorIndication = 0x38, /* SF - Error Indication */
1400 kHIDUsage_BCS_FixedBeeper = 0x39, /* SF - Fixed Beeper */
1401 kHIDUsage_BCS_GoodDecodeIndication = 0x3A, /* SF - Good Decode Indication */
1402 kHIDUsage_BCS_HandsFreeScanning = 0x3B, /* SF - Hands Free Scanning */
1403 kHIDUsage_BCS_IntrinsicallySafe = 0x3C, /* SF - Intrinsically Safe */
1404 kHIDUsage_BCS_KlasseEinsLaser = 0x3D, /* SF - Klasse Eins Laser */
1405 kHIDUsage_BCS_LongRangeScanner = 0x3E, /* SF - Long Range Scanner */
1406 kHIDUsage_BCS_MirrorSpeedControl = 0x3F, /* SF - Mirror Speed Control */
1407 kHIDUsage_BCS_NotOnFileIndication = 0x40, /* SF - Not On File Indication */
1408 kHIDUsage_BCS_ProgrammableBeeper = 0x41, /* SF - Programmable Beeper */
1409 kHIDUsage_BCS_Triggerless = 0x42, /* SF - Triggerless */
1410 kHIDUsage_BCS_Wand = 0x43, /* SF - Wand */
1411 kHIDUsage_BCS_WaterResistant = 0x44, /* SF - Water Resistant */
1412 kHIDUsage_BCS_MultiRangeScanner = 0x45, /* SF - Multi-Range Scanner */
1413 kHIDUsage_BCS_ProximitySensor = 0x46, /* SF - Proximity Sensor */
1414 /* Reserved 0x47 - 0x4C */
1415 kHIDUsage_BCS_FragmentDecoding = 0x4D, /* DF - Fragment Decoding */
1416 kHIDUsage_BCS_ScannerReadConfidence = 0x4E, /* DV - Scanner Read Confidence */
1417 kHIDUsage_BCS_DataPrefix = 0x4F, /* NAry - Data Prefix */
1418 kHIDUsage_BCS_PrefixAIMI = 0x50, /* SEL - Prefix AIMI */
1419 kHIDUsage_BCS_PrefixNone = 0x51, /* SEL - Prefix None */
1420 kHIDUsage_BCS_PrefixProprietary = 0x52, /* SEL - Prefix Proprietary */
1421 /* Reserved 0x53 - 0x54 */
1422 kHIDUsage_BCS_ActiveTime = 0x55, /* DV - Active Time */
1423 kHIDUsage_BCS_AimingLaserPattern = 0x56, /* DF - Aiming Laser Pattern */
1424 kHIDUsage_BCS_BarCodePresent = 0x57, /* OOC - Bar Code Present */
1425 kHIDUsage_BCS_BeeperState = 0x58, /* OOC - Beeper State */
1426 kHIDUsage_BCS_LaserOnTime = 0x59, /* DV - Laser On Time */
1427 kHIDUsage_BCS_LaserState = 0x5A, /* OOC - Laser State */
1428 kHIDUsage_BCS_LockoutTime = 0x5B, /* DV - Lockout Time */
1429 kHIDUsage_BCS_MotorState = 0x5C, /* OOC - Motor State */
1430 kHIDUsage_BCS_MotorTimeout = 0x5D, /* DV - Motor Timeout */
1431 kHIDUsage_BCS_PowerOnResetScanner = 0x5E, /* DF - Power On Reset Scanner */
1432 kHIDUsage_BCS_PreventReadOfBarcodes = 0x5F, /* DF - Prevent Read of Barcodes */
1433 kHIDUsage_BCS_InitiateBarcodeRead = 0x60, /* DF - Initiate Barcode Read */
1434 kHIDUsage_BCS_TriggerState = 0x61, /* DF - Trigger State */
1435 kHIDUsage_BCS_TriggerMode = 0x62, /* NAry - Trigger Mode */
1436 kHIDUsage_BCS_TriggerModeBlinkingLaserOn = 0x63, /* SEL - Trigger Mode Blinking Laser On */
1437 kHIDUsage_BCS_TriggerModeContinuousLaserOn = 0x64, /* SEL - Trigger Mode Continuous Laser On */
1438 kHIDUsage_BCS_TriggerModeLaserOnWhilePulled = 0x65, /* SEL - Trigger Mode Laser on while Pulled */
1439 kHIDUsage_BCS_TriggerModeLaserStaysOnAfterTriggerRelease = 0x66, /* SEL - Trigger Mode Laser stays on after Trigger Release */
1440 /* Reserved 0x67 - 0x6C */
1441 kHIDUsage_BCS_CommitParametersToNVM = 0x6D, /* DF - Commit Parameters to NVM */
1442 kHIDUsage_BCS_ParameterScanning = 0x6E, /* DF - Parameter Scanning */
1443 kHIDUsage_BCS_ParametersChanged = 0x6F, /* OOC - Parameters Changed */
1444 kHIDUsage_BCS_SetParameterDefaultValues = 0x70, /* DF - Set parameter default values */
1445 /* Reserved 0x71 - 0x74 */
1446 kHIDUsage_BCS_ScannerInCradle = 0x75, /* OOC - Scanner In Cradle */
1447 kHIDUsage_BCS_ScannerInRange = 0x76, /* OOC - Scanner In Range */
1448 /* Reserved 0x77 - 0x79 */
1449 kHIDUsage_BCS_AimDuration = 0x7A, /* DV - Aim Duration */
1450 kHIDUsage_BCS_GoodReadLampDuration = 0x7B, /* DV - Good Read Lamp Duration */
1451 kHIDUsage_BCS_GoodReadLampIntensity = 0x7C, /* DV - Good Read Lamp Intensity */
1452 kHIDUsage_BCS_GoodReadLED = 0x7D, /* DF - Good Read LED */
1453 kHIDUsage_BCS_GoodReadToneFrequency = 0x7E, /* DV - Good Read Tone Frequency*/
1454 kHIDUsage_BCS_GoodReadToneLength = 0x7F, /* DV - Good Read Tone Length */
1455 kHIDUsage_BCS_GoodReadToneVolume = 0x80, /* DV - Good Read Tone Volume */
1456 /* Reserved 0x81 */
1457 kHIDUsage_BCS_NoReadMessage = 0x82, /* DF - No Read Message */
1458 kHIDUsage_BCS_NotOnFileVolume = 0x83, /* DV - Not on File Volume */
1459 kHIDUsage_BCS_PowerupBeep = 0x84, /* DF - Powerup Beep */
1460 kHIDUsage_BCS_SoundErrorBeep = 0x85, /* DF - Sound Error Beep */
1461 kHIDUsage_BCS_SoundGoodReadBeep = 0x86, /* DF - Sound Good Read Beep */
1462 kHIDUsage_BCS_SoundNotOnFileBeep = 0x87, /* DF - Sound Not On File Beep */
1463 kHIDUsage_BCS_GoodReadWhenToWrite = 0x88, /* NArry - Good Read When to Write */
1464 kHIDUsage_BCS_GRWTIAfterDecode = 0x89, /* SEL - GRWTI After Decode */
1465 kHIDUsage_BCS_GRWTIBeep_LampAfterTransmit = 0x8A, /* SEL - GRWTI Beep/Lamp after transmit */
1466 kHIDUsage_BCS_GRWTINoBeep_LampUseAtAll = 0x8B, /* SEL - GRWTI No Beep/Lamp at all */
1467 /* Reserved 0x8C - 0x90 */
1468 kHIDUsage_BCS_BooklandEAN = 0x91, /* DF - Bookland EAN */
1469 kHIDUsage_BCS_ConvertEAN8To13Type = 0x92, /* DF - Convert EAN 8 to 13 Type */
1470 kHIDUsage_BCS_ConvertUPCAToEAN_13 = 0x93, /* DF - Convert UPC A to EAN-13 */
1471 kHIDUsage_BCS_ConvertUPC_EToA = 0x94, /* DF - Convert UPC-E to A */
1472 kHIDUsage_BCS_EAN_13 = 0x95, /* DF - EAN-13 */
1473 kHIDUsage_BCS_EAN_8 = 0x96, /* DF - EAN_8 */
1474 kHIDUsage_BCS_EAN_99_128_Mandatory = 0x97, /* DF - EAN-99 128_Mandatory */
1475 kHIDUsage_BCS_EAN_99_P5_128_Optional = 0x98, /* DF - EAN-99 P5/128_Optional */
1476 /* Reserved 0x99 */
1477 kHIDUsage_BCS_UPC_EAN = 0x9A, /* DF - UPC/EAN */
1478 kHIDUsage_BCS_UPC_EANCouponCode = 0x9B, /* DF - UPC/EAN Coupon Code */
1479 kHIDUsage_BCS_UPC_EANPeriodicals = 0x9C, /* DV - UPC/EAN Periodicals */
1480 kHIDUsage_BCS_UPC_A = 0x9D, /* DF - UPC-A */
1481 kHIDUsage_BCS_UPC_AWith128Mandatory = 0x9E, /* DF - UPC-A with 128 Mandatory */
1482 kHIDUsage_BCS_UPC_AWith128Optical = 0x9F, /* DF - UPC-A with 128 Optical */
1483 kHIDUsage_BCS_UPC_AWithP5Optional = 0xA0, /* DF - UPC-A with P5 Optional */
1484 kHIDUsage_BCS_UPC_E = 0xA1, /* DF - UPC-E */
1485 kHIDUsage_BCS_UPC_E1 = 0xA2, /* DF - UPC-E1 */
1486 /* Reserved 0xA3 - 0xA8 */
1487 kHIDUsage_BCS_Periodical = 0xA9, /* NArry - Periodical */
1488 kHIDUsage_BCS_PeriodicalAutoDiscriminatePlus2 = 0xAA,/* SEL - Periodical Auto-Discriminate + 2 */
1489 kHIDUsage_BCS_PeriodicalOnlyDecodeWithPlus2 = 0xAB, /* SEL - Periodical Only Decode with + 2 */
1490 kHIDUsage_BCS_PeriodicalIgnorePlus2 = 0xAC, /* SEL - Periodical Ignore + 2 */
1491 kHIDUsage_BCS_PeriodicalAutoDiscriminatePlus5 = 0xAD,/* SEL - Periodical Auto-Discriminate + 5 */
1492 kHIDUsage_BCS_PeriodicalOnlyDecodeWithPlus5 = 0xAE, /* SEL - Periodical Only Decode with + 5 */
1493 kHIDUsage_BCS_PeriodicalIgnorePlus5 = 0xAF, /* SEL - Periodical Ignore + 5 */
1494 kHIDUsage_BCS_Check = 0xB0, /* NArry - Check */
1495 kHIDUsage_BCS_CheckDisablePrice = 0xB1, /* SEL - Check Disable Price */
1496 kHIDUsage_BCS_CheckEnable4DigitPrice = 0xB2, /* SEL - Check Enable 4 digit Price */
1497 kHIDUsage_BCS_CheckEnable5DigitPrice = 0xB3, /* SEL - Check Enable 5 digit Price */
1498 kHIDUsage_BCS_CheckEnableEuropean4DigitPrice = 0xB4,/* SEL - Check Enable European 4 digit Price */
1499 kHIDUsage_BCS_CheckEnableEuropean5DigitPrice = 0xB5,/* SEL - Check Enable European 5 digit Price */
1500 /* Reserved 0xB6 */
1501 kHIDUsage_BCS_EANTwoLabel = 0xB7, /* DF - EAN Two Label */
1502 kHIDUsage_BCS_EANThreeLabel = 0xB8, /* DF - EAN Thread Label */
1503 kHIDUsage_BCS_EAN8FlagDigit1 = 0xB9, /* DV - EAN 8 Flag Digit 1 */
1504 kHIDUsage_BCS_EAN8FlagDigit2 = 0xBA, /* DV - EAN 8 Flag Digit 2 */
1505 kHIDUsage_BCS_EAN8FlagDigit3 = 0xBB, /* DV - EAN 8 Flag Digit 3 */
1506 kHIDUsage_BCS_EAN13FlagDigit1 = 0xBC, /* DV - EAN 13 Flag Digit 1 */
1507 kHIDUsage_BCS_EAN13FlagDigit2 = 0xBD, /* DV - EAN 13 Flag Digit 2 */
1508 kHIDUsage_BCS_EAN13FlagDigit3 = 0xBE, /* DV - EAN 13 Flag Digit 3 */
1509 kHIDUsage_BCS_AddEAN2_3LabelDefinition = 0xBF, /* DF - Add EAN 2/3 Label Definition */
1510 kHIDUsage_BCS_ClearAllEAN2_3LabelDefinitions = 0xC0,/* DF - Clear all EAN 2/3 Label Definitions */
1511 /* Reserved 0xC1 - 0xC2 */
1512 kHIDUsage_BCS_Codabar = 0xC3, /* DF - Codabar */
1513 kHIDUsage_BCS_Code128 = 0xC4, /* DF - Code 128 */
1514 /* Reserved 0xC5 - 0xC6 */
1515 kHIDUsage_BCS_Code39 = 0xC7, /* DF - Code 39 */
1516 kHIDUsage_BCS_Code93 = 0xC8, /* DF - Code 93 */
1517 kHIDUsage_BCS_FullASCIIConversion = 0xC9, /* DF - Full ASCII Conversion */
1518 kHIDUsage_BCS_Interleaved2of5 = 0xCA, /* DF - Interleaved 2 of 5 */
1519 kHIDUsage_BCS_ItalianPharmacyCode = 0xCB, /* DF - Italian Pharmacy Code */
1520 kHIDUsage_BCS_MSI_Plessey = 0xCC, /* DF - MSI/Plessey */
1521 kHIDUsage_BCS_Standard2of5IATA = 0xCD, /* DF - Standard 2 of 5 IATA */
1522 kHIDUsage_BCS_Standard2of5 = 0xCE, /* DF - Standard 2 of 5 */
1523 /* Reserved 0xCF - 0xD2 */
1524 kHIDUsage_BCS_TransmitStart_Stop = 0xD3, /* DF - Transmit Start/Stop */
1525 kHIDUsage_BCS_TriOptic = 0xD4, /* DF - Tri-Optic */
1526 kHIDUsage_BCS_UCC_EAN_128 = 0xD5, /* DF - UCC/EAN-128 */
1527 kHIDUsage_BCS_CheckDigit = 0xD6, /* NArry - Check Digit */
1528 kHIDUsage_BCS_CheckDigitDisable = 0xD7, /* SEL - Check Digit Disable */
1529 kHIDUsage_BCS_CheckDigitEnableInterleaved2of5OPCC = 0xD8, /* SEL - Check Digit Enable Interleaved 2 of 5 OPCC */
1530 kHIDUsage_BCS_CheckDigitEnableInterleaved2of5USS = 0xD9, /* SEL - Check Digit Enable Interleaved 2 of 5 USS */
1531 kHIDUsage_BCS_CheckDigitEnableStandard2of5OPCC = 0xD8, /* SEL - Check Digit Enable Standard 2 of 5 OPCC */
1532 kHIDUsage_BCS_CheckDigitEnableStandard2of5USS = 0xD9, /* SEL - Check Digit Enable Standard 2 of 5 USS */
1533 kHIDUsage_BCS_CheckDigitEnableOneMSIPlessey = 0xDC, /* SEL - Check Digit Enable One MSI Plessey */
1534 kHIDUsage_BCS_CheckDigitEnableTwoMSIPlessey = 0xDD, /* SEL - Check Digit Enable Two MSI Plessey */
1535 kHIDUsage_BCS_CheckDigitCodabarEnable = 0xDE, /* SEL - Check Digit Codabar Enable */
1536 kHIDUsage_BCS_CheckDigitCode99Enable = 0xDF, /* SEL - Check Digit Code 99 Enable */
1537 /* Reserved 0xE0 - 0xEF */
1538 kHIDUsage_BCS_TransmitCheckDigit = 0xF0, /* NArry - Transmit Check Digit */
1539 kHIDUsage_BCS_DisableCheckDigitTransmit = 0xF1, /* SEL - Disable Check Digit Transmit */
1540 kHIDUsage_BCS_EnableCheckDigitTransmit = 0xF2, /* SEL - Enable Check Digit Transmit */
1541 /* Reserved 0xF3 - 0xFA */
1542 kHIDUsage_BCS_SymbologyIdentifier1 = 0xFB, /* DV - Symbology Identifier 1 */
1543 kHIDUsage_BCS_SymbologyIdentifier2 = 0xFC, /* DV - Symbology Identifier 2 */
1544 kHIDUsage_BCS_SymbologyIdentifier3 = 0xFD, /* DV - Symbology Identifier 3 */
1545 kHIDUsage_BCS_DecodedData = 0xFE, /* DV - Decoded Data */
1546 kHIDUsage_BCS_DecodeDataContinued = 0xFF, /* DF - Decode Data Continued */
1547 kHIDUsage_BCS_BarSpaceData = 0x100, /* DV - Bar Space Data */
1548 kHIDUsage_BCS_ScannerDataAccuracy = 0x101, /* DV - Scanner Data Accuracy */
1549 kHIDUsage_BCS_RawDataPolarity = 0x102, /* NArry - Raw Data Polarity */
1550 kHIDUsage_BCS_PolarityInvertedBarCode = 0x103, /* SEL - Polarity Inverted Bar Code */
1551 kHIDUsage_BCS_PolarityNormalBarCode = 0x103, /* SEL - Polarity Normal Bar Code */
1552 /* Reserved 0x105 */
1553 kHIDUsage_BCS_MinimumLengthToDecode = 0x106, /* DV - Minimum Length to Decode */
1554 kHIDUsage_BCS_MaximumLengthToDecode = 0x107, /* DV - Maximum Length to Decode */
1555 kHIDUsage_BCS_FirstDiscreteLengthToDecode = 0x108, /* DV - First Discrete Length to Decode */
1556 kHIDUsage_BCS_SecondDiscreteLengthToDecode = 0x109, /* DV - Second Discrete Length to Decode */
1557 kHIDUsage_BCS_DataLengthMethod = 0x10A, /* NArry - Data Length Method */
1558 kHIDUsage_BCS_DLMethodReadAny = 0x10B, /* DF - DL Method Read any */
1559 kHIDUsage_BCS_DLMethodCheckInRange = 0x10C, /* DF - DL Method Check in Range */
1560 kHIDUsage_BCS_DLMethodCheckForDiscrete = 0x10D, /* DF - DL Method Check for Discrete */
1561 /* Reserved 0x10E - 0x10F */
1562 kHIDUsage_BCS_AztecCode = 0x110, /* DF - Aztec Code */
1563 kHIDUsage_BCS_BC412 = 0x111, /* DF - BC412 */
1564 kHIDUsage_BCS_ChannelCode = 0x112, /* DF - Channel Code */
1565 kHIDUsage_BCS_Code16 = 0x113, /* DF - Code 16 */
1566 kHIDUsage_BCS_Code32 = 0x114, /* DF - Code 32 */
1567 kHIDUsage_BCS_Code49 = 0x115, /* DF - Code 49 */
1568 kHIDUsage_BCS_CodeOne = 0x116, /* DF - Code One */
1569 kHIDUsage_BCS_Colorcode = 0x117, /* DF - Colorcode */
1570 kHIDUsage_BCS_DataMatrix = 0x118, /* DF - Data Matrix */
1571 kHIDUsage_BCS_MaxiCode = 0x119, /* DF - MaxiCode */
1572 kHIDUsage_BCS_MicroPDF = 0x11A, /* DF - MicroPDF */
1573 kHIDUsage_BCS_PDF_417 = 0x11B, /* DF - PDF-417 */
1574 kHIDUsage_BCS_PosiCode = 0x11C, /* DF - PosiCode */
1575 kHIDUsage_BCS_QRCode = 0x11D, /* DF - QR Code */
1576 kHIDUsage_BCS_SuperCode = 0x11E, /* DF - SuperCode */
1577 kHIDUsage_BCS_UltraCode = 0x11F, /* DF - UltraCode */
1578 kHIDUsage_BCS_USB_5_SlugCode = 0x120, /* DF - USD-5 (Slug Code) */
1579 kHIDUsage_BCS_VeriCode = 0x121 /* DF - VeriCode */
1580 /* Reserved 0x122 - 0xFFFF */
1581};
1582
1583/* Weighing Devices Page (0x8D) */
1584/* This section provides detailed descriptions of the usages employed by Weighing Devices. */
1585enum
1586{
1587 kHIDUsage_WD_Undefined = 0x00, /* Weighing Device Undefined Usage */
1588 kHIDUsage_WD_WeighingDevice = 0x01, /* CA - Weighing Device */
1589 /* Reserved 0x02 - 0x1F */
1590 kHIDUsage_WD_ScaleScaleDevice = 0x20, /* CL - Scale Device */
1591 kHIDUsage_WD_ScaleScaleClassIMetricCL = 0x21, /* CL - Scale Class I Metric */
1592 kHIDUsage_WD_ScaleScaleClassIMetric = 0x22, /* SEL - Scale Class I Metric */
1593 kHIDUsage_WD_ScaleScaleClassIIMetric = 0x23, /* SEL - Scale Class II Metric */
1594 kHIDUsage_WD_ScaleScaleClassIIIMetric = 0x24, /* SEL - Scale Class III Metric */
1595 kHIDUsage_WD_ScaleScaleClassIIILMetric = 0x25, /* SEL - Scale Class IIIL Metric */
1596 kHIDUsage_WD_ScaleScaleClassIVMetric = 0x26, /* SEL - Scale Class IV Metric */
1597 kHIDUsage_WD_ScaleScaleClassIIIEnglish = 0x27, /* SEL - Scale Class III English */
1598 kHIDUsage_WD_ScaleScaleClassIIILEnglish = 0x28, /* SEL - Scale Class IIIL English */
1599 kHIDUsage_WD_ScaleScaleClassIVEnglish = 0x29, /* SEL - Scale Class IV English */
1600 kHIDUsage_WD_ScaleScaleClassGeneric = 0x2A, /* SEL - Scale Class Generic */
1601 /* Reserved 0x2B - 0x2F */
1602 kHIDUsage_WD_ScaleAtrributeReport = 0x30, /* CL - Scale Attribute Report */
1603 kHIDUsage_WD_ScaleControlReport = 0x31, /* CL - Scale Control Report */
1604 kHIDUsage_WD_ScaleDataReport = 0x32, /* CL - Scale Data Report */
1605 kHIDUsage_WD_ScaleStatusReport = 0x33, /* CL - Scale Status Report */
1606 kHIDUsage_WD_ScaleWeightLimitReport = 0x34, /* CL - Scale Weight Limit Report */
1607 kHIDUsage_WD_ScaleStatisticsReport = 0x35, /* CL - Scale Statistics Report */
1608 /* Reserved 0x36 - 0x3F */
1609 kHIDUsage_WD_DataWeight = 0x40, /* DV - Data Weight */
1610 kHIDUsage_WD_DataScaling = 0x41, /* DV - Data Scaling */
1611 /* Reserved 0x42 - 0x4F */
1612 kHIDUsage_WD_WeightUnit = 0x50, /* CL - Weight Unit */
1613 kHIDUsage_WD_WeightUnitMilligram = 0x51, /* SEL - Weight Unit Milligram */
1614 kHIDUsage_WD_WeightUnitGram = 0x52, /* SEL - Weight Unit Gram */
1615 kHIDUsage_WD_WeightUnitKilogram = 0x53, /* SEL - Weight Unit Kilogram */
1616 kHIDUsage_WD_WeightUnitCarats = 0x54, /* SEL - Weight Unit Carats */
1617 kHIDUsage_WD_WeightUnitTaels = 0x55, /* SEL - Weight Unit Taels */
1618 kHIDUsage_WD_WeightUnitGrains = 0x56, /* SEL - Weight Unit Grains */
1619 kHIDUsage_WD_WeightUnitPennyweights = 0x57, /* SEL - Weight Unit Pennyweights */
1620 kHIDUsage_WD_WeightUnitMetricTon = 0x58, /* SEL - Weight Unit Metric Ton */
1621 kHIDUsage_WD_WeightUnitAvoirTon = 0x59, /* SEL - Weight Unit Avoir Ton */
1622 kHIDUsage_WD_WeightUnitTroyOunce = 0x5A, /* SEL - Weight Unit Troy Ounce */
1623 kHIDUsage_WD_WeightUnitOunce = 0x5B, /* SEL - Weight Unit Ounce */
1624 kHIDUsage_WD_WeightUnitPound = 0x5C, /* SEL - Weight Unit Pound */
1625 /* Reserved 0x5D - 0x5F */
1626 kHIDUsage_WD_CalibrationCount = 0x60, /* DV - Calibration Count */
1627 kHIDUsage_WD_RezeroCount = 0x61, /* DV - Re-Zero Count*/
1628 /* Reserved 0x62 - 0x6F */
1629 kHIDUsage_WD_ScaleStatus = 0x70, /* CL - Scale Status */
1630 kHIDUsage_WD_ScaleStatusFault = 0x71, /* SEL - Scale Status Fault */
1631 kHIDUsage_WD_ScaleStatusStableAtZero = 0x72, /* SEL - Scale Status Stable at Center of Zero */
1632 kHIDUsage_WD_ScaleStatusInMotion = 0x73, /* SEL - Scale Status In Motion */
1633 kHIDUsage_WD_ScaleStatusWeightStable = 0x74, /* SEL - Scale Status Weight Stable */
1634 kHIDUsage_WD_ScaleStatusUnderZero = 0x75, /* SEL - Scale Status Under Zero */
1635 kHIDUsage_WD_ScaleStatusOverWeightLimit = 0x76, /* SEL - Scale Status Over Weight Limit */
1636 kHIDUsage_WD_ScaleStatusRequiresCalibration = 0x77, /* SEL - Scale Status Requires Calibration */
1637 kHIDUsage_WD_ScaleStatusRequiresRezeroing = 0x78, /* SEL - Scale Status Requires Re-zeroing */
1638 /* Reserved 0x79 - 0x7F */
1639 kHIDUsage_WD_ZeroScale = 0x80, /* OOC - Zero Scale */
1640 kHIDUsage_WD_EnforcedZeroReturn = 0x81 /* OOC - Enforced Zero Return */
1641 /* Reserved 0x82 - 0xFFFF */
1642
1643};
1644
1645/* Magnetic Stripe Reader Page (0x8E) */
1646/* This section provides detailed descriptions of the usages employed by Magnetic Stripe Reader Devices. */
1647enum
1648{
1649 kHIDUsage_MSR_Undefined = 0x00, /* MagStripe Undefined Usage */
1650 kHIDUsage_MSR_DeviceReadOnly = 0x01, /* CA - MSR Device Read-Only */
1651 /* Reserved 0x02 - 0x10 */
1652 kHIDUsage_MSR_Track1Length = 0x11, /* SF, DF, SEL - Track 1 Length */
1653 kHIDUsage_MSR_Track2Length = 0x12, /* SF, DF, SEL - Track 2 Length */
1654 kHIDUsage_MSR_Track3Length = 0x13, /* SF, DF, SEL - Track 3 Length */
1655 kHIDUsage_MSR_TrackJISLength = 0x14, /* SF, DF, SEL - Track JIS Length */
1656 /* Reserved 0x15 - 0x1F */
1657 kHIDUsage_MSR_TrackData = 0x20, /* SF, DF, SEL - Track Data */
1658 kHIDUsage_MSR_Track1Data = 0x21, /* SF, DF, SEL - Track 1 Data */
1659 kHIDUsage_MSR_Track2Data = 0x22, /* SF, DF, SEL - Track 2 Data */
1660 kHIDUsage_MSR_Track3Data = 0x23, /* SF, DF, SEL - Track 3 Data */
1661 kHIDUsage_MSR_TrackJISData = 0x24 /* SF, DF, SEL - Track JIS Data */
1662 /* Reserved 0x25 - 0xFFFF */
1663};
1664
1665#endif /* _IOHIDUSAGETABLES_H */
1666

Archive Download this file

Revision: 296