1 /*
2  * hidusage.h
3  *
4  * HID usages
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  *   Created by Casper S. Hornstrup <[email protected]>
10  *   Extended by Kai Tietz
11  *
12  * THIS SOFTWARE IS NOT COPYRIGHTED
13  *
14  * This source code is offered for use in the public domain. You may
15  * use, modify or distribute it freely.
16  *
17  * This code is distributed in the hope that it will be useful but
18  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
19  * DISCLAIMED. This includes but is not limited to warranties of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21  *
22  */
23 
24 #include <winapifamily.h>
25 
26 #ifndef __HIDUSAGE_H__
27 #define __HIDUSAGE_H__
28 
29 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
30 
31 #define HID_USAGE_PAGE_UNDEFINED ((USAGE) 0x00)
32 #define HID_USAGE_PAGE_GENERIC ((USAGE) 0x01)
33 #define HID_USAGE_PAGE_SIMULATION ((USAGE) 0x02)
34 #define HID_USAGE_PAGE_VR ((USAGE) 0x03)
35 #define HID_USAGE_PAGE_SPORT ((USAGE) 0x04)
36 #define HID_USAGE_PAGE_GAME ((USAGE) 0x05)
37 #define HID_USAGE_PAGE_KEYBOARD ((USAGE) 0x07)
38 #define HID_USAGE_PAGE_LED ((USAGE) 0x08)
39 #define HID_USAGE_PAGE_BUTTON ((USAGE) 0x09)
40 #define HID_USAGE_PAGE_ORDINAL ((USAGE) 0x0a)
41 #define HID_USAGE_PAGE_TELEPHONY ((USAGE) 0x0b)
42 #define HID_USAGE_PAGE_CONSUMER ((USAGE) 0x0c)
43 #define HID_USAGE_PAGE_DIGITIZER ((USAGE) 0x0d)
44 #define HID_USAGE_PAGE_UNICODE ((USAGE) 0x10)
45 #define HID_USAGE_PAGE_ALPHANUMERIC ((USAGE) 0x14)
46 #define HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE ((USAGE) 0xfff3)
47 
48 #define HID_USAGE_GENERIC_POINTER ((USAGE) 0x01)
49 #define HID_USAGE_GENERIC_MOUSE ((USAGE) 0x02)
50 #define HID_USAGE_GENERIC_JOYSTICK ((USAGE) 0x04)
51 #define HID_USAGE_GENERIC_GAMEPAD ((USAGE) 0x05)
52 #define HID_USAGE_GENERIC_KEYBOARD ((USAGE) 0x06)
53 #define HID_USAGE_GENERIC_KEYPAD ((USAGE) 0x07)
54 #define HID_USAGE_GENERIC_SYSTEM_CTL ((USAGE) 0x80)
55 
56 #define HID_USAGE_GENERIC_X ((USAGE) 0x30)
57 #define HID_USAGE_GENERIC_Y ((USAGE) 0x31)
58 #define HID_USAGE_GENERIC_Z ((USAGE) 0x32)
59 #define HID_USAGE_GENERIC_RX ((USAGE) 0x33)
60 #define HID_USAGE_GENERIC_RY ((USAGE) 0x34)
61 #define HID_USAGE_GENERIC_RZ ((USAGE) 0x35)
62 #define HID_USAGE_GENERIC_SLIDER ((USAGE) 0x36)
63 #define HID_USAGE_GENERIC_DIAL ((USAGE) 0x37)
64 #define HID_USAGE_GENERIC_WHEEL ((USAGE) 0x38)
65 #define HID_USAGE_GENERIC_HATSWITCH ((USAGE) 0x39)
66 #define HID_USAGE_GENERIC_COUNTED_BUFFER ((USAGE) 0x3a)
67 #define HID_USAGE_GENERIC_BYTE_COUNT ((USAGE) 0x3b)
68 #define HID_USAGE_GENERIC_MOTION_WAKEUP ((USAGE) 0x3c)
69 #define HID_USAGE_GENERIC_VX ((USAGE) 0x40)
70 #define HID_USAGE_GENERIC_VY ((USAGE) 0x41)
71 #define HID_USAGE_GENERIC_VZ ((USAGE) 0x42)
72 #define HID_USAGE_GENERIC_VBRX ((USAGE) 0x43)
73 #define HID_USAGE_GENERIC_VBRY ((USAGE) 0x44)
74 #define HID_USAGE_GENERIC_VBRZ ((USAGE) 0x45)
75 #define HID_USAGE_GENERIC_VNO ((USAGE) 0x46)
76 #define HID_USAGE_GENERIC_SYSCTL_POWER ((USAGE) 0x81)
77 #define HID_USAGE_GENERIC_SYSCTL_SLEEP ((USAGE) 0x82)
78 #define HID_USAGE_GENERIC_SYSCTL_WAKE ((USAGE) 0x83)
79 #define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU ((USAGE) 0x84)
80 #define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU ((USAGE) 0x85)
81 #define HID_USAGE_GENERIC_SYSCTL_APP_MENU ((USAGE) 0x86)
82 #define HID_USAGE_GENERIC_SYSCTL_HELP_MENU ((USAGE) 0x87)
83 #define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT ((USAGE) 0x88)
84 #define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT ((USAGE) 0x89)
85 #define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT ((USAGE) 0x8a)
86 #define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT ((USAGE) 0x8b)
87 #define HID_USAGE_GENERIC_SYSCTL_MENU_UP ((USAGE) 0x8c)
88 #define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN ((USAGE) 0x8d)
89 #define HID_USAGE_SIMULATION_RUDDER ((USAGE) 0xba)
90 #define HID_USAGE_SIMULATION_THROTTLE ((USAGE) 0xbb)
91 
92 #define HID_USAGE_KEYBOARD_NOEVENT ((USAGE) 0x00)
93 #define HID_USAGE_KEYBOARD_ROLLOVER ((USAGE) 0x01)
94 #define HID_USAGE_KEYBOARD_POSTFAIL ((USAGE) 0x02)
95 #define HID_USAGE_KEYBOARD_UNDEFINED ((USAGE) 0x03)
96 #define HID_USAGE_KEYBOARD_aA ((USAGE) 0x04)
97 #define HID_USAGE_KEYBOARD_zZ ((USAGE) 0x1d)
98 #define HID_USAGE_KEYBOARD_ONE ((USAGE) 0x1e)
99 #define HID_USAGE_KEYBOARD_ZERO ((USAGE) 0x27)
100 #define HID_USAGE_KEYBOARD_LCTRL ((USAGE) 0xe0)
101 #define HID_USAGE_KEYBOARD_LSHFT ((USAGE) 0xe1)
102 #define HID_USAGE_KEYBOARD_LALT ((USAGE) 0xe2)
103 #define HID_USAGE_KEYBOARD_LGUI ((USAGE) 0xe3)
104 #define HID_USAGE_KEYBOARD_RCTRL ((USAGE) 0xe4)
105 #define HID_USAGE_KEYBOARD_RSHFT ((USAGE) 0xe5)
106 #define HID_USAGE_KEYBOARD_RALT ((USAGE) 0xe6)
107 #define HID_USAGE_KEYBOARD_RGUI ((USAGE) 0xe7)
108 #define HID_USAGE_KEYBOARD_SCROLL_LOCK ((USAGE) 0x47)
109 #define HID_USAGE_KEYBOARD_NUM_LOCK ((USAGE) 0x53)
110 #define HID_USAGE_KEYBOARD_CAPS_LOCK ((USAGE) 0x39)
111 
112 #define HID_USAGE_KEYBOARD_F1 ((USAGE) 0x3a)
113 #define HID_USAGE_KEYBOARD_F12 ((USAGE) 0x45)
114 
115 #define HID_USAGE_KEYBOARD_RETURN ((USAGE) 0x28)
116 #define HID_USAGE_KEYBOARD_ESCAPE ((USAGE) 0x29)
117 #define HID_USAGE_KEYBOARD_DELETE ((USAGE) 0x2a)
118 #define HID_USAGE_KEYBOARD_PRINT_SCREEN ((USAGE) 0x46)
119 
120 #define HID_USAGE_LED_NUM_LOCK ((USAGE) 0x01)
121 #define HID_USAGE_LED_CAPS_LOCK ((USAGE) 0x02)
122 #define HID_USAGE_LED_SCROLL_LOCK ((USAGE) 0x03)
123 #define HID_USAGE_LED_COMPOSE ((USAGE) 0x04)
124 #define HID_USAGE_LED_KANA ((USAGE) 0x05)
125 #define HID_USAGE_LED_POWER ((USAGE) 0x06)
126 #define HID_USAGE_LED_SHIFT ((USAGE) 0x07)
127 #define HID_USAGE_LED_DO_NOT_DISTURB ((USAGE) 0x08)
128 #define HID_USAGE_LED_MUTE ((USAGE) 0x09)
129 #define HID_USAGE_LED_TONE_ENABLE ((USAGE) 0x0a)
130 #define HID_USAGE_LED_HIGH_CUT_FILTER ((USAGE) 0x0b)
131 #define HID_USAGE_LED_LOW_CUT_FILTER ((USAGE) 0x0c)
132 #define HID_USAGE_LED_EQUALIZER_ENABLE ((USAGE) 0x0d)
133 #define HID_USAGE_LED_SOUND_FIELD_ON ((USAGE) 0x0e)
134 #define HID_USAGE_LED_SURROUND_FIELD_ON ((USAGE) 0x0f)
135 #define HID_USAGE_LED_REPEAT ((USAGE) 0x10)
136 #define HID_USAGE_LED_STEREO ((USAGE) 0x11)
137 #define HID_USAGE_LED_SAMPLING_RATE_DETECT ((USAGE) 0x12)
138 #define HID_USAGE_LED_SPINNING ((USAGE) 0x13)
139 #define HID_USAGE_LED_CAV ((USAGE) 0x14)
140 #define HID_USAGE_LED_CLV ((USAGE) 0x15)
141 #define HID_USAGE_LED_RECORDING_FORMAT_DET ((USAGE) 0x16)
142 #define HID_USAGE_LED_OFF_HOOK ((USAGE) 0x17)
143 #define HID_USAGE_LED_RING ((USAGE) 0x18)
144 #define HID_USAGE_LED_MESSAGE_WAITING ((USAGE) 0x19)
145 #define HID_USAGE_LED_DATA_MODE ((USAGE) 0x1a)
146 #define HID_USAGE_LED_BATTERY_OPERATION ((USAGE) 0x1b)
147 #define HID_USAGE_LED_BATTERY_OK ((USAGE) 0x1c)
148 #define HID_USAGE_LED_BATTERY_LOW ((USAGE) 0x1d)
149 #define HID_USAGE_LED_SPEAKER ((USAGE) 0x1e)
150 #define HID_USAGE_LED_HEAD_SET ((USAGE) 0x1f)
151 #define HID_USAGE_LED_HOLD ((USAGE) 0x20)
152 #define HID_USAGE_LED_MICROPHONE ((USAGE) 0x21)
153 #define HID_USAGE_LED_COVERAGE ((USAGE) 0x22)
154 #define HID_USAGE_LED_NIGHT_MODE ((USAGE) 0x23)
155 #define HID_USAGE_LED_SEND_CALLS ((USAGE) 0x24)
156 #define HID_USAGE_LED_CALL_PICKUP ((USAGE) 0x25)
157 #define HID_USAGE_LED_CONFERENCE ((USAGE) 0x26)
158 #define HID_USAGE_LED_STAND_BY ((USAGE) 0x27)
159 #define HID_USAGE_LED_CAMERA_ON ((USAGE) 0x28)
160 #define HID_USAGE_LED_CAMERA_OFF ((USAGE) 0x29)
161 #define HID_USAGE_LED_ON_LINE ((USAGE) 0x2a)
162 #define HID_USAGE_LED_OFF_LINE ((USAGE) 0x2b)
163 #define HID_USAGE_LED_BUSY ((USAGE) 0x2c)
164 #define HID_USAGE_LED_READY ((USAGE) 0x2d)
165 #define HID_USAGE_LED_PAPER_OUT ((USAGE) 0x2e)
166 #define HID_USAGE_LED_PAPER_JAM ((USAGE) 0x2f)
167 #define HID_USAGE_LED_REMOTE ((USAGE) 0x30)
168 #define HID_USAGE_LED_FORWARD ((USAGE) 0x31)
169 #define HID_USAGE_LED_REVERSE ((USAGE) 0x32)
170 #define HID_USAGE_LED_STOP ((USAGE) 0x33)
171 #define HID_USAGE_LED_REWIND ((USAGE) 0x34)
172 #define HID_USAGE_LED_FAST_FORWARD ((USAGE) 0x35)
173 #define HID_USAGE_LED_PLAY ((USAGE) 0x36)
174 #define HID_USAGE_LED_PAUSE ((USAGE) 0x37)
175 #define HID_USAGE_LED_RECORD ((USAGE) 0x38)
176 #define HID_USAGE_LED_ERROR ((USAGE) 0x39)
177 #define HID_USAGE_LED_SELECTED_INDICATOR ((USAGE) 0x3a)
178 #define HID_USAGE_LED_IN_USE_INDICATOR ((USAGE) 0x3b)
179 #define HID_USAGE_LED_MULTI_MODE_INDICATOR ((USAGE) 0x3c)
180 #define HID_USAGE_LED_INDICATOR_ON ((USAGE) 0x3d)
181 #define HID_USAGE_LED_INDICATOR_FLASH ((USAGE) 0x3e)
182 #define HID_USAGE_LED_INDICATOR_SLOW_BLINK ((USAGE) 0x3f)
183 #define HID_USAGE_LED_INDICATOR_FAST_BLINK ((USAGE) 0x40)
184 #define HID_USAGE_LED_INDICATOR_OFF ((USAGE) 0x41)
185 #define HID_USAGE_LED_FLASH_ON_TIME ((USAGE) 0x42)
186 #define HID_USAGE_LED_SLOW_BLINK_ON_TIME ((USAGE) 0x43)
187 #define HID_USAGE_LED_SLOW_BLINK_OFF_TIME ((USAGE) 0x44)
188 #define HID_USAGE_LED_FAST_BLINK_ON_TIME ((USAGE) 0x45)
189 #define HID_USAGE_LED_FAST_BLINK_OFF_TIME ((USAGE) 0x46)
190 #define HID_USAGE_LED_INDICATOR_COLOR ((USAGE) 0x47)
191 #define HID_USAGE_LED_RED ((USAGE) 0x48)
192 #define HID_USAGE_LED_GREEN ((USAGE) 0x49)
193 #define HID_USAGE_LED_AMBER ((USAGE) 0x4a)
194 #define HID_USAGE_LED_GENERIC_INDICATOR ((USAGE) 0x4b)
195 
196 #define HID_USAGE_TELEPHONY_PHONE ((USAGE) 0x01)
197 #define HID_USAGE_TELEPHONY_ANSWERING_MACHINE ((USAGE) 0x02)
198 #define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS ((USAGE) 0x03)
199 #define HID_USAGE_TELEPHONY_HANDSET ((USAGE) 0x04)
200 #define HID_USAGE_TELEPHONY_HEADSET ((USAGE) 0x05)
201 #define HID_USAGE_TELEPHONY_KEYPAD ((USAGE) 0x06)
202 #define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON ((USAGE) 0x07)
203 #define HID_USAGE_TELEPHONY_REDIAL ((USAGE) 0x24)
204 #define HID_USAGE_TELEPHONY_TRANSFER ((USAGE) 0x25)
205 #define HID_USAGE_TELEPHONY_DROP ((USAGE) 0x26)
206 #define HID_USAGE_TELEPHONY_LINE ((USAGE) 0x2a)
207 #define HID_USAGE_TELEPHONY_RING_ENABLE ((USAGE) 0x2d)
208 #define HID_USAGE_TELEPHONY_SEND ((USAGE) 0x31)
209 #define HID_USAGE_TELEPHONY_KEYPAD_0 ((USAGE) 0xb0)
210 #define HID_USAGE_TELEPHONY_KEYPAD_D ((USAGE) 0xbf)
211 #define HID_USAGE_TELEPHONY_HOST_AVAILABLE ((USAGE) 0xf1)
212 
213 #define HID_USAGE_MS_BTH_HF_DIALNUMBER ((USAGE) 0x21)
214 #define HID_USAGE_MS_BTH_HF_DIALMEMORY ((USAGE) 0x22)
215 
216 #define HID_USAGE_CONSUMERCTRL ((USAGE)0x01)
217 
218 #define HID_USAGE_DIGITIZER_PEN ((USAGE)0x02)
219 #define HID_USAGE_DIGITIZER_IN_RANGE ((USAGE)0x32)
220 #define HID_USAGE_DIGITIZER_TIP_SWITCH ((USAGE)0x42)
221 #define HID_USAGE_DIGITIZER_BARREL_SWITCH ((USAGE)0x44)
222 
223 typedef USHORT USAGE,*PUSAGE;
224 
225 #endif
226 #endif
227