First pass at mapping full HID key tables, including back-compat for

everything except sysctl
pull/133/head
Jesse Vincent 8 years ago
parent b5a776c341
commit af3aeaff4f
No known key found for this signature in database
GPG Key ID: 122F5DF7108E4046

@ -2,6 +2,12 @@
#include "HIDTables.h"
#include "key_defs_keyboard.h"
#include "key_defs_sysctl.h"
#include "key_defs_consumerctl.h"
typedef union Key_ {
struct {
@ -72,6 +78,20 @@ typedef union Key_ {
#define SWITCH_TO_KEYMAP B00000100
#define IS_INTERNAL B00001000
/* HID types we need to encode in the key flags for system and consumer control hid controls
Each key can only have one, so we don't need to use a bit vector.
We need to keep the top two bits clear for defining the keys as synthetic
We need to keep the bottom two bits clear for defining the keys as sysctl / consumerctl
*/
#define HID_TYPE_CL B00000000
#define HID_TYPE_LC B00000100
#define HID_TYPE_NARY B00001000
#define HID_TYPE_OOC B00001100
#define HID_TYPE_OSC B00010000
#define HID_TYPE_RTC B00010100
#define HID_TYPE_SEL B00011000
#define MOMENTARY_OFFSET 42
#define KEYMAP_0 0
@ -95,169 +115,17 @@ typedef union Key_ {
#define XXX Key_NoKey
#define Key_powerDown (Key) { HID_SYSTEM_POWER_DOWN, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_sleep (Key) { HID_SYSTEM_SLEEP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_wakeup (Key) { HID_SYSTEM_WAKEUP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_coldRestart (Key) { HID_SYSTEM_COLD_RESTART, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_warmRestart (Key) { HID_SYSTEM_WARM_RESTART, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_dock (Key) { HID_SYSTEM_DOCK, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_undock (Key) { HID_SYSTEM_UNDOCK, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_speakerMute (Key) { HID_SYSTEM_SPEAKER_MUTE, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_hibernate (Key) { HID_SYSTEM_HIBERNATE, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_displayInvert (Key) { HID_SYSTEM_DISPLAY_INVERT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_displayInternal (Key) { HID_SYSTEM_DISPLAY_INTERNAL, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_displayExternal (Key) { HID_SYSTEM_DISPLAY_EXTERNAL, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_displayBoth (Key) { HID_SYSTEM_DISPLAY_BOTH, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_displayDual (Key) { HID_SYSTEM_DISPLAY_DUAL, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_displayToggle (Key) {KEY_FLAGS | SYNTHETIC|IS_SYSCTL,HID_SYSTEM_DISPLAY_TOGGLE_INT_EXT
#define Key_displaySwap (Key) { HID_SYSTEM_DISPLAY_SWAP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL }
#define Key_volumeMute (Key) { HID_CONSUMER_MUTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_volumeUp (Key) { HID_CONSUMER_VOLUME_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_volumeDown (Key) { HID_CONSUMER_VOLUME_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_playPause (Key) { HID_CONSUMER_PLAY_SLASH_PAUSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_stop (Key) { HID_CONSUMER_STOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_prevTrack (Key) { HID_CONSUMER_SCAN_PREVIOUS_TRACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_nextTrack (Key) { HID_CONSUMER_SCAN_NEXT_TRACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_Eject (Key) { HID_CONSUMER_EJECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_LCtrl (Key) { HID_KEYBOARD_LEFT_CONTROL, KEY_FLAGS }
#define Key_LShift (Key) { HID_KEYBOARD_LEFT_SHIFT, KEY_FLAGS }
#define Key_LAlt (Key) { HID_KEYBOARD_LEFT_ALT, KEY_FLAGS }
#define Key_LGUI (Key) { HID_KEYBOARD_LEFT_GUI, KEY_FLAGS }
#define Key_RCtrl (Key) { HID_KEYBOARD_RIGHT_CONTROL, KEY_FLAGS }
#define Key_RShift (Key) { HID_KEYBOARD_RIGHT_SHIFT, KEY_FLAGS }
#define Key_RAlt (Key) { HID_KEYBOARD_RIGHT_ALT, KEY_FLAGS }
#define Key_RGUI (Key) { HID_KEYBOARD_RIGHT_GUI, KEY_FLAGS }
#define Key_UpArrow (Key) { HID_KEYBOARD_UP_ARROW, KEY_FLAGS }
#define Key_DnArrow (Key) { HID_KEYBOARD_DOWN_ARROW, KEY_FLAGS }
#define Key_LArrow (Key) { HID_KEYBOARD_LEFT_ARROW, KEY_FLAGS }
#define Key_RArrow (Key) { HID_KEYBOARD_RIGHT_ARROW, KEY_FLAGS }
#define Key_Return (Key) { HID_KEYBOARD_RETURN, KEY_FLAGS }
#define Key_Esc (Key) { HID_KEYBOARD_ESCAPE, KEY_FLAGS }
#define Key_Backspace (Key) { HID_KEYBOARD_DELETE, KEY_FLAGS }
#define Key_Tab (Key) { HID_KEYBOARD_TAB, KEY_FLAGS }
#define Key_Insert (Key) { HID_KEYBOARD_INSERT, KEY_FLAGS }
#define Key_Delete (Key) { HID_KEYBOARD_DELETE_FORWARD, KEY_FLAGS }
#define Key_PageUp (Key) { HID_KEYBOARD_PAGE_UP, KEY_FLAGS }
#define Key_PageDn (Key) { HID_KEYBOARD_PAGE_DOWN, KEY_FLAGS }
#define Key_Home (Key) { HID_KEYBOARD_HOME, KEY_FLAGS }
#define Key_End (Key) { HID_KEYBOARD_END, KEY_FLAGS }
#define Key_Menu (Key) { HID_KEYBOARD_MENU, KEY_FLAGS }
#define Key_PrtScr (Key) { HID_KEYBOARD_PRINTSCREEN, KEY_FLAGS }
#define Key_CapsLock (Key) { HID_KEYBOARD_CAPS_LOCK, KEY_FLAGS }
#define Key_NumLock (Key) { HID_KEYPAD_NUM_LOCK_AND_CLEAR, KEY_FLAGS }
#define Key_F1 (Key) { HID_KEYBOARD_F1, KEY_FLAGS }
#define Key_F2 (Key) { HID_KEYBOARD_F2, KEY_FLAGS }
#define Key_F3 (Key) { HID_KEYBOARD_F3, KEY_FLAGS }
#define Key_F4 (Key) { HID_KEYBOARD_F4, KEY_FLAGS }
#define Key_F5 (Key) { HID_KEYBOARD_F5, KEY_FLAGS }
#define Key_F6 (Key) { HID_KEYBOARD_F6, KEY_FLAGS }
#define Key_F7 (Key) { HID_KEYBOARD_F7, KEY_FLAGS }
#define Key_F8 (Key) { HID_KEYBOARD_F8, KEY_FLAGS }
#define Key_F9 (Key) { HID_KEYBOARD_F9, KEY_FLAGS }
#define Key_F10 (Key) { HID_KEYBOARD_F10, KEY_FLAGS }
#define Key_F11 (Key) { HID_KEYBOARD_F11, KEY_FLAGS }
#define Key_F12 (Key) { HID_KEYBOARD_F12, KEY_FLAGS }
#define Key_F13 (Key) { HID_KEYBOARD_F13, KEY_FLAGS }
#define Key_F14 (Key) { HID_KEYBOARD_F14, KEY_FLAGS }
#define Key_F15 (Key) { HID_KEYBOARD_F15, KEY_FLAGS }
#define Key_F16 (Key) { HID_KEYBOARD_F16, KEY_FLAGS }
#define Key_F17 (Key) { HID_KEYBOARD_F17, KEY_FLAGS }
#define Key_F18 (Key) { HID_KEYBOARD_F18, KEY_FLAGS }
#define Key_F19 (Key) { HID_KEYBOARD_F19, KEY_FLAGS }
#define Key_F20 (Key) { HID_KEYBOARD_F20, KEY_FLAGS }
#define Key_F21 (Key) { HID_KEYBOARD_F21, KEY_FLAGS }
#define Key_F22 (Key) { HID_KEYBOARD_F22, KEY_FLAGS }
#define Key_F23 (Key) { HID_KEYBOARD_F23, KEY_FLAGS }
#define Key_F24 (Key) { HID_KEYBOARD_F24, KEY_FLAGS }
#define Key_1 (Key) { HID_KEYBOARD_1_AND_EXCLAMATION_POINT, KEY_FLAGS }
#define Key_2 (Key) { HID_KEYBOARD_2_AND_AT, KEY_FLAGS }
#define Key_3 (Key) { HID_KEYBOARD_3_AND_POUND, KEY_FLAGS }
#define Key_4 (Key) { HID_KEYBOARD_4_AND_DOLLAR, KEY_FLAGS }
#define Key_5 (Key) { HID_KEYBOARD_5_AND_PERCENT, KEY_FLAGS }
#define Key_6 (Key) { HID_KEYBOARD_6_AND_CARAT, KEY_FLAGS }
#define Key_7 (Key) { HID_KEYBOARD_7_AND_AMPERSAND, KEY_FLAGS }
#define Key_8 (Key) { HID_KEYBOARD_8_AND_ASTERISK, KEY_FLAGS }
#define Key_9 (Key) { HID_KEYBOARD_9_AND_LEFT_PAREN, KEY_FLAGS }
#define Key_0 (Key) { HID_KEYBOARD_0_AND_RIGHT_PAREN, KEY_FLAGS }
#define Key_A (Key) { HID_KEYBOARD_A_AND_A, KEY_FLAGS }
#define Key_B (Key) { HID_KEYBOARD_B_AND_B, KEY_FLAGS }
#define Key_C (Key) { HID_KEYBOARD_C_AND_C, KEY_FLAGS }
#define Key_D (Key) { HID_KEYBOARD_D_AND_D, KEY_FLAGS }
#define Key_E (Key) { HID_KEYBOARD_E_AND_E, KEY_FLAGS }
#define Key_F (Key) { HID_KEYBOARD_F_AND_F, KEY_FLAGS }
#define Key_G (Key) { HID_KEYBOARD_G_AND_G, KEY_FLAGS }
#define Key_H (Key) { HID_KEYBOARD_H_AND_H, KEY_FLAGS }
#define Key_I (Key) { HID_KEYBOARD_I_AND_I, KEY_FLAGS }
#define Key_J (Key) { HID_KEYBOARD_J_AND_J, KEY_FLAGS }
#define Key_K (Key) { HID_KEYBOARD_K_AND_K, KEY_FLAGS }
#define Key_L (Key) { HID_KEYBOARD_L_AND_L, KEY_FLAGS }
#define Key_M (Key) { HID_KEYBOARD_M_AND_M, KEY_FLAGS }
#define Key_N (Key) { HID_KEYBOARD_N_AND_N, KEY_FLAGS }
#define Key_O (Key) { HID_KEYBOARD_O_AND_O, KEY_FLAGS }
#define Key_P (Key) { HID_KEYBOARD_P_AND_P, KEY_FLAGS }
#define Key_Q (Key) { HID_KEYBOARD_Q_AND_Q, KEY_FLAGS }
#define Key_R (Key) { HID_KEYBOARD_R_AND_R, KEY_FLAGS }
#define Key_S (Key) { HID_KEYBOARD_S_AND_S, KEY_FLAGS }
#define Key_T (Key) { HID_KEYBOARD_T_AND_T, KEY_FLAGS }
#define Key_U (Key) { HID_KEYBOARD_U_AND_U, KEY_FLAGS }
#define Key_V (Key) { HID_KEYBOARD_V_AND_V, KEY_FLAGS }
#define Key_W (Key) { HID_KEYBOARD_W_AND_W, KEY_FLAGS }
#define Key_X (Key) { HID_KEYBOARD_X_AND_X, KEY_FLAGS }
#define Key_Y (Key) { HID_KEYBOARD_Y_AND_Y, KEY_FLAGS }
#define Key_Z (Key) { HID_KEYBOARD_Z_AND_Z, KEY_FLAGS }
#define Key_Backtick (Key) { HID_KEYBOARD_GRAVE_ACCENT_AND_TILDE, KEY_FLAGS }
#define Key_Minus (Key) { HID_KEYBOARD_MINUS_AND_UNDERSCORE, KEY_FLAGS }
#define Key_Equals (Key) { HID_KEYBOARD_EQUALS_AND_PLUS, KEY_FLAGS }
#define Key_LBracket (Key) { HID_KEYBOARD_LEFT_BRACKET_AND_LEFT_CURLY_BRACE, KEY_FLAGS }
#define Key_RBracket (Key) { HID_KEYBOARD_RIGHT_BRACKET_AND_RIGHT_CURLY_BRACE, KEY_FLAGS }
#define Key_Backslash (Key) { HID_KEYBOARD_BACKSLASH_AND_PIPE, KEY_FLAGS }
#define Key_Pipe LSHIFT(Key_Backslash)
#define Key_LSquareBracket (Key) { HID_KEYBOARD_LEFT_BRACKET_AND_LEFT_CURLY_BRACE, KEY_FLAGS }
#define Key_RSquareBracket (Key) { HID_KEYBOARD_RIGHT_BRACKET_AND_RIGHT_CURLY_BRACE, KEY_FLAGS }
#define Key_LEFT_PAREN LSHIFT(Key_9)
#define Key_RIGHT_PAREN LSHIFT(Key_0)
#define Key_LCurlyBracket LSHIFT(Key_LSquareBracket)
#define Key_RCurlyBracket LSHIFT(Key_RSquareBracket)
#define Key_Semicolon (Key) { HID_KEYBOARD_SEMICOLON_AND_COLON, KEY_FLAGS }
#define Key_Quote (Key) { HID_KEYBOARD_QUOTE_AND_DOUBLEQUOTE, KEY_FLAGS }
#define Key_Comma (Key) { HID_KEYBOARD_COMMA_AND_LESS_THAN, KEY_FLAGS }
#define Key_Period (Key) { HID_KEYBOARD_PERIOD_AND_GREATER_THAN, KEY_FLAGS }
#define Key_Space (Key) { HID_KEYBOARD_SPACEBAR, KEY_FLAGS }
#define Key_Slash (Key) { HID_KEYBOARD_SLASH_AND_QUESTION_MARK, KEY_FLAGS }
#define Key_LEFT_PAREN LSHIFT(Key_9)
#define Key_RIGHT_PAREN LSHIFT(Key_0)
#define Key_Pipe LSHIFT(Key_Backslash)
#define Key_KeypadClear (Key) { HID_KEYPAD_CLEAR, KEY_FLAGS }
#define Key_KeypadSlash (Key) { HID_KEYPAD_DIVIDE, KEY_FLAGS }
#define Key_KeypadMultiply (Key) { HID_KEYPAD_MULTIPLY, KEY_FLAGS }
#define Key_KeypadMinus (Key) { HID_KEYPAD_SUBTRACT, KEY_FLAGS }
#define Key_KeypadPlus (Key) { HID_KEYPAD_ADD, KEY_FLAGS }
#define Key_Enter (Key) { HID_KEYBOARD_ENTER, KEY_FLAGS }
#define Key_Keypad1 (Key) { HID_KEYPAD_1_AND_END, KEY_FLAGS }
#define Key_Keypad2 (Key) { HID_KEYPAD_2_AND_DOWN_ARROW, KEY_FLAGS }
#define Key_Keypad3 (Key) { HID_KEYPAD_3_AND_PAGE_DOWN, KEY_FLAGS }
#define Key_Keypad4 (Key) { HID_KEYPAD_4_AND_LEFT_ARROW, KEY_FLAGS }
#define Key_Keypad5 (Key) { HID_KEYPAD_5, KEY_FLAGS }
#define Key_Keypad6 (Key) { HID_KEYPAD_6_AND_RIGHT_ARROW, KEY_FLAGS }
#define Key_Keypad7 (Key) { HID_KEYPAD_7_AND_HOME, KEY_FLAGS }
#define Key_Keypad8 (Key) { HID_KEYPAD_8_AND_UP_ARROW, KEY_FLAGS }
#define Key_Keypad9 (Key) { HID_KEYPAD_9_AND_PAGE_UP, KEY_FLAGS }
#define Key_Keypad0 (Key) { HID_KEYPAD_0_AND_INSERT, KEY_FLAGS }
#define Key_KeypadDot (Key) { HID_KEYPAD_PERIOD_AND_DELETE, KEY_FLAGS }
#define Key_PcApplciation (Key) { HID_KEYBOARD_APPLICATION, KEY_FLAGS }
#define Key_Help (Key) { HID_KEYBOARD_HELP, KEY_FLAGS }
#define KEY_BACKLIGHT_DOWN 0xF1
#define KEY_BACKLIGHT_UP 0xF2
#define Key_BacklightDn (Key) { KEY_BACKLIGHT_DOWN, KEY_FLAGS }
@ -267,12 +135,6 @@ typedef union Key_ {
#define KEY_LEFT_FN2 0xff
#define Key_LFN2 (Key) { KEY_LEFT_FN2, KEY_FLAGS }
#define Key_Undo (Key) { HID_KEYBOARD_UNDO, KEY_FLAGS }
#define Key_Cut (Key) { HID_KEYBOARD_CUT, KEY_FLAGS }
#define Key_Copy (Key) { HID_KEYBOARD_COPY, KEY_FLAGS }
#define Key_Paste (Key) { HID_KEYBOARD_PASTE, KEY_FLAGS }
#define Key_Keymap0 (Key) { KEYMAP_0, KEY_FLAGS | SYNTHETIC | SWITCH_TO_KEYMAP }
#define Key_Keymap1 (Key) { KEYMAP_1, KEY_FLAGS | SYNTHETIC | SWITCH_TO_KEYMAP }
#define Key_Keymap2 (Key) { KEYMAP_2, KEY_FLAGS | SYNTHETIC | SWITCH_TO_KEYMAP }

@ -0,0 +1,402 @@
#pragma once
#define Key_NumericKeyPad (Key) { HID_CONSUMER_NUMERIC_KEY_PAD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_ProgrammableButtons (Key) { HID_CONSUMER_PROGRAMMABLE_BUTTONS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_MicrophoneCa (Key) { HID_CONSUMER_MICROPHONE_CA, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_HeadphoneCa (Key) { HID_CONSUMER_HEADPHONE_CA, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_GraphicEqualizerCa (Key) { HID_CONSUMER_GRAPHIC_EQUALIZER_CA, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_Plus10 (Key) { HID_CONSUMER_PLUS_10, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Plus100 (Key) { HID_CONSUMER_PLUS_100, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_AMSlashPM (Key) { HID_CONSUMER_AM_SLASH_PM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Power (Key) { HID_CONSUMER_POWER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_Reset (Key) { HID_CONSUMER_RESET, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Sleep (Key) { HID_CONSUMER_SLEEP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Sleep_After (Key) { HID_CONSUMER_SLEEP_AFTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Sleep_Mode (Key) { HID_CONSUMER_SLEEP_MODE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_Illumination (Key) { HID_CONSUMER_ILLUMINATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_Function_Buttons (Key) { HID_CONSUMER_FUNCTION_BUTTONS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_Menu (Key) { HID_CONSUMER_MENU, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_MenuPick (Key) { HID_CONSUMER_MENU_PICK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MenuUp (Key) { HID_CONSUMER_MENU_UP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MenuDown (Key) { HID_CONSUMER_MENU_DOWN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MenuLeft (Key) { HID_CONSUMER_MENU_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MenuRight (Key) { HID_CONSUMER_MENU_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MenuEscape (Key) { HID_CONSUMER_MENU_ESCAPE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MenuValueIncrease (Key) { HID_CONSUMER_MENU_VALUE_INCREASE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MenuValueDecrease (Key) { HID_CONSUMER_MENU_VALUE_DECREASE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_DataOnScreen (Key) { HID_CONSUMER_DATA_ON_SCREEN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_ClosedCaption (Key) { HID_CONSUMER_CLOSED_CAPTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_ClosedCaptionSelect (Key) { HID_CONSUMER_CLOSED_CAPTION_SELECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_VCRSlashTV (Key) { HID_CONSUMER_VCR_SLASH_TV, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_BroadcastMode (Key) { HID_CONSUMER_BROADCAST_MODE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_SNapshot (Key) { HID_CONSUMER_SNAPSHOT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Still (Key) { HID_CONSUMER_STILL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Selection (Key) { HID_CONSUMER_SELECTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_AssignSelection (Key) { HID_CONSUMER_ASSIGN_SELECTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_ModeStep (Key) { HID_CONSUMER_MODE_STEP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_RecallLast (Key) { HID_CONSUMER_RECALL_LAST, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_EnterChannel (Key) { HID_CONSUMER_ENTER_CHANNEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_OrderMovie (Key) { HID_CONSUMER_ORDER_MOVIE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Channel (Key) { HID_CONSUMER_CHANNEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_MediaSelection (Key) { HID_CONSUMER_MEDIA_SELECTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_MediaSelectComputer (Key) { HID_CONSUMER_MEDIA_SELECT_COMPUTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectTV (Key) { HID_CONSUMER_MEDIA_SELECT_TV, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectWww (Key) { HID_CONSUMER_MEDIA_SELECT_WWW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectDvd (Key) { HID_CONSUMER_MEDIA_SELECT_DVD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectTelephone (Key) { HID_CONSUMER_MEDIA_SELECT_TELEPHONE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectProgramGuide (Key) { HID_CONSUMER_MEDIA_SELECT_PROGRAM_GUIDE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectVideoPhone (Key) { HID_CONSUMER_MEDIA_SELECT_VIDEO_PHONE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectGames (Key) { HID_CONSUMER_MEDIA_SELECT_GAMES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectMessages (Key) { HID_CONSUMER_MEDIA_SELECT_MESSAGES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectCd (Key) { HID_CONSUMER_MEDIA_SELECT_CD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectVcr (Key) { HID_CONSUMER_MEDIA_SELECT_VCR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectTuner (Key) { HID_CONSUMER_MEDIA_SELECT_TUNER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_Quit (Key) { HID_CONSUMER_QUIT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Help (Key) { HID_CONSUMER_HELP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_MediaSelectTape (Key) { HID_CONSUMER_MEDIA_SELECT_TAPE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectCable (Key) { HID_CONSUMER_MEDIA_SELECT_CABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectSatellite (Key) { HID_CONSUMER_MEDIA_SELECT_SATELLITE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectSecurity (Key) { HID_CONSUMER_MEDIA_SELECT_SECURITY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectHome (Key) { HID_CONSUMER_MEDIA_SELECT_HOME, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_MediaSelectCall (Key) { HID_CONSUMER_MEDIA_SELECT_CALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_ChannelIncrement (Key) { HID_CONSUMER_CHANNEL_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_ChannelDecrement (Key) { HID_CONSUMER_CHANNEL_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MediaSelectSap (Key) { HID_CONSUMER_MEDIA_SELECT_SAP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_VcrPlus (Key) { HID_CONSUMER_VCR_PLUS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Once (Key) { HID_CONSUMER_ONCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Daily (Key) { HID_CONSUMER_DAILY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Weekly (Key) { HID_CONSUMER_WEEKLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Monthly (Key) { HID_CONSUMER_MONTHLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Play (Key) { HID_CONSUMER_PLAY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_Pause (Key) { HID_CONSUMER_PAUSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_Record (Key) { HID_CONSUMER_RECORD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_FastForward (Key) { HID_CONSUMER_FAST_FORWARD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_Rewind (Key) { HID_CONSUMER_REWIND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_ScanNextTrack (Key) { HID_CONSUMER_SCAN_NEXT_TRACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_nextTrack Key_ScanNextTrack
#define Key_ScanPreviousTrack (Key) { HID_CONSUMER_SCAN_PREVIOUS_TRACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_prevTrack Key_ScanPreviousTrack
#define Key_Stop (Key) { HID_CONSUMER_STOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_stop Key_Stop
#define Key_Eject (Key) { HID_CONSUMER_EJECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_RandomPlay (Key) { HID_CONSUMER_RANDOM_PLAY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_SelectDisc (Key) { HID_CONSUMER_SELECT_DISC, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_EnterDiscMc (Key) { HID_CONSUMER_ENTER_DISC_MC, KEY_FLAGS | SYNTHETIC|IS_CONSUMER }
#define Key_Repeat (Key) { HID_CONSUMER_REPEAT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Tracking (Key) { HID_CONSUMER_TRACKING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_Track_Normal (Key) { HID_CONSUMER_TRACK_NORMAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_SlowTracking (Key) { HID_CONSUMER_SLOW_TRACKING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_FrameForward (Key) { HID_CONSUMER_FRAME_FORWARD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_FrameBack (Key) { HID_CONSUMER_FRAME_BACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_Mark (Key) { HID_CONSUMER_MARK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_ClearMark (Key) { HID_CONSUMER_CLEAR_MARK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_RepeatFromMark (Key) { HID_CONSUMER_REPEAT_FROM_MARK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_ReturnTo_Mark (Key) { HID_CONSUMER_RETURN_TO_MARK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_SearchMarkForward (Key) { HID_CONSUMER_SEARCH_MARK_FORWARD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_SearchMarkBackwards (Key) { HID_CONSUMER_SEARCH_MARK_BACKWARDS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_CounterReset (Key) { HID_CONSUMER_COUNTER_RESET, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_ShowCounter (Key) { HID_CONSUMER_SHOW_COUNTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_TrackingIncrement (Key) { HID_CONSUMER_TRACKING_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_TrackingDecrement (Key) { HID_CONSUMER_TRACKING_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_StopSlashEject (Key) { HID_CONSUMER_STOP_SLASH_EJECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_PlaySlashPause (Key) { HID_CONSUMER_PLAY_SLASH_PAUSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_playPause Key_PlaySlashPause
#define Key_PlaySlashSkip (Key) { HID_CONSUMER_PLAY_SLASH_SKIP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Volume (Key) { HID_CONSUMER_VOLUME, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_Balance (Key) { HID_CONSUMER_BALANCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_Mute (Key) { HID_CONSUMER_MUTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_volumeMute Key_Mute
#define Key_Bass (Key) { HID_CONSUMER_BASS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_Treble (Key) { HID_CONSUMER_TREBLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_BassBoost (Key) { HID_CONSUMER_BASS_BOOST, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_SurroundMode (Key) { HID_CONSUMER_SURROUND_MODE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Loudness (Key) { HID_CONSUMER_LOUDNESS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_Mpx (Key) { HID_CONSUMER_MPX, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_VolumeIncrement (Key) { HID_CONSUMER_VOLUME_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_volumeUp Key_VolumeIncrement
#define Key_VolumeDecrement (Key) { HID_CONSUMER_VOLUME_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_volumeDown Key_VolumeDecrement
#define Key_SpeedSelect (Key) { HID_CONSUMER_SPEED_SELECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_PlaybackSpeed (Key) { HID_CONSUMER_PLAYBACK_SPEED, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_StandardPlay (Key) { HID_CONSUMER_STANDARD_PLAY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_LongPlay (Key) { HID_CONSUMER_LONG_PLAY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_ExtendedPlay (Key) { HID_CONSUMER_EXTENDED_PLAY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_Slow (Key) { HID_CONSUMER_SLOW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_FanEnable (Key) { HID_CONSUMER_FAN_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_FanSpeed (Key) { HID_CONSUMER_FAN_SPEED, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_LightEnable (Key) { HID_CONSUMER_LIGHT_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_LightIlluminationLevel (Key) { HID_CONSUMER_LIGHT_ILLUMINATION_LEVEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_ClimateControlEnable (Key) { HID_CONSUMER_CLIMATE_CONTROL_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_RoomTemperature (Key) { HID_CONSUMER_ROOM_TEMPERATURE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_SecurityEnable (Key) { HID_CONSUMER_SECURITY_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC }
#define Key_FireAlarm (Key) { HID_CONSUMER_FIRE_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_PoliceAlarm (Key) { HID_CONSUMER_POLICE_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Proximity (Key) { HID_CONSUMER_PROXIMITY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_Motion (Key) { HID_CONSUMER_MOTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_DuressAlarm (Key) { HID_CONSUMER_DURESS_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_HoldupAlarm (Key) { HID_CONSUMER_HOLDUP_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_MedicalAlarm (Key) { HID_CONSUMER_MEDICAL_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_BalanceRight (Key) { HID_CONSUMER_BALANCE_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_BalanceLeft (Key) { HID_CONSUMER_BALANCE_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_BassIncrement (Key) { HID_CONSUMER_BASS_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_BassDecrement (Key) { HID_CONSUMER_BASS_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_TrebleIncrement (Key) { HID_CONSUMER_TREBLE_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_TrebleDecrement (Key) { HID_CONSUMER_TREBLE_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC }
#define Key_SpeakerSystem (Key) { HID_CONSUMER_SPEAKER_SYSTEM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelLeft (Key) { HID_CONSUMER_CHANNEL_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelRight (Key) { HID_CONSUMER_CHANNEL_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelCenter (Key) { HID_CONSUMER_CHANNEL_CENTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelFront (Key) { HID_CONSUMER_CHANNEL_FRONT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelCenterFront (Key) { HID_CONSUMER_CHANNEL_CENTER_FRONT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelSide (Key) { HID_CONSUMER_CHANNEL_SIDE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelSurround (Key) { HID_CONSUMER_CHANNEL_SURROUND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelLowFrequencyEnhancement (Key) { HID_CONSUMER_CHANNEL_LOW_FREQUENCY_ENHANCEMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelTop (Key) { HID_CONSUMER_CHANNEL_TOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_ChannelUnknown (Key) { HID_CONSUMER_CHANNEL_UNKNOWN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL }
#define Key_SubChannel (Key) { HID_CONSUMER_SUB_CHANNEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_SubChannelIncrement (Key) { HID_CONSUMER_SUB_CHANNEL_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_SubChannelDecrement (Key) { HID_CONSUMER_SUB_CHANNEL_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_AlternateAudioIncrement (Key) { HID_CONSUMER_ALTERNATE_AUDIO_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_AlternateAudioDecrement (Key) { HID_CONSUMER_ALTERNATE_AUDIO_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC }
#define Key_Application_Launch_Buttons (Key) { HID_CONSUMER_APPLICATION_LAUNCH_BUTTONS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_AL_Launch_Button_Configuration_Tool (Key) { HID_CONSUMER_AL_LAUNCH_BUTTON_CONFIGURATION_TOOL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Programmable_Button_Configuration (Key) { HID_CONSUMER_AL_PROGRAMMABLE_BUTTON_CONFIGURATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Consumer_Control_Configuration (Key) { HID_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Word_Processor (Key) { HID_CONSUMER_AL_WORD_PROCESSOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Text_Editor (Key) { HID_CONSUMER_AL_TEXT_EDITOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Spreadsheet (Key) { HID_CONSUMER_AL_SPREADSHEET, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Graphics_Editor (Key) { HID_CONSUMER_AL_GRAPHICS_EDITOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Presentation_App (Key) { HID_CONSUMER_AL_PRESENTATION_APP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Database_App (Key) { HID_CONSUMER_AL_DATABASE_APP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Email_Reader (Key) { HID_CONSUMER_AL_EMAIL_READER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Newsreader (Key) { HID_CONSUMER_AL_NEWSREADER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Voicemail (Key) { HID_CONSUMER_AL_VOICEMAIL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Contacts_Slash_Address_Book (Key) { HID_CONSUMER_AL_CONTACTS_SLASH_ADDRESS_BOOK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Calendar_Slash_Schedule (Key) { HID_CONSUMER_AL_CALENDAR_SLASH_SCHEDULE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Task_Slash_Project_Manager (Key) { HID_CONSUMER_AL_TASK_SLASH_PROJECT_MANAGER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Log_Slash_Journal_Slash_Timecard (Key) { HID_CONSUMER_AL_LOG_SLASH_JOURNAL_SLASH_TIMECARD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Checkbook_Slash_Finance (Key) { HID_CONSUMER_AL_CHECKBOOK_SLASH_FINANCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Calculator (Key) { HID_CONSUMER_AL_CALCULATOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_AVCaptureSlashPlayback (Key) { HID_CONSUMER_AL_A_SLASH_V_CAPTURE_SLASH_PLAYBACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Local_MachineBrowser (Key) { HID_CONSUMER_AL_LOCAL_MACHINE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Lan_SlashWanBrowser (Key) { HID_CONSUMER_AL_LAN_SLASH_WAN_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_InternetBrowser (Key) { HID_CONSUMER_AL_INTERNET_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_RemoteNetworkingSlashIspConnect (Key) { HID_CONSUMER_AL_REMOTE_NETWORKING_SLASH_ISP_CONNECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_NetworkConference (Key) { HID_CONSUMER_AL_NETWORK_CONFERENCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_NetworkChat (Key) { HID_CONSUMER_AL_NETWORK_CHAT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_TelephonySlashDialer (Key) { HID_CONSUMER_AL_TELEPHONY_SLASH_DIALER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Logon (Key) { HID_CONSUMER_AL_LOGON, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Logoff (Key) { HID_CONSUMER_AL_LOGOFF, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_LogonSlashLogoff (Key) { HID_CONSUMER_AL_LOGON_SLASH_LOGOFF, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_TerminalLockSlashScreensaver (Key) { HID_CONSUMER_AL_TERMINAL_LOCK_SLASH_SCREENSAVER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_ControlPanel (Key) { HID_CONSUMER_AL_CONTROL_PANEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_CommandLineProcessorSlashRun (Key) { HID_CONSUMER_AL_COMMAND_LINE_PROCESSOR_SLASH_RUN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_ProcessSlashTask_Manager (Key) { HID_CONSUMER_AL_PROCESS_SLASH_TASK_MANAGER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_SelectTaskSlashApplication (Key) { HID_CONSUMER_AL_SELECT_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_NextTaskSlashApplication (Key) { HID_CONSUMER_AL_NEXT_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_PreviousTaskSlashApplication (Key) { HID_CONSUMER_AL_PREVIOUS_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_PreemptiveHaltTaskSlashApplication (Key) { HID_CONSUMER_AL_PREEMPTIVE_HALT_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_IntegratedHelpCenter (Key) { HID_CONSUMER_AL_INTEGRATED_HELP_CENTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Documents (Key) { HID_CONSUMER_AL_DOCUMENTS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Thesaurus (Key) { HID_CONSUMER_AL_THESAURUS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Dictionary (Key) { HID_CONSUMER_AL_DICTIONARY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Desktop (Key) { HID_CONSUMER_AL_DESKTOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_SpellCheck (Key) { HID_CONSUMER_AL_SPELL_CHECK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_GrammarCheck (Key) { HID_CONSUMER_AL_GRAMMAR_CHECK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_WirelessStatus (Key) { HID_CONSUMER_AL_WIRELESS_STATUS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_KeyboardLayout (Key) { HID_CONSUMER_AL_KEYBOARD_LAYOUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_VirusProtection (Key) { HID_CONSUMER_AL_VIRUS_PROTECTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Encryption (Key) { HID_CONSUMER_AL_ENCRYPTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_ScreenSaver (Key) { HID_CONSUMER_AL_SCREEN_SAVER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Alarms (Key) { HID_CONSUMER_AL_ALARMS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Clock (Key) { HID_CONSUMER_AL_CLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_FileBrowser (Key) { HID_CONSUMER_AL_FILE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_PowerStatus (Key) { HID_CONSUMER_AL_POWER_STATUS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_ImageBrowser (Key) { HID_CONSUMER_AL_IMAGE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_AudioBrowser (Key) { HID_CONSUMER_AL_AUDIO_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_MovieBrowser (Key) { HID_CONSUMER_AL_MOVIE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_DigitalRightsManager (Key) { HID_CONSUMER_AL_DIGITAL_RIGHTS_MANAGER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_DigitalWallet (Key) { HID_CONSUMER_AL_DIGITAL_WALLET, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_InstantMessaging (Key) { HID_CONSUMER_AL_INSTANT_MESSAGING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_OemFeaturesSlashTipsSlashTUTORIALBrowser (Key) { HID_CONSUMER_AL_OEM_FEATURES_SLASH__TIPS_SLASH_TUTORIAL_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_OemHelp (Key) { HID_CONSUMER_AL_OEM_HELP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_OnlineCommunity (Key) { HID_CONSUMER_AL_ONLINE_COMMUNITY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_Entertainment_Content_Browser (Key) { HID_CONSUMER_AL_ENTERTAINMENT_CONTENT_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_OnlineShoppingBrowser (Key) { HID_CONSUMER_AL_ONLINE_SHOPPING_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_SmartcardInformationSlashHelp (Key) { HID_CONSUMER_AL_SMARTCARD_INFORMATION_SLASH_HELP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_MarketMonitorSlashFinanceBrowser (Key) { HID_CONSUMER_AL_MARKET_MONITOR_SLASH_FINANCE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_CustomizedCorporateNewsBrowser (Key) { HID_CONSUMER_AL_CUSTOMIZED_CORPORATE_NEWS_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_OnlineActivityBrowser (Key) { HID_CONSUMER_AL_ONLINE_ACTIVITY_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_ResearchSlashSearchBrowser (Key) { HID_CONSUMER_AL_RESEARCH_SLASH_SEARCH_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AL_AudioPlayer (Key) { HID_CONSUMER_AL_AUDIO_PLAYER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_GenericGuiApplicationControls (Key) { HID_CONSUMER_GENERIC_GUI_APPLICATION_CONTROLS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY }
#define Key_AC_New (Key) { HID_CONSUMER_AC_NEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Open (Key) { HID_CONSUMER_AC_OPEN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Close (Key) { HID_CONSUMER_AC_CLOSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Exit (Key) { HID_CONSUMER_AC_EXIT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Maximize (Key) { HID_CONSUMER_AC_MAXIMIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Minimize (Key) { HID_CONSUMER_AC_MINIMIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Save (Key) { HID_CONSUMER_AC_SAVE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Print (Key) { HID_CONSUMER_AC_PRINT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Properties (Key) { HID_CONSUMER_AC_PROPERTIES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Undo (Key) { HID_CONSUMER_AC_UNDO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Copy (Key) { HID_CONSUMER_AC_COPY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Cut (Key) { HID_CONSUMER_AC_CUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Paste (Key) { HID_CONSUMER_AC_PASTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectAll (Key) { HID_CONSUMER_AC_SELECT_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Find (Key) { HID_CONSUMER_AC_FIND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_FindAndReplace (Key) { HID_CONSUMER_AC_FIND_AND_REPLACE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Search (Key) { HID_CONSUMER_AC_SEARCH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_GoTo (Key) { HID_CONSUMER_AC_GO_TO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Home (Key) { HID_CONSUMER_AC_HOME, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Back (Key) { HID_CONSUMER_AC_BACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Forward (Key) { HID_CONSUMER_AC_FORWARD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Stop (Key) { HID_CONSUMER_AC_STOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Refresh (Key) { HID_CONSUMER_AC_REFRESH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_PreviousLink (Key) { HID_CONSUMER_AC_PREVIOUS_LINK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_NextLink (Key) { HID_CONSUMER_AC_NEXT_LINK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Bookmarks (Key) { HID_CONSUMER_AC_BOOKMARKS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_History (Key) { HID_CONSUMER_AC_HISTORY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Subscriptions (Key) { HID_CONSUMER_AC_SUBSCRIPTIONS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ZoomIn (Key) { HID_CONSUMER_AC_ZOOM_IN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ZoomOut (Key) { HID_CONSUMER_AC_ZOOM_OUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Zoom (Key) { HID_CONSUMER_AC_ZOOM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_AC_FullSCreenView (Key) { HID_CONSUMER_AC_FULL_SCREEN_VIEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_NormalView (Key) { HID_CONSUMER_AC_NORMAL_VIEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ViewToggle (Key) { HID_CONSUMER_AC_VIEW_TOGGLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ScrollUp (Key) { HID_CONSUMER_AC_SCROLL_UP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ScrollDown (Key) { HID_CONSUMER_AC_SCROLL_DOWN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Scroll (Key) { HID_CONSUMER_AC_SCROLL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_AC_PanLeft (Key) { HID_CONSUMER_AC_PAN_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_PanRight (Key) { HID_CONSUMER_AC_PAN_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Pan (Key) { HID_CONSUMER_AC_PAN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC }
#define Key_AC_NewWindow (Key) { HID_CONSUMER_AC_NEW_WINDOW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_TileHorizontally (Key) { HID_CONSUMER_AC_TILE_HORIZONTALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_TileVertically (Key) { HID_CONSUMER_AC_TILE_VERTICALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Format (Key) { HID_CONSUMER_AC_FORMAT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Edit (Key) { HID_CONSUMER_AC_EDIT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Bold (Key) { HID_CONSUMER_AC_BOLD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Italics (Key) { HID_CONSUMER_AC_ITALICS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Underline (Key) { HID_CONSUMER_AC_UNDERLINE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Strikethrough (Key) { HID_CONSUMER_AC_STRIKETHROUGH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Subscript (Key) { HID_CONSUMER_AC_SUBSCRIPT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Superscript (Key) { HID_CONSUMER_AC_SUPERSCRIPT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_AllCaps (Key) { HID_CONSUMER_AC_ALL_CAPS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Rotate (Key) { HID_CONSUMER_AC_ROTATE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Resize (Key) { HID_CONSUMER_AC_RESIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_FlipHorizontal (Key) { HID_CONSUMER_AC_FLIP_HORIZONTAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_FlipVertical (Key) { HID_CONSUMER_AC_FLIP_VERTICAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_MirrorHorizontal (Key) { HID_CONSUMER_AC_MIRROR_HORIZONTAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_MirrorVertical (Key) { HID_CONSUMER_AC_MIRROR_VERTICAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_FontSelect (Key) { HID_CONSUMER_AC_FONT_SELECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_FontColor (Key) { HID_CONSUMER_AC_FONT_COLOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_FontSize (Key) { HID_CONSUMER_AC_FONT_SIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyLeft (Key) { HID_CONSUMER_AC_JUSTIFY_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyCenterH (Key) { HID_CONSUMER_AC_JUSTIFY_CENTER_H, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyRight (Key) { HID_CONSUMER_AC_JUSTIFY_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyBlockH (Key) { HID_CONSUMER_AC_JUSTIFY_BLOCK_H, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyTop (key) { HID_CONSUMER_AC_JUSTIFY_TOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyCenterV (Key) { HID_CONSUMER_AC_JUSTIFY_CENTER_V, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyBottom (Key) { HID_CONSUMER_AC_JUSTIFY_BOTTOM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_JustifyBlockV (Key) { HID_CONSUMER_AC_JUSTIFY_BLOCK_V, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_IndentDecrease (Key) { HID_CONSUMER_AC_INDENT_DECREASE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_IndentIncrease (Key) { HID_CONSUMER_AC_INDENT_INCREASE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_NumberedList (Key) { HID_CONSUMER_AC_NUMBERED_LIST, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_RestartNumbering (Key) { HID_CONSUMER_AC_RESTART_NUMBERING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_BulletedList (Key) { HID_CONSUMER_AC_BULLETED_LIST, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Promote (Key) { HID_CONSUMER_AC_PROMOTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Demote (Key) { HID_CONSUMER_AC_DEMOTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Yes (Key) { HID_CONSUMER_AC_YES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_No (Key) { HID_CONSUMER_AC_NO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Cancel (Key) { HID_CONSUMER_AC_CANCEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Catalog (Key) { HID_CONSUMER_AC_CATALOG, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_BuySlashCheckout (Key) { HID_CONSUMER_AC_BUY_SLASH_CHECKOUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_AddToCart (Key) { HID_CONSUMER_AC_ADD_TO_CART, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Expand (Key) { HID_CONSUMER_AC_EXPAND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ExpandAll (Key) { HID_CONSUMER_AC_EXPAND_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Collapse (Key) { HID_CONSUMER_AC_COLLAPSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_CollapseAll (Key) { HID_CONSUMER_AC_COLLAPSE_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_PrintPreview (Key) { HID_CONSUMER_AC_PRINT_PREVIEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_PasteSpecial (Key) { HID_CONSUMER_AC_PASTE_SPECIAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_InsertMode (Key) { HID_CONSUMER_AC_INSERT_MODE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Delete (Key) { HID_CONSUMER_AC_DELETE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Lock (Key) { HID_CONSUMER_AC_LOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Unlock (Key) { HID_CONSUMER_AC_UNLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Protect (Key) { HID_CONSUMER_AC_PROTECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Unprotect (Key) { HID_CONSUMER_AC_UNPROTECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_AttachComment (Key) { HID_CONSUMER_AC_ATTACH_COMMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_DeleteComment (Key) { HID_CONSUMER_AC_DELETE_COMMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ViewComment (Key) { HID_CONSUMER_AC_VIEW_COMMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectWord (Key) { HID_CONSUMER_AC_SELECT_WORD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectSentence (Key) { HID_CONSUMER_AC_SELECT_SENTENCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectParagraph (Key) { HID_CONSUMER_AC_SELECT_PARAGRAPH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectColumn (Key) { HID_CONSUMER_AC_SELECT_COLUMN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectRow (Key) { HID_CONSUMER_AC_SELECT_ROW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectTable (Key) { HID_CONSUMER_AC_SELECT_TABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectObject (Key) { HID_CONSUMER_AC_SELECT_OBJECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_RedoSlashRepeat (Key) { HID_CONSUMER_AC_REDO_SLASH_REPEAT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Sort (Key) { HID_CONSUMER_AC_SORT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Sort_Ascending (Key) { HID_CONSUMER_AC_SORT_ASCENDING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Sort_Descending (Key) { HID_CONSUMER_AC_SORT_DESCENDING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Filter (Key) { HID_CONSUMER_AC_FILTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SetClock (Key) { HID_CONSUMER_AC_SET_CLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ViewClock (Key) { HID_CONSUMER_AC_VIEW_CLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SelectTimeZone (Key) { HID_CONSUMER_AC_SELECT_TIME_ZONE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_EditTimeZones (Key) { HID_CONSUMER_AC_EDIT_TIME_ZONES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SetAlarm (Key) { HID_CONSUMER_AC_SET_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ClearAlarm (Key) { HID_CONSUMER_AC_CLEAR_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SnoozeAlarm (Key) { HID_CONSUMER_AC_SNOOZE_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ResetAlarm (Key) { HID_CONSUMER_AC_RESET_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Synchronize (Key) { HID_CONSUMER_AC_SYNCHRONIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SendSlashReceive (Key) { HID_CONSUMER_AC_SEND_SLASH_RECEIVE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SendTo (Key) { HID_CONSUMER_AC_SEND_TO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Reply (Key) { HID_CONSUMER_AC_REPLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ReplyAll (Key) { HID_CONSUMER_AC_REPLY_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_ForwardMsg (Key) { HID_CONSUMER_AC_FORWARD_MSG, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Send (Key) { HID_CONSUMER_AC_SEND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_AttachFile (Key) { HID_CONSUMER_AC_ATTACH_FILE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Upload (Key) { HID_CONSUMER_AC_UPLOAD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Download (Key) { HID_CONSUMER_AC_DOWNLOAD_(SAVE_TARGET_AS), KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SetBorders (Key) { HID_CONSUMER_AC_SET_BORDERS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_InsertRow (key) { HID_CONSUMER_AC_INSERT_ROW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_InsertColumn (Key) { HID_CONSUMER_AC_INSERT_COLUMN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_InsertFile (Key) { HID_CONSUMER_AC_INSERT_FILE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_InsertPicture (Key) { HID_CONSUMER_AC_INSERT_PICTURE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_InsertObject (Key) { HID_CONSUMER_AC_INSERT_OBJECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_InsertSymbol (Key) { HID_CONSUMER_AC_INSERT_SYMBOL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_SaveandClose (Key) { HID_CONSUMER_AC_SAVE_AND_CLOSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Rename (Key) { HID_CONSUMER_AC_RENAME, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Merge (Key) { HID_CONSUMER_AC_MERGE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Split (Key) { HID_CONSUMER_AC_SPLIT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Distribute_Horizontally (Key) { HID_CONSUMER_AC_DISTRIBUTE_HORIZONTALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }
#define Key_AC_Distribute_Vertically (Key) { HID_CONSUMER_AC_DISTRIBUTE_VERTICALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL }

@ -0,0 +1,272 @@
#pragma once
// Keyboard HID mappings
// Reserved (no_event_indicated)
#define Key_NoEvent (Key) { HID_KEYBOARD_NO_EVENT, KEY_FLAGS }
#define Key_ErrorRollover (Key) { HID_KEYBOARD_ERROR_ROLLOVER, KEY_FLAGS }
#define Key_PostFail (Key) { HID_KEYBOARD_POST_FAIL, KEY_FLAGS }
#define Key_ErrorUndefined (Key) { HID_KEYBOARD_ERROR_UNDEFINED, KEY_FLAGS }
#define Key_A (Key) { HID_KEYBOARD_A_AND_A, KEY_FLAGS }
#define Key_B (Key) { HID_KEYBOARD_B_AND_B, KEY_FLAGS }
#define Key_C (Key) { HID_KEYBOARD_C_AND_C, KEY_FLAGS }
#define Key_D (Key) { HID_KEYBOARD_D_AND_D, KEY_FLAGS }
#define Key_E (Key) { HID_KEYBOARD_E_AND_E, KEY_FLAGS }
#define Key_F (Key) { HID_KEYBOARD_F_AND_F, KEY_FLAGS }
#define Key_G (Key) { HID_KEYBOARD_G_AND_G, KEY_FLAGS }
#define Key_H (Key) { HID_KEYBOARD_H_AND_H, KEY_FLAGS }
#define Key_I (Key) { HID_KEYBOARD_I_AND_I, KEY_FLAGS }
#define Key_J (Key) { HID_KEYBOARD_J_AND_J, KEY_FLAGS }
#define Key_K (Key) { HID_KEYBOARD_K_AND_K, KEY_FLAGS }
#define Key_L (Key) { HID_KEYBOARD_L_AND_L, KEY_FLAGS }
#define Key_M (Key) { HID_KEYBOARD_M_AND_M, KEY_FLAGS }
#define Key_N (Key) { HID_KEYBOARD_N_AND_N, KEY_FLAGS }
#define Key_O (Key) { HID_KEYBOARD_O_AND_O, KEY_FLAGS }
#define Key_P (Key) { HID_KEYBOARD_P_AND_P, KEY_FLAGS }
#define Key_Q (Key) { HID_KEYBOARD_Q_AND_Q, KEY_FLAGS }
#define Key_R (Key) { HID_KEYBOARD_R_AND_R, KEY_FLAGS }
#define Key_S (Key) { HID_KEYBOARD_S_AND_S, KEY_FLAGS }
#define Key_T (Key) { HID_KEYBOARD_T_AND_T, KEY_FLAGS }
#define Key_U (Key) { HID_KEYBOARD_U_AND_U, KEY_FLAGS }
#define Key_V (Key) { HID_KEYBOARD_V_AND_V, KEY_FLAGS }
#define Key_W (Key) { HID_KEYBOARD_W_AND_W, KEY_FLAGS }
#define Key_X (Key) { HID_KEYBOARD_X_AND_X, KEY_FLAGS }
#define Key_Y (Key) { HID_KEYBOARD_Y_AND_Y, KEY_FLAGS }
#define Key_Z (Key) { HID_KEYBOARD_Z_AND_Z, KEY_FLAGS }
#define Key_1 (Key) { HID_KEYBOARD_1_AND_EXCLAMATION_POINT, KEY_FLAGS }
#define Key_2 (Key) { HID_KEYBOARD_2_AND_AT, KEY_FLAGS }
#define Key_3 (Key) { HID_KEYBOARD_3_AND_POUND, KEY_FLAGS }
#define Key_4 (Key) { HID_KEYBOARD_4_AND_DOLLAR, KEY_FLAGS }
#define Key_5 (Key) { HID_KEYBOARD_5_AND_PERCENT, KEY_FLAGS }
#define Key_6 (Key) { HID_KEYBOARD_6_AND_CARAT, KEY_FLAGS }
#define Key_7 (Key) { HID_KEYBOARD_7_AND_AMPERSAND, KEY_FLAGS }
#define Key_8 (Key) { HID_KEYBOARD_8_AND_ASTERISK, KEY_FLAGS }
#define Key_9 (Key) { HID_KEYBOARD_9_AND_LEFT_PAREN, KEY_FLAGS }
#define Key_0 (Key) { HID_KEYBOARD_0_AND_RIGHT_PAREN, KEY_FLAGS }
#define Key_Enter (Key) { HID_KEYBOARD_ENTER, KEY_FLAGS } // (MARKED AS ENTER_SLASH_RETURN)
#define Key_Escape (Key) { HID_KEYBOARD_ESCAPE, KEY_FLAGS }
#define Key_Esc Key_Escape
#define Key_Backspace (Key) { HID_KEYBOARD_DELETE, KEY_FLAGS } // (BACKSPACE)
#define Key_Tab (Key) { HID_KEYBOARD_TAB, KEY_FLAGS }
#define Key_Spacebar (Key) { HID_KEYBOARD_SPACEBAR, KEY_FLAGS }
#define Key_Space Key_Spacebar
#define Key_Minus (Key) { HID_KEYBOARD_MINUS_AND_UNDERSCORE, KEY_FLAGS } // (UNDERSCORE)
#define Key_Equals (Key) { HID_KEYBOARD_EQUALS_AND_PLUS, KEY_FLAGS }
#define Key_LeftBracket (Key) { HID_KEYBOARD_LEFT_BRACKET_AND_LEFT_CURLY_BRACE, KEY_FLAGS }
#define Key_LSquareBracket Key_LeftBracket
#define Key_LBracket Key_LeftBracket
#define Key_RightBracket (Key) { HID_KEYBOARD_RIGHT_BRACKET_AND_RIGHT_CURLY_BRACE, KEY_FLAGS }
#define Key_RSquareBracket Key_RightBracket
#define Key_RBracket Key_RightBracket
#define Key_Backslash (Key) { HID_KEYBOARD_BACKSLASH_AND_PIPE, KEY_FLAGS }
#define Key_NonUsPound (Key) { HID_KEYBOARD_NON_US_POUND_AND_TILDE, KEY_FLAGS }
#define Key_Semicolon (Key) { HID_KEYBOARD_SEMICOLON_AND_COLON, KEY_FLAGS }
#define Key_Quote (Key) { HID_KEYBOARD_QUOTE_AND_DOUBLEQUOTE, KEY_FLAGS }
#define Key_Backtick (Key) { HID_KEYBOARD_GRAVE_ACCENT_AND_TILDE, KEY_FLAGS }
#define Key_Comma (Key) { HID_KEYBOARD_COMMA_AND_LESS_THAN, KEY_FLAGS }
#define Key_Period (Key) { HID_KEYBOARD_PERIOD_AND_GREATER_THAN, KEY_FLAGS }
#define Key_Slash (Key) { HID_KEYBOARD_SLASH_AND_QUESTION_MARK, KEY_FLAGS }
#define Key_CapsLock (Key) { HID_KEYBOARD_CAPS_LOCK, KEY_FLAGS }
#define Key_F1 (Key) { HID_KEYBOARD_F1, KEY_FLAGS }
#define Key_F2 (Key) { HID_KEYBOARD_F2, KEY_FLAGS }
#define Key_F3 (Key) { HID_KEYBOARD_F3, KEY_FLAGS }
#define Key_F4 (Key) { HID_KEYBOARD_F4, KEY_FLAGS }
#define Key_F5 (Key) { HID_KEYBOARD_F5, KEY_FLAGS }
#define Key_F6 (Key) { HID_KEYBOARD_F6, KEY_FLAGS }
#define Key_F7 (Key) { HID_KEYBOARD_F7, KEY_FLAGS }
#define Key_F8 (Key) { HID_KEYBOARD_F8, KEY_FLAGS }
#define Key_F9 (Key) { HID_KEYBOARD_F9, KEY_FLAGS }
#define Key_F10 (Key) { HID_KEYBOARD_F10, KEY_FLAGS }
#define Key_F11 (Key) { HID_KEYBOARD_F11, KEY_FLAGS }
#define Key_F12 (Key) { HID_KEYBOARD_F12, KEY_FLAGS }
#define Key_Printscreen (Key) { HID_KEYBOARD_PRINTSCREEN, KEY_FLAGS }
#define Key_PrtScr Key_PrintScreen
#define Key_ScrollLock (Key) { HID_KEYBOARD_SCROLL_LOCK, KEY_FLAGS }
#define Key_Pause (Key) { HID_KEYBOARD_PAUSE, KEY_FLAGS }
#define Key_Insert (Key) { HID_KEYBOARD_INSERT, KEY_FLAGS }
#define Key_Home (Key) { HID_KEYBOARD_HOME, KEY_FLAGS }
#define Key_PageUp (Key) { HID_KEYBOARD_PAGE_UP, KEY_FLAGS }
#define Key_Delete (Key) { HID_KEYBOARD_DELETE_FORWARD, KEY_FLAGS }
#define Key_End (Key) { HID_KEYBOARD_END, KEY_FLAGS }
#define Key_PageDown (Key) { HID_KEYBOARD_PAGE_DOWN, KEY_FLAGS }
#define Key_PageDn Key_PageDown
#define Key_RightArrow (Key) { HID_KEYBOARD_RIGHT_ARROW, KEY_FLAGS }
#define Key_RArrow Key_RightArrow
#define Key_LeftArrow (Key) { HID_KEYBOARD_LEFT_ARROW, KEY_FLAGS }
#define Key_LArrow Key_LeftArrow
#define Key_DownArrow (Key) { HID_KEYBOARD_DOWN_ARROW, KEY_FLAGS }
#define Key_DnArrow Key_DownARrow
#define Key_UpArrow (Key) { HID_KEYBOARD_UP_ARROW, KEY_FLAGS }
#define Key_KeypadNumLock (Key) { HID_KEYPAD_NUM_LOCK_AND_CLEAR, KEY_FLAGS }
#define Key_NumLock Key_NumpadNumLock
#define Key_KeypadDivide (Key) { HID_KEYPAD_DIVIDE, KEY_FLAGS }
#define Key_KeypadSlash Key_KeypadDivide
#define Key_KeypadMultiply (Key) { HID_KEYPAD_MULTIPLY, KEY_FLAGS }
#define Key_KeypadSubtract (Key) { HID_KEYPAD_SUBTRACT, KEY_FLAGS }
#define Key_KeypadMinus Key_KeypadSubtract
#define Key_KeypadAdd (Key) { HID_KEYPAD_ADD, KEY_FLAGS }
#define Key_KeypadPlus Key_KeypadAdd
#define Key_KeypadEnter (Key) { HID_KEYPAD_ENTER, KEY_FLAGS }
#define Key_Keypad1 (Key) { HID_KEYPAD_1_AND_END, KEY_FLAGS }
#define Key_Keypad2 (Key) { HID_KEYPAD_2_AND_DOWN_ARROW, KEY_FLAGS }
#define Key_Keypad3 (Key) { HID_KEYPAD_3_AND_PAGE_DOWN, KEY_FLAGS }
#define Key_Keypad4 (Key) { HID_KEYPAD_4_AND_LEFT_ARROW, KEY_FLAGS }
#define Key_Keypad5 (Key) { HID_KEYPAD_5, KEY_FLAGS }
#define Key_Keypad6 (Key) { HID_KEYPAD_6_AND_RIGHT_ARROW, KEY_FLAGS }
#define Key_Keypad7 (Key) { HID_KEYPAD_7_AND_HOME, KEY_FLAGS }
#define Key_Keypad8 (Key) { HID_KEYPAD_8_AND_UP_ARROW, KEY_FLAGS }
#define Key_Keypad9 (Key) { HID_KEYPAD_9_AND_PAGE_UP, KEY_FLAGS }
#define Key_Keypad0 (Key) { HID_KEYPAD_0_AND_INSERT, KEY_FLAGS }
#define Key_KeypadDot (Key) { HID_KEYPAD_PERIOD_AND_DELETE, KEY_FLAGS }
#define Key_NonUsBackslashAndPipe (Key) { HID_KEYBOARD_NON_US_BACKSLASH_AND_PIPE, KEY_FLAGS }
#define Key_PcApplication (Key) { HID_KEYBOARD_APPLICATION, KEY_FLAGS }
#define Key_Power (Key) { HID_KEYBOARD_POWER, KEY_FLAGS }
#define Key_KeypadEquals (Key) { HID_KEYPAD_EQUALS, KEY_FLAGS }
#define Key_F13 (Key) { HID_KEYBOARD_F13, KEY_FLAGS }
#define Key_F14 (Key) { HID_KEYBOARD_F14, KEY_FLAGS }
#define Key_F15 (Key) { HID_KEYBOARD_F15, KEY_FLAGS }
#define Key_F16 (Key) { HID_KEYBOARD_F16, KEY_FLAGS }
#define Key_F17 (Key) { HID_KEYBOARD_F17, KEY_FLAGS }
#define Key_F18 (Key) { HID_KEYBOARD_F18, KEY_FLAGS }
#define Key_F19 (Key) { HID_KEYBOARD_F19, KEY_FLAGS }
#define Key_F20 (Key) { HID_KEYBOARD_F20, KEY_FLAGS }
#define Key_F21 (Key) { HID_KEYBOARD_F21, KEY_FLAGS }
#define Key_F22 (Key) { HID_KEYBOARD_F22, KEY_FLAGS }
#define Key_F23 (Key) { HID_KEYBOARD_F23, KEY_FLAGS }
#define Key_F24 (Key) { HID_KEYBOARD_F24, KEY_FLAGS }
#define Key_Execute (Key) { HID_KEYBOARD_EXECUTE, KEY_FLAGS }
#define Key_Help (Key) { HID_KEYBOARD_HELP, KEY_FLAGS }
#define Key_Menu (Key) { HID_KEYBOARD_MENU, KEY_FLAGS }
#define Key_Select (Key) { HID_KEYBOARD_SELECT, KEY_FLAGS }
#define Key_Stop (Key) { HID_KEYBOARD_STOP, KEY_FLAGS }
#define Key_Again (Key) { HID_KEYBOARD_AGAIN, KEY_FLAGS }
#define Key_Undo (Key) { HID_KEYBOARD_UNDO, KEY_FLAGS }
#define Key_Cut (Key) { HID_KEYBOARD_CUT, KEY_FLAGS }
#define Key_Copy (Key) { HID_KEYBOARD_COPY, KEY_FLAGS }
#define Key_Paste (Key) { HID_KEYBOARD_PASTE, KEY_FLAGS }
#define Key_Find (Key) { HID_KEYBOARD_FIND, KEY_FLAGS }
#define Key_Mute (Key) { HID_KEYBOARD_MUTE, KEY_FLAGS }
#define Key_VolumeUp (Key) { HID_KEYBOARD_VOLUME_UP, KEY_FLAGS }
#define Key_VolumeDown (Key) { HID_KEYBOARD_VOLUME_DOWN, KEY_FLAGS }
#define Key_LockingCapsLock (Key) { HID_KEYBOARD_LOCKING_CAPS_LOCK, KEY_FLAGS }
#define Key_LockingNumLock (Key) { HID_KEYBOARD_LOCKING_NUM_LOCK, KEY_FLAGS }
#define Key_LockingScrollLock (Key) { HID_KEYBOARD_LOCKING_SCROLL_LOCK, KEY_FLAGS }
#define Key_KeypadComma (Key) { HID_KEYPAD_COMMA, KEY_FLAGS }
#define Key_KeypadEqualSign (Key) { HID_KEYPAD_EQUAL_SIGN, KEY_FLAGS }
#define Key_International1 (Key) { HID_KEYBOARD_INTERNATIONAL1, KEY_FLAGS }
#define Key_International2 (Key) { HID_KEYBOARD_INTERNATIONAL2, KEY_FLAGS }
#define Key_International3 (Key) { HID_KEYBOARD_INTERNATIONAL3, KEY_FLAGS }
#define Key_International4 (Key) { HID_KEYBOARD_INTERNATIONAL4, KEY_FLAGS }
#define Key_International5 (Key) { HID_KEYBOARD_INTERNATIONAL5, KEY_FLAGS }
#define Key_International6 (Key) { HID_KEYBOARD_INTERNATIONAL6, KEY_FLAGS }
#define Key_International7 (Key) { HID_KEYBOARD_INTERNATIONAL7, KEY_FLAGS }
#define Key_International8 (Key) { HID_KEYBOARD_INTERNATIONAL8, KEY_FLAGS }
#define Key_International9 (Key) { HID_KEYBOARD_INTERNATIONAL9, KEY_FLAGS }
#define Key_Lang1 (Key) { HID_KEYBOARD_LANG1, KEY_FLAGS }
#define Key_Lang2 (Key) { HID_KEYBOARD_LANG2, KEY_FLAGS }
#define Key_Lang3 (Key) { HID_KEYBOARD_LANG3, KEY_FLAGS }
#define Key_Lang4 (Key) { HID_KEYBOARD_LANG4, KEY_FLAGS }
#define Key_Lang5 (Key) { HID_KEYBOARD_LANG5, KEY_FLAGS }
#define Key_Lang6 (Key) { HID_KEYBOARD_LANG6, KEY_FLAGS }
#define Key_Lang7 (Key) { HID_KEYBOARD_LANG7, KEY_FLAGS }
#define Key_Lang8 (Key) { HID_KEYBOARD_LANG8, KEY_FLAGS }
#define Key_Lang9 (Key) { HID_KEYBOARD_LANG9, KEY_FLAGS }
#define Key_AlternateErase (Key) { HID_KEYBOARD_ALTERNATE_ERASE, KEY_FLAGS }
#define Key_Sysreq (Key) { HID_KEYBOARD_SYSREQ_SLASH_ATTENTION, KEY_FLAGS }
#define Key_Cancel (Key) { HID_KEYBOARD_CANCEL, KEY_FLAGS }
#define Key_Clear (Key) { HID_KEYBOARD_CLEAR, KEY_FLAGS }
#define Key_Prior (Key) { HID_KEYBOARD_PRIOR, KEY_FLAGS }
#define Key_Return (Key) { HID_KEYBOARD_RETURN, KEY_FLAGS }
#define Key_Separator (Key) { HID_KEYBOARD_SEPARATOR, KEY_FLAGS }
#define Key_Out (Key) { HID_KEYBOARD_OUT, KEY_FLAGS }
#define Key_Oper (Key) { HID_KEYBOARD_OPER, KEY_FLAGS }
#define Key_ClearSlashAgain (Key) { HID_KEYBOARD_CLEAR_SLASH_AGAIN, KEY_FLAGS }
#define Key_CrselSlashProps (Key) { HID_KEYBOARD_CRSEL_SLASH_PROPS, KEY_FLAGS }
#define Key_Exsel (Key) { HID_KEYBOARD_EXSEL, KEY_FLAGS }
// Reserved 0xA5-AF
#define Key_Keypad00 (Key) { HID_KEYPAD_00, KEY_FLAGS }
#define Key_Keypad000 (Key) { HID_KEYPAD_000, KEY_FLAGS }
#define Key_ThousandsSeparator (Key) { HID_THOUSANDS_SEPARATOR, KEY_FLAGS }
#define Key_DecimalSeparator (Key) { HID_DECIMAL_SEPARATOR, KEY_FLAGS }
#define Key_CurrencyUnit (Key) { HID_CURRENCY_UNIT, KEY_FLAGS }
#define Key_CurrencySubunit (Key) { HID_CURRENCY_SUBUNIT, KEY_FLAGS }
#define Key_KeypadLeftParen (Key) { HID_KEYPAD_LEFT_PAREN, KEY_FLAGS }
#define Key_KeypadRightParen (Key) { HID_KEYPAD_RIGHT_PAREN, KEY_FLAGS }
#define Key_KeypadLeftCurlyBrace (Key) { HID_KEYPAD_LEFT_CURLY_BRACE, KEY_FLAGS }
#define Key_KeypadRightCurlyBrace (Key) { HID_KEYPAD_RIGHT_CURLY_BRACE, KEY_FLAGS }
#define Key_KeypadTab (Key) { HID_KEYPAD_TAB, KEY_FLAGS }
#define Key_KeypadBackspace (Key) { HID_KEYPAD_BACKSPACE, KEY_FLAGS }
#define Key_KeypadA (Key) { HID_KEYPAD_A, KEY_FLAGS }
#define Key_KeypadB (Key) { HID_KEYPAD_B, KEY_FLAGS }
#define Key_KeypadC (Key) { HID_KEYPAD_C, KEY_FLAGS }
#define Key_KeypadD (Key) { HID_KEYPAD_D, KEY_FLAGS }
#define Key_KeypadE (Key) { HID_KEYPAD_E, KEY_FLAGS }
#define Key_KeypadF (Key) { HID_KEYPAD_F, KEY_FLAGS }
#define Key_KeypadXor (Key) { HID_KEYPAD_XOR, KEY_FLAGS }
#define Key_KeypadCarat (Key) { HID_KEYPAD_CARAT, KEY_FLAGS }
#define Key_KeypadPercent (Key) { HID_KEYPAD_PERCENT, KEY_FLAGS }
#define Key_KeypadLessThan (Key) { HID_KEYPAD_LESS_THAN, KEY_FLAGS }
#define Key_KeypadGreaterThan (Key) { HID_KEYPAD_GREATER_THAN, KEY_FLAGS }
#define Key_KeypadAmpersand (Key) { HID_KEYPAD_AMPERSAND, KEY_FLAGS }
#define Key_KeypadDoubleampersand (Key) { HID_KEYPAD_DOUBLEAMPERSAND, KEY_FLAGS }
#define Key_KeypadPipe (Key) { HID_KEYPAD_PIPE, KEY_FLAGS }
#define Key_KeypadDoublepipe (Key) { HID_KEYPAD_DOUBLEPIPE, KEY_FLAGS }
#define Key_KeypadColon (Key) { HID_KEYPAD_COLON, KEY_FLAGS }
#define Key_KeypadPoundSign (Key) { HID_KEYPAD_POUND_SIGN, KEY_FLAGS }
#define Key_KeypadSpace (Key) { HID_KEYPAD_SPACE, KEY_FLAGS }
#define Key_KeypadAtSign (Key) { HID_KEYPAD_AT_SIGN, KEY_FLAGS }
#define Key_KeypadExclamationPoint (Key) { HID_KEYPAD_EXCLAMATION_POINT, KEY_FLAGS }
#define Key_KeypadMemoryStore (Key) { HID_KEYPAD_MEMORY_STORE, KEY_FLAGS }
#define Key_KeypadMemoryRecall (Key) { HID_KEYPAD_MEMORY_RECALL, KEY_FLAGS }
#define Key_KeypadMemoryClear (Key) { HID_KEYPAD_MEMORY_CLEAR, KEY_FLAGS }
#define Key_KeypadMemoryAdd (Key) { HID_KEYPAD_MEMORY_ADD, KEY_FLAGS }
#define Key_KeypadMemorySubtract (Key) { HID_KEYPAD_MEMORY_SUBTRACT, KEY_FLAGS }
#define Key_KeypadMemoryMultiply (Key) { HID_KEYPAD_MEMORY_MULTIPLY, KEY_FLAGS }
#define Key_KeypadMemoryDivide (Key) { HID_KEYPAD_MEMORY_DIVIDE, KEY_FLAGS }
#define Key_KeypadPlusSlashMinus (Key) { HID_KEYPAD_PLUS_SLASH_MINUS, KEY_FLAGS }
#define Key_KeypadClear (Key) { HID_KEYPAD_CLEAR, KEY_FLAGS }
#define Key_KeypadClearEntry (Key) { HID_KEYPAD_CLEAR_ENTRY, KEY_FLAGS }
#define Key_KeypadBinary (Key) { HID_KEYPAD_BINARY, KEY_FLAGS }
#define Key_KeypadOctal (Key) { HID_KEYPAD_OCTAL, KEY_FLAGS }
#define Key_KeypadDecimal (Key) { HID_KEYPAD_DECIMAL, KEY_FLAGS }
#define Key_KeypadHexadecimal (Key) { HID_KEYPAD_HEXADECIMAL, KEY_FLAGS }
#define Key_LeftControl (Key) { HID_KEYBOARD_LEFT_CONTROL, KEY_FLAGS }
#define Key_LCtrl Key_LeftControl
#define Key_LeftShift (Key) { HID_KEYBOARD_LEFT_SHIFT, KEY_FLAGS }
#define Key_LShift Key_LeftShift
#define Key_LeftAlt (Key) { HID_KEYBOARD_LEFT_ALT, KEY_FLAGS }
#define Key_LAlt Key_LeftAlt
#define Key_LeftGui (Key) { HID_KEYBOARD_LEFT_GUI, KEY_FLAGS }
#define Key_LGUI Key_LeftGui
#define Key_RightControl (Key) { HID_KEYBOARD_RIGHT_CONTROL, KEY_FLAGS }
#define Key_RCtrl Key_RightControl
#define Key_RightShift (Key) { HID_KEYBOARD_RIGHT_SHIFT, KEY_FLAGS }
#define Key_RShift Key_RightShift
#define Key_RightAlt (Key) { HID_KEYBOARD_RIGHT_ALT, KEY_FLAGS }
#define Key_RAlt Key_RightAlt
#define Key_RightGui (Key) { HID_KEYBOARD_RIGHT_GUI, KEY_FLAGS }
#define Key_RGUI Key_RightGui

@ -0,0 +1,42 @@
#pragma once
// System control mappings
#define Key_PowerDown (Key) { HID_SYSTEM_POWER_DOWN, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_Sleep (Key) { HID_SYSTEM_SLEEP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_WakeUp (Key) { HID_SYSTEM_WAKE_UP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_ContextMenu (Key) { HID_SYSTEM_CONTEXT_MENU, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_MainMenu (Key) { HID_SYSTEM_MAIN_MENU, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_AppMenu (Key) { HID_SYSTEM_APP_MENU, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_MenuHelp (Key) { HID_SYSTEM_MENU_HELP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_MenuExit (Key) { HID_SYSTEM_MENU_EXIT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_MenuSelect (Key) { HID_SYSTEM_MENU_SELECT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_MenuRight (Key) { HID_SYSTEM_MENU_RIGHT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_RTC
#define Key_MenuLeft (Key) { HID_SYSTEM_MENU_LEFT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_RTC
#define Key_MenuUp (Key) { HID_SYSTEM_MENU_UP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_RTC
#define Key_MenuDown (Key) { HID_SYSTEM_MENU_DOWN, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_RTC
#define Key_ColdRestart (Key) { HID_SYSTEM_COLD_RESTART, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_WarmRestart (Key) { HID_SYSTEM_WARM_RESTART, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DPadUp (Key) { HID_D_PAD_UP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OOC }
#define Key_DPadDown (Key) { HID_D_PAD_DOWN, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OOC }
#define Key_DPadRight (Key) { HID_D_PAD_RIGHT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OOC }
#define Key_DPadLeft (Key) { HID_D_PAD_LEFT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OOC }
#define Key_Dock (Key) { HID_SYSTEM_DOCK, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_Undock (Key) { HID_SYSTEM_UNDOCK, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_Setup (Key) { HID_SYSTEM_SETUP, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_Break (Key) { HID_SYSTEM_BREAK, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DebuggerBreak (Key) { HID_SYSTEM_DEBUGGER_BREAK, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_ApplicationBreak (Key) { HID_APPLICATION_BREAK, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_ApplicationDebuggerBreak (Key) { HID_APPLICATION_DEBUGGER_BREAK | HID_TYPE_OSC }
#define Key_SpeakerMute (Key) { HID_SYSTEM_SPEAKER_MUTE, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_Hibernate (Key) { HID_SYSTEM_HIBERNATE, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplayInvert (Key) { HID_SYSTEM_DISPLAY_INVERT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplayInternal (Key) { HID_SYSTEM_DISPLAY_INTERNAL, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplayExternal (Key) { HID_SYSTEM_DISPLAY_EXTERNAL, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplayBoth (Key) { HID_SYSTEM_DISPLAY_BOTH, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplayDual (Key) { HID_SYSTEM_DISPLAY_DUAL, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplayToggleIntSlashExt (Key) { HID_SYSTEM_DISPLAY_TOGGLE_INT_SLASH_EXT, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplaySwapPrimarySlashSecondary (Key) { HID_SYSTEM_DISPLAY_SWAP_PRIMARY_SLASH_SECONDARY, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
#define Key_DisplayLCDAutoscale (Key) { HID_SYSTEM_DISPLAY_LCD_AUTOSCALE, KEY_FLAGS | SYNTHETIC|IS_SYSCTL | HID_TYPE_OSC }
Loading…
Cancel
Save