Skip to content

Commit 8281636

Browse files
added consumer codes
1 parent bded6d7 commit 8281636

1 file changed

Lines changed: 138 additions & 0 deletions

File tree

src/hid_utils.h

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,142 @@
126126
#define HID_KEY_SHIFT_RIGHT 0xE5
127127
#define HID_KEY_ALT_RIGHT 0xE6
128128
#define HID_KEY_GUI_RIGHT 0xE7
129+
129130
#endif
131+
132+
133+
134+
/// HID Usage Table - Table 6: Generic Desktop Page
135+
enum {
136+
HID_USAGE_DESKTOP_POINTER = 0x01,
137+
HID_USAGE_DESKTOP_MOUSE = 0x02,
138+
HID_USAGE_DESKTOP_JOYSTICK = 0x04,
139+
HID_USAGE_DESKTOP_GAMEPAD = 0x05,
140+
HID_USAGE_DESKTOP_KEYBOARD = 0x06,
141+
HID_USAGE_DESKTOP_KEYPAD = 0x07,
142+
HID_USAGE_DESKTOP_MULTI_AXIS_CONTROLLER = 0x08,
143+
HID_USAGE_DESKTOP_TABLET_PC_SYSTEM = 0x09,
144+
HID_USAGE_DESKTOP_X = 0x30,
145+
HID_USAGE_DESKTOP_Y = 0x31,
146+
HID_USAGE_DESKTOP_Z = 0x32,
147+
HID_USAGE_DESKTOP_RX = 0x33,
148+
HID_USAGE_DESKTOP_RY = 0x34,
149+
HID_USAGE_DESKTOP_RZ = 0x35,
150+
HID_USAGE_DESKTOP_SLIDER = 0x36,
151+
HID_USAGE_DESKTOP_DIAL = 0x37,
152+
HID_USAGE_DESKTOP_WHEEL = 0x38,
153+
HID_USAGE_DESKTOP_HAT_SWITCH = 0x39,
154+
HID_USAGE_DESKTOP_COUNTED_BUFFER = 0x3a,
155+
HID_USAGE_DESKTOP_BYTE_COUNT = 0x3b,
156+
HID_USAGE_DESKTOP_MOTION_WAKEUP = 0x3c,
157+
HID_USAGE_DESKTOP_START = 0x3d,
158+
HID_USAGE_DESKTOP_SELECT = 0x3e,
159+
HID_USAGE_DESKTOP_VX = 0x40,
160+
HID_USAGE_DESKTOP_VY = 0x41,
161+
HID_USAGE_DESKTOP_VZ = 0x42,
162+
HID_USAGE_DESKTOP_VBRX = 0x43,
163+
HID_USAGE_DESKTOP_VBRY = 0x44,
164+
HID_USAGE_DESKTOP_VBRZ = 0x45,
165+
HID_USAGE_DESKTOP_VNO = 0x46,
166+
HID_USAGE_DESKTOP_FEATURE_NOTIFICATION = 0x47,
167+
HID_USAGE_DESKTOP_RESOLUTION_MULTIPLIER = 0x48,
168+
HID_USAGE_DESKTOP_SYSTEM_CONTROL = 0x80,
169+
HID_USAGE_DESKTOP_SYSTEM_POWER_DOWN = 0x81,
170+
HID_USAGE_DESKTOP_SYSTEM_SLEEP = 0x82,
171+
HID_USAGE_DESKTOP_SYSTEM_WAKE_UP = 0x83,
172+
HID_USAGE_DESKTOP_SYSTEM_CONTEXT_MENU = 0x84,
173+
HID_USAGE_DESKTOP_SYSTEM_MAIN_MENU = 0x85,
174+
HID_USAGE_DESKTOP_SYSTEM_APP_MENU = 0x86,
175+
HID_USAGE_DESKTOP_SYSTEM_MENU_HELP = 0x87,
176+
HID_USAGE_DESKTOP_SYSTEM_MENU_EXIT = 0x88,
177+
HID_USAGE_DESKTOP_SYSTEM_MENU_SELECT = 0x89,
178+
HID_USAGE_DESKTOP_SYSTEM_MENU_RIGHT = 0x8A,
179+
HID_USAGE_DESKTOP_SYSTEM_MENU_LEFT = 0x8B,
180+
HID_USAGE_DESKTOP_SYSTEM_MENU_UP = 0x8C,
181+
HID_USAGE_DESKTOP_SYSTEM_MENU_DOWN = 0x8D,
182+
HID_USAGE_DESKTOP_SYSTEM_COLD_RESTART = 0x8E,
183+
HID_USAGE_DESKTOP_SYSTEM_WARM_RESTART = 0x8F,
184+
HID_USAGE_DESKTOP_DPAD_UP = 0x90,
185+
HID_USAGE_DESKTOP_DPAD_DOWN = 0x91,
186+
HID_USAGE_DESKTOP_DPAD_RIGHT = 0x92,
187+
HID_USAGE_DESKTOP_DPAD_LEFT = 0x93,
188+
HID_USAGE_DESKTOP_SYSTEM_DOCK = 0xA0,
189+
HID_USAGE_DESKTOP_SYSTEM_UNDOCK = 0xA1,
190+
HID_USAGE_DESKTOP_SYSTEM_SETUP = 0xA2,
191+
HID_USAGE_DESKTOP_SYSTEM_BREAK = 0xA3,
192+
HID_USAGE_DESKTOP_SYSTEM_DEBUGGER_BREAK = 0xA4,
193+
HID_USAGE_DESKTOP_APPLICATION_BREAK = 0xA5,
194+
HID_USAGE_DESKTOP_APPLICATION_DEBUGGER_BREAK = 0xA6,
195+
HID_USAGE_DESKTOP_SYSTEM_SPEAKER_MUTE = 0xA7,
196+
HID_USAGE_DESKTOP_SYSTEM_HIBERNATE = 0xA8,
197+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_INVERT = 0xB0,
198+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_INTERNAL = 0xB1,
199+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_EXTERNAL = 0xB2,
200+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_BOTH = 0xB3,
201+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_DUAL = 0xB4,
202+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_TOGGLE_INT_EXT = 0xB5,
203+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_SWAP_PRIMARY_SECONDARY = 0xB6,
204+
HID_USAGE_DESKTOP_SYSTEM_DISPLAY_LCD_AUTOSCALE = 0xB7
205+
};
206+
207+
enum
208+
{
209+
// Generic Control
210+
HID_USAGE_CONSUMER_CONTROL = 0x0001,
211+
212+
// Power Control
213+
HID_USAGE_CONSUMER_POWER = 0x0030,
214+
HID_USAGE_CONSUMER_RESET = 0x0031,
215+
HID_USAGE_CONSUMER_SLEEP = 0x0032,
216+
217+
// Screen Brightness
218+
HID_USAGE_CONSUMER_BRIGHTNESS_INCREMENT = 0x006F,
219+
HID_USAGE_CONSUMER_BRIGHTNESS_DECREMENT = 0x0070,
220+
221+
// These HID usages operate only on mobile systems (battery powered) and
222+
// require Windows 8 (build 8302 or greater).
223+
HID_USAGE_CONSUMER_WIRELESS_RADIO_CONTROLS = 0x000C,
224+
HID_USAGE_CONSUMER_WIRELESS_RADIO_BUTTONS = 0x00C6,
225+
HID_USAGE_CONSUMER_WIRELESS_RADIO_LED = 0x00C7,
226+
HID_USAGE_CONSUMER_WIRELESS_RADIO_SLIDER_SWITCH = 0x00C8,
227+
228+
// Media Control
229+
HID_USAGE_CONSUMER_PLAY_PAUSE = 0x00CD,
230+
HID_USAGE_CONSUMER_SCAN_NEXT = 0x00B5,
231+
HID_USAGE_CONSUMER_SCAN_PREVIOUS = 0x00B6,
232+
HID_USAGE_CONSUMER_STOP = 0x00B7,
233+
HID_USAGE_CONSUMER_VOLUME = 0x00E0,
234+
HID_USAGE_CONSUMER_MUTE = 0x00E2,
235+
HID_USAGE_CONSUMER_BASS = 0x00E3,
236+
HID_USAGE_CONSUMER_TREBLE = 0x00E4,
237+
HID_USAGE_CONSUMER_BASS_BOOST = 0x00E5,
238+
HID_USAGE_CONSUMER_VOLUME_INCREMENT = 0x00E9,
239+
HID_USAGE_CONSUMER_VOLUME_DECREMENT = 0x00EA,
240+
HID_USAGE_CONSUMER_BASS_INCREMENT = 0x0152,
241+
HID_USAGE_CONSUMER_BASS_DECREMENT = 0x0153,
242+
HID_USAGE_CONSUMER_TREBLE_INCREMENT = 0x0154,
243+
HID_USAGE_CONSUMER_TREBLE_DECREMENT = 0x0155,
244+
245+
// Application Launcher
246+
HID_USAGE_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION = 0x0183,
247+
HID_USAGE_CONSUMER_AL_EMAIL_READER = 0x018A,
248+
HID_USAGE_CONSUMER_AL_CALCULATOR = 0x0192,
249+
HID_USAGE_CONSUMER_AL_LOCAL_BROWSER = 0x0194,
250+
251+
// Browser/Explorer Specific
252+
HID_USAGE_CONSUMER_AC_SEARCH = 0x0221,
253+
HID_USAGE_CONSUMER_AC_HOME = 0x0223,
254+
HID_USAGE_CONSUMER_AC_BACK = 0x0224,
255+
HID_USAGE_CONSUMER_AC_FORWARD = 0x0225,
256+
HID_USAGE_CONSUMER_AC_STOP = 0x0226,
257+
HID_USAGE_CONSUMER_AC_REFRESH = 0x0227,
258+
HID_USAGE_CONSUMER_AC_BOOKMARKS = 0x022A,
259+
260+
// Mouse Horizontal scroll
261+
HID_USAGE_CONSUMER_AC_PAN = 0x0238,
262+
};
263+
264+
130265
/*--------------------------------------------------------------------
131266
* KEYCODE to Ascii Conversion
132267
* Expand to array of [128][2] (ascii without shift, ascii with shift)
@@ -140,6 +275,9 @@
140275
*--------------------------------------------------------------------*/
141276

142277

278+
279+
280+
143281
#define HID_KEYCODE_TO_ASCII \
144282
{0 , 0 }, /* 0x00 */ \
145283
{0 , 0 }, /* 0x01 */ \

0 commit comments

Comments
 (0)