From f57aab5f718d3b47ea2252ec6c006c96cc62eb59 Mon Sep 17 00:00:00 2001 From: SjB Date: Wed, 8 Nov 2017 01:18:04 -0500 Subject: [PATCH] Support all 10bit HID Consumer code. By moving the IS_CONSUMER flag to B00001000 instead of B00000010 (swap with IS_INTERNAL) we can detect the if the key is a consumer key and strip out the flags and use the full 10bit to send to the hid report. This enable us to use all the Consumer_* keys --- src/kaleidoscope/hid.cpp | 4 +- src/key_defs.h | 4 +- src/key_defs_consumerctl.h | 496 ++++++++++++++++++------------------- 3 files changed, 252 insertions(+), 252 deletions(-) diff --git a/src/kaleidoscope/hid.cpp b/src/kaleidoscope/hid.cpp index 7d6e88a9..e8b4e188 100644 --- a/src/kaleidoscope/hid.cpp +++ b/src/kaleidoscope/hid.cpp @@ -106,11 +106,11 @@ void initializeConsumerControl() { } void pressConsumerControl(Key mappedKey) { - ConsumerControl.press(mappedKey.keyCode); + ConsumerControl.press(mappedKey.raw & 0x03FF); } void releaseConsumerControl(Key mappedKey) { - ConsumerControl.release(mappedKey.keyCode); + ConsumerControl.release(mappedKey.raw & 0x03FF); } diff --git a/src/key_defs.h b/src/key_defs.h index c5decc99..f999c269 100644 --- a/src/key_defs.h +++ b/src/key_defs.h @@ -83,9 +83,9 @@ typedef union Key_ { // we assert that synthetic keys can never have keys held, so we reuse the _HELD bits #define IS_SYSCTL B00000001 -#define IS_CONSUMER B00000010 +#define IS_INTERNAL B00000010 #define SWITCH_TO_KEYMAP B00000100 -#define IS_INTERNAL B00001000 +#define IS_CONSUMER 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. diff --git a/src/key_defs_consumerctl.h b/src/key_defs_consumerctl.h index bbe2dcec..5e78134a 100644 --- a/src/key_defs_consumerctl.h +++ b/src/key_defs_consumerctl.h @@ -127,257 +127,257 @@ #define Consumer_ExtendedPlay (Key) { HID_CONSUMER_EXTENDED_PLAY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } #define Consumer_Slow (Key) { HID_CONSUMER_SLOW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_FanEnable (Key) { HID_CONSUMER_FAN_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC } -#define Consumer_FanSpeed (Key) { HID_CONSUMER_FAN_SPEED, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_LightEnable (Key) { HID_CONSUMER_LIGHT_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC } -#define Consumer_LightIlluminationLevel (Key) { HID_CONSUMER_LIGHT_ILLUMINATION_LEVEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_ClimateControlEnable (Key) { HID_CONSUMER_CLIMATE_CONTROL_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC } -#define Consumer_RoomTemperature (Key) { HID_CONSUMER_ROOM_TEMPERATURE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_SecurityEnable (Key) { HID_CONSUMER_SECURITY_ENABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC } -#define Consumer_FireAlarm (Key) { HID_CONSUMER_FIRE_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_PoliceAlarm (Key) { HID_CONSUMER_POLICE_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_Proximity (Key) { HID_CONSUMER_PROXIMITY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_Motion (Key) { HID_CONSUMER_MOTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_DuressAlarm (Key) { HID_CONSUMER_DURESS_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_HoldupAlarm (Key) { HID_CONSUMER_HOLDUP_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_MedicalAlarm (Key) { HID_CONSUMER_MEDICAL_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } +#define Consumer_FanEnable (Key) { .raw = HID_CONSUMER_FAN_ENABLE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC ) << 8) } +#define Consumer_FanSpeed (Key) { .raw = HID_CONSUMER_FAN_SPEED | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_LightEnable (Key) { .raw = HID_CONSUMER_LIGHT_ENABLE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC ) << 8) } +#define Consumer_LightIlluminationLevel (Key) { .raw = HID_CONSUMER_LIGHT_ILLUMINATION_LEVEL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_ClimateControlEnable (Key) { .raw = HID_CONSUMER_CLIMATE_CONTROL_ENABLE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC ) << 8) } +#define Consumer_RoomTemperature (Key) { .raw = HID_CONSUMER_ROOM_TEMPERATURE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_SecurityEnable (Key) { .raw = HID_CONSUMER_SECURITY_ENABLE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OOC ) << 8) } +#define Consumer_FireAlarm (Key) { .raw = HID_CONSUMER_FIRE_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_PoliceAlarm (Key) { .raw = HID_CONSUMER_POLICE_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_Proximity (Key) { .raw = HID_CONSUMER_PROXIMITY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_Motion (Key) { .raw = HID_CONSUMER_MOTION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_DuressAlarm (Key) { .raw = HID_CONSUMER_DURESS_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_HoldupAlarm (Key) { .raw = HID_CONSUMER_HOLDUP_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_MedicalAlarm (Key) { .raw = HID_CONSUMER_MEDICAL_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } -#define Consumer_BalanceRight (Key) { HID_CONSUMER_BALANCE_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC } -#define Consumer_BalanceLeft (Key) { HID_CONSUMER_BALANCE_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC } -#define Consumer_BassIncrement (Key) { HID_CONSUMER_BASS_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC } -#define Consumer_BassDecrement (Key) { HID_CONSUMER_BASS_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC } -#define Consumer_TrebleIncrement (Key) { HID_CONSUMER_TREBLE_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC } -#define Consumer_TrebleDecrement (Key) { HID_CONSUMER_TREBLE_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC } +#define Consumer_BalanceRight (Key) { .raw = HID_CONSUMER_BALANCE_RIGHT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC ) << 8) } +#define Consumer_BalanceLeft (Key) { .raw = HID_CONSUMER_BALANCE_LEFT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC ) << 8) } +#define Consumer_BassIncrement (Key) { .raw = HID_CONSUMER_BASS_INCREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC ) << 8) } +#define Consumer_BassDecrement (Key) { .raw = HID_CONSUMER_BASS_DECREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC ) << 8) } +#define Consumer_TrebleIncrement (Key) { .raw = HID_CONSUMER_TREBLE_INCREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC ) << 8) } +#define Consumer_TrebleDecrement (Key) { .raw = HID_CONSUMER_TREBLE_DECREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_RTC ) << 8) } -#define Consumer_SpeakerSystem (Key) { HID_CONSUMER_SPEAKER_SYSTEM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelLeft (Key) { HID_CONSUMER_CHANNEL_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelRight (Key) { HID_CONSUMER_CHANNEL_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelCenter (Key) { HID_CONSUMER_CHANNEL_CENTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelFront (Key) { HID_CONSUMER_CHANNEL_FRONT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelCenterFront (Key) { HID_CONSUMER_CHANNEL_CENTER_FRONT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelSide (Key) { HID_CONSUMER_CHANNEL_SIDE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelSurround (Key) { HID_CONSUMER_CHANNEL_SURROUND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelLowFrequencyEnhancement (Key) { HID_CONSUMER_CHANNEL_LOW_FREQUENCY_ENHANCEMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelTop (Key) { HID_CONSUMER_CHANNEL_TOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } -#define Consumer_ChannelUnknown (Key) { HID_CONSUMER_CHANNEL_UNKNOWN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL } +#define Consumer_SpeakerSystem (Key) { .raw = HID_CONSUMER_SPEAKER_SYSTEM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelLeft (Key) { .raw = HID_CONSUMER_CHANNEL_LEFT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelRight (Key) { .raw = HID_CONSUMER_CHANNEL_RIGHT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelCenter (Key) { .raw = HID_CONSUMER_CHANNEL_CENTER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelFront (Key) { .raw = HID_CONSUMER_CHANNEL_FRONT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelCenterFront (Key) { .raw = HID_CONSUMER_CHANNEL_CENTER_FRONT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelSide (Key) { .raw = HID_CONSUMER_CHANNEL_SIDE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelSurround (Key) { .raw = HID_CONSUMER_CHANNEL_SURROUND | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelLowFrequencyEnhancement (Key) { .raw = HID_CONSUMER_CHANNEL_LOW_FREQUENCY_ENHANCEMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelTop (Key) { .raw = HID_CONSUMER_CHANNEL_TOP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } +#define Consumer_ChannelUnknown (Key) { .raw = HID_CONSUMER_CHANNEL_UNKNOWN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_CL ) << 8) } -#define Consumer_SubChannel (Key) { HID_CONSUMER_SUB_CHANNEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_SubChannelIncrement (Key) { HID_CONSUMER_SUB_CHANNEL_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_SubChannelDecrement (Key) { HID_CONSUMER_SUB_CHANNEL_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_AlternateAudioIncrement (Key) { HID_CONSUMER_ALTERNATE_AUDIO_INCREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } -#define Consumer_AlternateAudioDecrement (Key) { HID_CONSUMER_ALTERNATE_AUDIO_DECREMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC } +#define Consumer_SubChannel (Key) { .raw = HID_CONSUMER_SUB_CHANNEL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_SubChannelIncrement (Key) { .raw = HID_CONSUMER_SUB_CHANNEL_INCREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_SubChannelDecrement (Key) { .raw = HID_CONSUMER_SUB_CHANNEL_DECREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_AlternateAudioIncrement (Key) { .raw = HID_CONSUMER_ALTERNATE_AUDIO_INCREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } +#define Consumer_AlternateAudioDecrement (Key) { .raw = HID_CONSUMER_ALTERNATE_AUDIO_DECREMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_OSC ) << 8) } -#define Consumer_Application_Launch_Buttons (Key) { HID_CONSUMER_APPLICATION_LAUNCH_BUTTONS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY } -#define Consumer_AL_Launch_Button_Configuration_Tool (Key) { HID_CONSUMER_AL_LAUNCH_BUTTON_CONFIGURATION_TOOL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Programmable_Button_Configuration (Key) { HID_CONSUMER_AL_PROGRAMMABLE_BUTTON_CONFIGURATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Consumer_Control_Configuration (Key) { HID_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Word_Processor (Key) { HID_CONSUMER_AL_WORD_PROCESSOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Text_Editor (Key) { HID_CONSUMER_AL_TEXT_EDITOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Spreadsheet (Key) { HID_CONSUMER_AL_SPREADSHEET, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Graphics_Editor (Key) { HID_CONSUMER_AL_GRAPHICS_EDITOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Presentation_App (Key) { HID_CONSUMER_AL_PRESENTATION_APP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Database_App (Key) { HID_CONSUMER_AL_DATABASE_APP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Email_Reader (Key) { HID_CONSUMER_AL_EMAIL_READER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Newsreader (Key) { HID_CONSUMER_AL_NEWSREADER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Voicemail (Key) { HID_CONSUMER_AL_VOICEMAIL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Contacts_Slash_Address_Book (Key) { HID_CONSUMER_AL_CONTACTS_SLASH_ADDRESS_BOOK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Calendar_Slash_Schedule (Key) { HID_CONSUMER_AL_CALENDAR_SLASH_SCHEDULE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Task_Slash_Project_Manager (Key) { HID_CONSUMER_AL_TASK_SLASH_PROJECT_MANAGER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Log_Slash_Journal_Slash_Timecard (Key) { HID_CONSUMER_AL_LOG_SLASH_JOURNAL_SLASH_TIMECARD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Checkbook_Slash_Finance (Key) { HID_CONSUMER_AL_CHECKBOOK_SLASH_FINANCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Calculator (Key) { HID_CONSUMER_AL_CALCULATOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_AVCaptureSlashPlayback (Key) { HID_CONSUMER_AL_A_SLASH_V_CAPTURE_SLASH_PLAYBACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Local_MachineBrowser (Key) { HID_CONSUMER_AL_LOCAL_MACHINE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Lan_SlashWanBrowser (Key) { HID_CONSUMER_AL_LAN_SLASH_WAN_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_InternetBrowser (Key) { HID_CONSUMER_AL_INTERNET_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_RemoteNetworkingSlashIspConnect (Key) { HID_CONSUMER_AL_REMOTE_NETWORKING_SLASH_ISP_CONNECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_NetworkConference (Key) { HID_CONSUMER_AL_NETWORK_CONFERENCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_NetworkChat (Key) { HID_CONSUMER_AL_NETWORK_CHAT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_TelephonySlashDialer (Key) { HID_CONSUMER_AL_TELEPHONY_SLASH_DIALER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Logon (Key) { HID_CONSUMER_AL_LOGON, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Logoff (Key) { HID_CONSUMER_AL_LOGOFF, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_LogonSlashLogoff (Key) { HID_CONSUMER_AL_LOGON_SLASH_LOGOFF, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_TerminalLockSlashScreensaver (Key) { HID_CONSUMER_AL_TERMINAL_LOCK_SLASH_SCREENSAVER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_ControlPanel (Key) { HID_CONSUMER_AL_CONTROL_PANEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_CommandLineProcessorSlashRun (Key) { HID_CONSUMER_AL_COMMAND_LINE_PROCESSOR_SLASH_RUN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_ProcessSlashTask_Manager (Key) { HID_CONSUMER_AL_PROCESS_SLASH_TASK_MANAGER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_SelectTaskSlashApplication (Key) { HID_CONSUMER_AL_SELECT_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_NextTaskSlashApplication (Key) { HID_CONSUMER_AL_NEXT_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_PreviousTaskSlashApplication (Key) { HID_CONSUMER_AL_PREVIOUS_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_PreemptiveHaltTaskSlashApplication (Key) { HID_CONSUMER_AL_PREEMPTIVE_HALT_TASK_SLASH_APPLICATION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_IntegratedHelpCenter (Key) { HID_CONSUMER_AL_INTEGRATED_HELP_CENTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Documents (Key) { HID_CONSUMER_AL_DOCUMENTS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Thesaurus (Key) { HID_CONSUMER_AL_THESAURUS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Dictionary (Key) { HID_CONSUMER_AL_DICTIONARY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Desktop (Key) { HID_CONSUMER_AL_DESKTOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_SpellCheck (Key) { HID_CONSUMER_AL_SPELL_CHECK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_GrammarCheck (Key) { HID_CONSUMER_AL_GRAMMAR_CHECK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_WirelessStatus (Key) { HID_CONSUMER_AL_WIRELESS_STATUS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_KeyboardLayout (Key) { HID_CONSUMER_AL_KEYBOARD_LAYOUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_VirusProtection (Key) { HID_CONSUMER_AL_VIRUS_PROTECTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Encryption (Key) { HID_CONSUMER_AL_ENCRYPTION, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_ScreenSaver (Key) { HID_CONSUMER_AL_SCREEN_SAVER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Alarms (Key) { HID_CONSUMER_AL_ALARMS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Clock (Key) { HID_CONSUMER_AL_CLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_FileBrowser (Key) { HID_CONSUMER_AL_FILE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_PowerStatus (Key) { HID_CONSUMER_AL_POWER_STATUS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_ImageBrowser (Key) { HID_CONSUMER_AL_IMAGE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_AudioBrowser (Key) { HID_CONSUMER_AL_AUDIO_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_MovieBrowser (Key) { HID_CONSUMER_AL_MOVIE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_DigitalRightsManager (Key) { HID_CONSUMER_AL_DIGITAL_RIGHTS_MANAGER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_DigitalWallet (Key) { HID_CONSUMER_AL_DIGITAL_WALLET, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } +#define Consumer_Application_Launch_Buttons (Key) { .raw = HID_CONSUMER_APPLICATION_LAUNCH_BUTTONS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY ) << 8) } +#define Consumer_AL_Launch_Button_Configuration_Tool (Key) { .raw = HID_CONSUMER_AL_LAUNCH_BUTTON_CONFIGURATION_TOOL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL) << 8) } +#define Consumer_AL_Programmable_Button_Configuration (Key) { .raw = HID_CONSUMER_AL_PROGRAMMABLE_BUTTON_CONFIGURATION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Consumer_Control_Configuration (Key) { .raw = HID_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Word_Processor (Key) { .raw = HID_CONSUMER_AL_WORD_PROCESSOR | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Text_Editor (Key) { .raw = HID_CONSUMER_AL_TEXT_EDITOR | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL) << 8) } +#define Consumer_AL_Spreadsheet (Key) { .raw = HID_CONSUMER_AL_SPREADSHEET | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Graphics_Editor (Key) { .raw = HID_CONSUMER_AL_GRAPHICS_EDITOR | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Presentation_App (Key) { .raw = HID_CONSUMER_AL_PRESENTATION_APP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Database_App (Key) { .raw = HID_CONSUMER_AL_DATABASE_APP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Email_Reader (Key) { .raw = HID_CONSUMER_AL_EMAIL_READER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Newsreader (Key) { .raw = HID_CONSUMER_AL_NEWSREADER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Voicemail (Key) { .raw = HID_CONSUMER_AL_VOICEMAIL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Contacts_Slash_Address_Book (Key) { .raw = HID_CONSUMER_AL_CONTACTS_SLASH_ADDRESS_BOOK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Calendar_Slash_Schedule (Key) { .raw = HID_CONSUMER_AL_CALENDAR_SLASH_SCHEDULE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Task_Slash_Project_Manager (Key) { .raw = HID_CONSUMER_AL_TASK_SLASH_PROJECT_MANAGER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Log_Slash_Journal_Slash_Timecard (Key) { .raw = HID_CONSUMER_AL_LOG_SLASH_JOURNAL_SLASH_TIMECARD | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Checkbook_Slash_Finance (Key) { .raw = HID_CONSUMER_AL_CHECKBOOK_SLASH_FINANCE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Calculator (Key) { .raw = HID_CONSUMER_AL_CALCULATOR | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_AVCaptureSlashPlayback (Key) { .raw = HID_CONSUMER_AL_A_SLASH_V_CAPTURE_SLASH_PLAYBACK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Local_MachineBrowser (Key) { .raw = HID_CONSUMER_AL_LOCAL_MACHINE_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Lan_SlashWanBrowser (Key) { .raw = HID_CONSUMER_AL_LAN_SLASH_WAN_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_InternetBrowser (Key) { .raw = HID_CONSUMER_AL_INTERNET_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_RemoteNetworkingSlashIspConnect (Key) { .raw = HID_CONSUMER_AL_REMOTE_NETWORKING_SLASH_ISP_CONNECT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_NetworkConference (Key) { .raw = HID_CONSUMER_AL_NETWORK_CONFERENCE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_NetworkChat (Key) { .raw = HID_CONSUMER_AL_NETWORK_CHAT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_TelephonySlashDialer (Key) { .raw = HID_CONSUMER_AL_TELEPHONY_SLASH_DIALER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Logon (Key) { .raw = HID_CONSUMER_AL_LOGON | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Logoff (Key) { .raw = HID_CONSUMER_AL_LOGOFF | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_LogonSlashLogoff (Key) { .raw = HID_CONSUMER_AL_LOGON_SLASH_LOGOFF | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_TerminalLockSlashScreensaver (Key) { .raw = HID_CONSUMER_AL_TERMINAL_LOCK_SLASH_SCREENSAVER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_ControlPanel (Key) { .raw = HID_CONSUMER_AL_CONTROL_PANEL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_CommandLineProcessorSlashRun (Key) { .raw = HID_CONSUMER_AL_COMMAND_LINE_PROCESSOR_SLASH_RUN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_ProcessSlashTask_Manager (Key) { .raw = HID_CONSUMER_AL_PROCESS_SLASH_TASK_MANAGER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_SelectTaskSlashApplication (Key) { .raw = HID_CONSUMER_AL_SELECT_TASK_SLASH_APPLICATION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_NextTaskSlashApplication (Key) { .raw = HID_CONSUMER_AL_NEXT_TASK_SLASH_APPLICATION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_PreviousTaskSlashApplication (Key) { .raw = HID_CONSUMER_AL_PREVIOUS_TASK_SLASH_APPLICATION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_PreemptiveHaltTaskSlashApplication (Key) { .raw = HID_CONSUMER_AL_PREEMPTIVE_HALT_TASK_SLASH_APPLICATION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_IntegratedHelpCenter (Key) { .raw = HID_CONSUMER_AL_INTEGRATED_HELP_CENTER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Documents (Key) { .raw = HID_CONSUMER_AL_DOCUMENTS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Thesaurus (Key) { .raw = HID_CONSUMER_AL_THESAURUS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Dictionary (Key) { .raw = HID_CONSUMER_AL_DICTIONARY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Desktop (Key) { .raw = HID_CONSUMER_AL_DESKTOP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_SpellCheck (Key) { .raw = HID_CONSUMER_AL_SPELL_CHECK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_GrammarCheck (Key) { .raw = HID_CONSUMER_AL_GRAMMAR_CHECK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_WirelessStatus (Key) { .raw = HID_CONSUMER_AL_WIRELESS_STATUS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_KeyboardLayout (Key) { .raw = HID_CONSUMER_AL_KEYBOARD_LAYOUT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_VirusProtection (Key) { .raw = HID_CONSUMER_AL_VIRUS_PROTECTION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Encryption (Key) { .raw = HID_CONSUMER_AL_ENCRYPTION | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_ScreenSaver (Key) { .raw = HID_CONSUMER_AL_SCREEN_SAVER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Alarms (Key) { .raw = HID_CONSUMER_AL_ALARMS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Clock (Key) { .raw = HID_CONSUMER_AL_CLOCK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_FileBrowser (Key) { .raw = HID_CONSUMER_AL_FILE_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_PowerStatus (Key) { .raw = HID_CONSUMER_AL_POWER_STATUS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_ImageBrowser (Key) { .raw = HID_CONSUMER_AL_IMAGE_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_AudioBrowser (Key) { .raw = HID_CONSUMER_AL_AUDIO_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_MovieBrowser (Key) { .raw = HID_CONSUMER_AL_MOVIE_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_DigitalRightsManager (Key) { .raw = HID_CONSUMER_AL_DIGITAL_RIGHTS_MANAGER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_DigitalWallet (Key) { .raw = HID_CONSUMER_AL_DIGITAL_WALLET | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } -#define Consumer_AL_InstantMessaging (Key) { HID_CONSUMER_AL_INSTANT_MESSAGING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_OemFeaturesSlashTipsSlashTUTORIALBrowser (Key) { HID_CONSUMER_AL_OEM_FEATURES_SLASH__TIPS_SLASH_TUTORIAL_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_OemHelp (Key) { HID_CONSUMER_AL_OEM_HELP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_OnlineCommunity (Key) { HID_CONSUMER_AL_ONLINE_COMMUNITY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_Entertainment_Content_Browser (Key) { HID_CONSUMER_AL_ENTERTAINMENT_CONTENT_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_OnlineShoppingBrowser (Key) { HID_CONSUMER_AL_ONLINE_SHOPPING_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_SmartcardInformationSlashHelp (Key) { HID_CONSUMER_AL_SMARTCARD_INFORMATION_SLASH_HELP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_MarketMonitorSlashFinanceBrowser (Key) { HID_CONSUMER_AL_MARKET_MONITOR_SLASH_FINANCE_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_CustomizedCorporateNewsBrowser (Key) { HID_CONSUMER_AL_CUSTOMIZED_CORPORATE_NEWS_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_OnlineActivityBrowser (Key) { HID_CONSUMER_AL_ONLINE_ACTIVITY_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_ResearchSlashSearchBrowser (Key) { HID_CONSUMER_AL_RESEARCH_SLASH_SEARCH_BROWSER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AL_AudioPlayer (Key) { HID_CONSUMER_AL_AUDIO_PLAYER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } +#define Consumer_AL_InstantMessaging (Key) { .raw = HID_CONSUMER_AL_INSTANT_MESSAGING | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_OemFeaturesSlashTipsSlashTUTORIALBrowser (Key) { .raw = HID_CONSUMER_AL_OEM_FEATURES_SLASH__TIPS_SLASH_TUTORIAL_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_OemHelp (Key) { .raw = HID_CONSUMER_AL_OEM_HELP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_OnlineCommunity (Key) { .raw = HID_CONSUMER_AL_ONLINE_COMMUNITY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_Entertainment_Content_Browser (Key) { .raw = HID_CONSUMER_AL_ENTERTAINMENT_CONTENT_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_OnlineShoppingBrowser (Key) { .raw = HID_CONSUMER_AL_ONLINE_SHOPPING_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_SmartcardInformationSlashHelp (Key) { .raw = HID_CONSUMER_AL_SMARTCARD_INFORMATION_SLASH_HELP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_MarketMonitorSlashFinanceBrowser (Key) { .raw = HID_CONSUMER_AL_MARKET_MONITOR_SLASH_FINANCE_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_CustomizedCorporateNewsBrowser (Key) { .raw = HID_CONSUMER_AL_CUSTOMIZED_CORPORATE_NEWS_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_OnlineActivityBrowser (Key) { .raw = HID_CONSUMER_AL_ONLINE_ACTIVITY_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_ResearchSlashSearchBrowser (Key) { .raw = HID_CONSUMER_AL_RESEARCH_SLASH_SEARCH_BROWSER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AL_AudioPlayer (Key) { .raw = HID_CONSUMER_AL_AUDIO_PLAYER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } -#define Consumer_GenericGuiApplicationControls (Key) { HID_CONSUMER_GENERIC_GUI_APPLICATION_CONTROLS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY } -#define Consumer_AC_New (Key) { HID_CONSUMER_AC_NEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Open (Key) { HID_CONSUMER_AC_OPEN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Close (Key) { HID_CONSUMER_AC_CLOSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Exit (Key) { HID_CONSUMER_AC_EXIT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Maximize (Key) { HID_CONSUMER_AC_MAXIMIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Minimize (Key) { HID_CONSUMER_AC_MINIMIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Save (Key) { HID_CONSUMER_AC_SAVE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Print (Key) { HID_CONSUMER_AC_PRINT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Properties (Key) { HID_CONSUMER_AC_PROPERTIES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Undo (Key) { HID_CONSUMER_AC_UNDO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Copy (Key) { HID_CONSUMER_AC_COPY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Cut (Key) { HID_CONSUMER_AC_CUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Paste (Key) { HID_CONSUMER_AC_PASTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectAll (Key) { HID_CONSUMER_AC_SELECT_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Find (Key) { HID_CONSUMER_AC_FIND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_FindAndReplace (Key) { HID_CONSUMER_AC_FIND_AND_REPLACE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Search (Key) { HID_CONSUMER_AC_SEARCH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_GoTo (Key) { HID_CONSUMER_AC_GO_TO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Home (Key) { HID_CONSUMER_AC_HOME, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Back (Key) { HID_CONSUMER_AC_BACK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Forward (Key) { HID_CONSUMER_AC_FORWARD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Stop (Key) { HID_CONSUMER_AC_STOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Refresh (Key) { HID_CONSUMER_AC_REFRESH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_PreviousLink (Key) { HID_CONSUMER_AC_PREVIOUS_LINK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_NextLink (Key) { HID_CONSUMER_AC_NEXT_LINK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Bookmarks (Key) { HID_CONSUMER_AC_BOOKMARKS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_History (Key) { HID_CONSUMER_AC_HISTORY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Subscriptions (Key) { HID_CONSUMER_AC_SUBSCRIPTIONS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ZoomIn (Key) { HID_CONSUMER_AC_ZOOM_IN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ZoomOut (Key) { HID_CONSUMER_AC_ZOOM_OUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Zoom (Key) { HID_CONSUMER_AC_ZOOM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_AC_FullSCreenView (Key) { HID_CONSUMER_AC_FULL_SCREEN_VIEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_NormalView (Key) { HID_CONSUMER_AC_NORMAL_VIEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ViewToggle (Key) { HID_CONSUMER_AC_VIEW_TOGGLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ScrollUp (Key) { HID_CONSUMER_AC_SCROLL_UP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ScrollDown (Key) { HID_CONSUMER_AC_SCROLL_DOWN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Scroll (Key) { HID_CONSUMER_AC_SCROLL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_AC_PanLeft (Key) { HID_CONSUMER_AC_PAN_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_PanRight (Key) { HID_CONSUMER_AC_PAN_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Pan (Key) { HID_CONSUMER_AC_PAN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC } -#define Consumer_AC_NewWindow (Key) { HID_CONSUMER_AC_NEW_WINDOW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_TileHorizontally (Key) { HID_CONSUMER_AC_TILE_HORIZONTALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_TileVertically (Key) { HID_CONSUMER_AC_TILE_VERTICALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Format (Key) { HID_CONSUMER_AC_FORMAT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Edit (Key) { HID_CONSUMER_AC_EDIT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Bold (Key) { HID_CONSUMER_AC_BOLD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Italics (Key) { HID_CONSUMER_AC_ITALICS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Underline (Key) { HID_CONSUMER_AC_UNDERLINE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Strikethrough (Key) { HID_CONSUMER_AC_STRIKETHROUGH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Subscript (Key) { HID_CONSUMER_AC_SUBSCRIPT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Superscript (Key) { HID_CONSUMER_AC_SUPERSCRIPT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_AllCaps (Key) { HID_CONSUMER_AC_ALL_CAPS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Rotate (Key) { HID_CONSUMER_AC_ROTATE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Resize (Key) { HID_CONSUMER_AC_RESIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_FlipHorizontal (Key) { HID_CONSUMER_AC_FLIP_HORIZONTAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_FlipVertical (Key) { HID_CONSUMER_AC_FLIP_VERTICAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_MirrorHorizontal (Key) { HID_CONSUMER_AC_MIRROR_HORIZONTAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_MirrorVertical (Key) { HID_CONSUMER_AC_MIRROR_VERTICAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_FontSelect (Key) { HID_CONSUMER_AC_FONT_SELECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_FontColor (Key) { HID_CONSUMER_AC_FONT_COLOR, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_FontSize (Key) { HID_CONSUMER_AC_FONT_SIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyLeft (Key) { HID_CONSUMER_AC_JUSTIFY_LEFT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyCenterH (Key) { HID_CONSUMER_AC_JUSTIFY_CENTER_H, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyRight (Key) { HID_CONSUMER_AC_JUSTIFY_RIGHT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyBlockH (Key) { HID_CONSUMER_AC_JUSTIFY_BLOCK_H, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyTop (key) { HID_CONSUMER_AC_JUSTIFY_TOP, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyCenterV (Key) { HID_CONSUMER_AC_JUSTIFY_CENTER_V, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyBottom (Key) { HID_CONSUMER_AC_JUSTIFY_BOTTOM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_JustifyBlockV (Key) { HID_CONSUMER_AC_JUSTIFY_BLOCK_V, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_IndentDecrease (Key) { HID_CONSUMER_AC_INDENT_DECREASE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_IndentIncrease (Key) { HID_CONSUMER_AC_INDENT_INCREASE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_NumberedList (Key) { HID_CONSUMER_AC_NUMBERED_LIST, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_RestartNumbering (Key) { HID_CONSUMER_AC_RESTART_NUMBERING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_BulletedList (Key) { HID_CONSUMER_AC_BULLETED_LIST, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Promote (Key) { HID_CONSUMER_AC_PROMOTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Demote (Key) { HID_CONSUMER_AC_DEMOTE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Yes (Key) { HID_CONSUMER_AC_YES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_No (Key) { HID_CONSUMER_AC_NO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Cancel (Key) { HID_CONSUMER_AC_CANCEL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Catalog (Key) { HID_CONSUMER_AC_CATALOG, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_BuySlashCheckout (Key) { HID_CONSUMER_AC_BUY_SLASH_CHECKOUT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_AddToCart (Key) { HID_CONSUMER_AC_ADD_TO_CART, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Expand (Key) { HID_CONSUMER_AC_EXPAND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ExpandAll (Key) { HID_CONSUMER_AC_EXPAND_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Collapse (Key) { HID_CONSUMER_AC_COLLAPSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_CollapseAll (Key) { HID_CONSUMER_AC_COLLAPSE_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_PrintPreview (Key) { HID_CONSUMER_AC_PRINT_PREVIEW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_PasteSpecial (Key) { HID_CONSUMER_AC_PASTE_SPECIAL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_InsertMode (Key) { HID_CONSUMER_AC_INSERT_MODE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Delete (Key) { HID_CONSUMER_AC_DELETE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Lock (Key) { HID_CONSUMER_AC_LOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Unlock (Key) { HID_CONSUMER_AC_UNLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Protect (Key) { HID_CONSUMER_AC_PROTECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Unprotect (Key) { HID_CONSUMER_AC_UNPROTECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_AttachComment (Key) { HID_CONSUMER_AC_ATTACH_COMMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_DeleteComment (Key) { HID_CONSUMER_AC_DELETE_COMMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ViewComment (Key) { HID_CONSUMER_AC_VIEW_COMMENT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectWord (Key) { HID_CONSUMER_AC_SELECT_WORD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectSentence (Key) { HID_CONSUMER_AC_SELECT_SENTENCE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectParagraph (Key) { HID_CONSUMER_AC_SELECT_PARAGRAPH, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectColumn (Key) { HID_CONSUMER_AC_SELECT_COLUMN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectRow (Key) { HID_CONSUMER_AC_SELECT_ROW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectTable (Key) { HID_CONSUMER_AC_SELECT_TABLE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectObject (Key) { HID_CONSUMER_AC_SELECT_OBJECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_RedoSlashRepeat (Key) { HID_CONSUMER_AC_REDO_SLASH_REPEAT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Sort (Key) { HID_CONSUMER_AC_SORT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Sort_Ascending (Key) { HID_CONSUMER_AC_SORT_ASCENDING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Sort_Descending (Key) { HID_CONSUMER_AC_SORT_DESCENDING, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Filter (Key) { HID_CONSUMER_AC_FILTER, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SetClock (Key) { HID_CONSUMER_AC_SET_CLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ViewClock (Key) { HID_CONSUMER_AC_VIEW_CLOCK, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SelectTimeZone (Key) { HID_CONSUMER_AC_SELECT_TIME_ZONE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_EditTimeZones (Key) { HID_CONSUMER_AC_EDIT_TIME_ZONES, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SetAlarm (Key) { HID_CONSUMER_AC_SET_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ClearAlarm (Key) { HID_CONSUMER_AC_CLEAR_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SnoozeAlarm (Key) { HID_CONSUMER_AC_SNOOZE_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ResetAlarm (Key) { HID_CONSUMER_AC_RESET_ALARM, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Synchronize (Key) { HID_CONSUMER_AC_SYNCHRONIZE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SendSlashReceive (Key) { HID_CONSUMER_AC_SEND_SLASH_RECEIVE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SendTo (Key) { HID_CONSUMER_AC_SEND_TO, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Reply (Key) { HID_CONSUMER_AC_REPLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ReplyAll (Key) { HID_CONSUMER_AC_REPLY_ALL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_ForwardMsg (Key) { HID_CONSUMER_AC_FORWARD_MSG, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Send (Key) { HID_CONSUMER_AC_SEND, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_AttachFile (Key) { HID_CONSUMER_AC_ATTACH_FILE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Upload (Key) { HID_CONSUMER_AC_UPLOAD, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Download (Key) { HID_CONSUMER_AC_DOWNLOAD_(SAVE_TARGET_AS), KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SetBorders (Key) { HID_CONSUMER_AC_SET_BORDERS, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_InsertRow (key) { HID_CONSUMER_AC_INSERT_ROW, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_InsertColumn (Key) { HID_CONSUMER_AC_INSERT_COLUMN, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_InsertFile (Key) { HID_CONSUMER_AC_INSERT_FILE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_InsertPicture (Key) { HID_CONSUMER_AC_INSERT_PICTURE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_InsertObject (Key) { HID_CONSUMER_AC_INSERT_OBJECT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_InsertSymbol (Key) { HID_CONSUMER_AC_INSERT_SYMBOL, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_SaveandClose (Key) { HID_CONSUMER_AC_SAVE_AND_CLOSE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Rename (Key) { HID_CONSUMER_AC_RENAME, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Merge (Key) { HID_CONSUMER_AC_MERGE, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Split (Key) { HID_CONSUMER_AC_SPLIT, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Distribute_Horizontally (Key) { HID_CONSUMER_AC_DISTRIBUTE_HORIZONTALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } -#define Consumer_AC_Distribute_Vertically (Key) { HID_CONSUMER_AC_DISTRIBUTE_VERTICALLY, KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL } +#define Consumer_GenericGuiApplicationControls (Key) { .raw = HID_CONSUMER_GENERIC_GUI_APPLICATION_CONTROLS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_NARY ) << 8) } +#define Consumer_AC_New (Key) { .raw = HID_CONSUMER_AC_NEW | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Open (Key) { .raw = HID_CONSUMER_AC_OPEN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Close (Key) { .raw = HID_CONSUMER_AC_CLOSE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Exit (Key) { .raw = HID_CONSUMER_AC_EXIT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Maximize (Key) { .raw = HID_CONSUMER_AC_MAXIMIZE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Minimize (Key) { .raw = HID_CONSUMER_AC_MINIMIZE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Save (Key) { .raw = HID_CONSUMER_AC_SAVE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Print (Key) { .raw = HID_CONSUMER_AC_PRINT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Properties (Key) { .raw = HID_CONSUMER_AC_PROPERTIES | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Undo (Key) { .raw = HID_CONSUMER_AC_UNDO | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Copy (Key) { .raw = HID_CONSUMER_AC_COPY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Cut (Key) { .raw = HID_CONSUMER_AC_CUT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Paste (Key) { .raw = HID_CONSUMER_AC_PASTE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectAll (Key) { .raw = HID_CONSUMER_AC_SELECT_ALL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Find (Key) { .raw = HID_CONSUMER_AC_FIND | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_FindAndReplace (Key) { .raw = HID_CONSUMER_AC_FIND_AND_REPLACE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Search (Key) { .raw = HID_CONSUMER_AC_SEARCH | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_GoTo (Key) { .raw = HID_CONSUMER_AC_GO_TO | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Home (Key) { .raw = HID_CONSUMER_AC_HOME | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Back (Key) { .raw = HID_CONSUMER_AC_BACK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Forward (Key) { .raw = HID_CONSUMER_AC_FORWARD | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Stop (Key) { .raw = HID_CONSUMER_AC_STOP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Refresh (Key) { .raw = HID_CONSUMER_AC_REFRESH | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_PreviousLink (Key) { .raw = HID_CONSUMER_AC_PREVIOUS_LINK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_NextLink (Key) { .raw = HID_CONSUMER_AC_NEXT_LINK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Bookmarks (Key) { .raw = HID_CONSUMER_AC_BOOKMARKS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_History (Key) { .raw = HID_CONSUMER_AC_HISTORY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Subscriptions (Key) { .raw = HID_CONSUMER_AC_SUBSCRIPTIONS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ZoomIn (Key) { .raw = HID_CONSUMER_AC_ZOOM_IN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ZoomOut (Key) { .raw = HID_CONSUMER_AC_ZOOM_OUT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Zoom (Key) { .raw = HID_CONSUMER_AC_ZOOM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_AC_FullSCreenView (Key) { .raw = HID_CONSUMER_AC_FULL_SCREEN_VIEW | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_NormalView (Key) { .raw = HID_CONSUMER_AC_NORMAL_VIEW | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ViewToggle (Key) { .raw = HID_CONSUMER_AC_VIEW_TOGGLE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ScrollUp (Key) { .raw = HID_CONSUMER_AC_SCROLL_UP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ScrollDown (Key) { .raw = HID_CONSUMER_AC_SCROLL_DOWN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Scroll (Key) { .raw = HID_CONSUMER_AC_SCROLL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_AC_PanLeft (Key) { .raw = HID_CONSUMER_AC_PAN_LEFT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_PanRight (Key) { .raw = HID_CONSUMER_AC_PAN_RIGHT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Pan (Key) { .raw = HID_CONSUMER_AC_PAN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_LC ) << 8) } +#define Consumer_AC_NewWindow (Key) { .raw = HID_CONSUMER_AC_NEW_WINDOW | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_TileHorizontally (Key) { .raw = HID_CONSUMER_AC_TILE_HORIZONTALLY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_TileVertically (Key) { .raw = HID_CONSUMER_AC_TILE_VERTICALLY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Format (Key) { .raw = HID_CONSUMER_AC_FORMAT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Edit (Key) { .raw = HID_CONSUMER_AC_EDIT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Bold (Key) { .raw = HID_CONSUMER_AC_BOLD | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Italics (Key) { .raw = HID_CONSUMER_AC_ITALICS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Underline (Key) { .raw = HID_CONSUMER_AC_UNDERLINE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Strikethrough (Key) { .raw = HID_CONSUMER_AC_STRIKETHROUGH | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Subscript (Key) { .raw = HID_CONSUMER_AC_SUBSCRIPT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Superscript (Key) { .raw = HID_CONSUMER_AC_SUPERSCRIPT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_AllCaps (Key) { .raw = HID_CONSUMER_AC_ALL_CAPS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Rotate (Key) { .raw = HID_CONSUMER_AC_ROTATE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Resize (Key) { .raw = HID_CONSUMER_AC_RESIZE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_FlipHorizontal (Key) { .raw = HID_CONSUMER_AC_FLIP_HORIZONTAL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_FlipVertical (Key) { .raw = HID_CONSUMER_AC_FLIP_VERTICAL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_MirrorHorizontal (Key) { .raw = HID_CONSUMER_AC_MIRROR_HORIZONTAL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_MirrorVertical (Key) { .raw = HID_CONSUMER_AC_MIRROR_VERTICAL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_FontSelect (Key) { .raw = HID_CONSUMER_AC_FONT_SELECT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_FontColor (Key) { .raw = HID_CONSUMER_AC_FONT_COLOR | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_FontSize (Key) { .raw = HID_CONSUMER_AC_FONT_SIZE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyLeft (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_LEFT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyCenterH (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_CENTER_H | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyRight (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_RIGHT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyBlockH (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_BLOCK_H | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyTop (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_TOP | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyCenterV (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_CENTER_V | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyBottom (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_BOTTOM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_JustifyBlockV (Key) { .raw = HID_CONSUMER_AC_JUSTIFY_BLOCK_V | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_IndentDecrease (Key) { .raw = HID_CONSUMER_AC_INDENT_DECREASE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_IndentIncrease (Key) { .raw = HID_CONSUMER_AC_INDENT_INCREASE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_NumberedList (Key) { .raw = HID_CONSUMER_AC_NUMBERED_LIST | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_RestartNumbering (Key) { .raw = HID_CONSUMER_AC_RESTART_NUMBERING | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_BulletedList (Key) { .raw = HID_CONSUMER_AC_BULLETED_LIST | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Promote (Key) { .raw = HID_CONSUMER_AC_PROMOTE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Demote (Key) { .raw = HID_CONSUMER_AC_DEMOTE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Yes (Key) { .raw = HID_CONSUMER_AC_YES | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_No (Key) { .raw = HID_CONSUMER_AC_NO | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Cancel (Key) { .raw = HID_CONSUMER_AC_CANCEL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Catalog (Key) { .raw = HID_CONSUMER_AC_CATALOG | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_BuySlashCheckout (Key) { .raw = HID_CONSUMER_AC_BUY_SLASH_CHECKOUT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_AddToCart (Key) { .raw = HID_CONSUMER_AC_ADD_TO_CART | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Expand (Key) { .raw = HID_CONSUMER_AC_EXPAND | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ExpandAll (Key) { .raw = HID_CONSUMER_AC_EXPAND_ALL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Collapse (Key) { .raw = HID_CONSUMER_AC_COLLAPSE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_CollapseAll (Key) { .raw = HID_CONSUMER_AC_COLLAPSE_ALL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_PrintPreview (Key) { .raw = HID_CONSUMER_AC_PRINT_PREVIEW | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_PasteSpecial (Key) { .raw = HID_CONSUMER_AC_PASTE_SPECIAL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_InsertMode (Key) { .raw = HID_CONSUMER_AC_INSERT_MODE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Delete (Key) { .raw = HID_CONSUMER_AC_DELETE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Lock (Key) { .raw = HID_CONSUMER_AC_LOCK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Unlock (Key) { .raw = HID_CONSUMER_AC_UNLOCK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Protect (Key) { .raw = HID_CONSUMER_AC_PROTECT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Unprotect (Key) { .raw = HID_CONSUMER_AC_UNPROTECT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_AttachComment (Key) { .raw = HID_CONSUMER_AC_ATTACH_COMMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_DeleteComment (Key) { .raw = HID_CONSUMER_AC_DELETE_COMMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ViewComment (Key) { .raw = HID_CONSUMER_AC_VIEW_COMMENT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectWord (Key) { .raw = HID_CONSUMER_AC_SELECT_WORD | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectSentence (Key) { .raw = HID_CONSUMER_AC_SELECT_SENTENCE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectParagraph (Key) { .raw = HID_CONSUMER_AC_SELECT_PARAGRAPH | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectColumn (Key) { .raw = HID_CONSUMER_AC_SELECT_COLUMN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectRow (Key) { .raw = HID_CONSUMER_AC_SELECT_ROW | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectTable (Key) { .raw = HID_CONSUMER_AC_SELECT_TABLE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectObject (Key) { .raw = HID_CONSUMER_AC_SELECT_OBJECT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_RedoSlashRepeat (Key) { .raw = HID_CONSUMER_AC_REDO_SLASH_REPEAT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Sort (Key) { .raw = HID_CONSUMER_AC_SORT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Sort_Ascending (Key) { .raw = HID_CONSUMER_AC_SORT_ASCENDING | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Sort_Descending (Key) { .raw = HID_CONSUMER_AC_SORT_DESCENDING | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Filter (Key) { .raw = HID_CONSUMER_AC_FILTER | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SetClock (Key) { .raw = HID_CONSUMER_AC_SET_CLOCK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ViewClock (Key) { .raw = HID_CONSUMER_AC_VIEW_CLOCK | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SelectTimeZone (Key) { .raw = HID_CONSUMER_AC_SELECT_TIME_ZONE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_EditTimeZones (Key) { .raw = HID_CONSUMER_AC_EDIT_TIME_ZONES | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SetAlarm (Key) { .raw = HID_CONSUMER_AC_SET_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ClearAlarm (Key) { .raw = HID_CONSUMER_AC_CLEAR_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SnoozeAlarm (Key) { .raw = HID_CONSUMER_AC_SNOOZE_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ResetAlarm (Key) { .raw = HID_CONSUMER_AC_RESET_ALARM | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Synchronize (Key) { .raw = HID_CONSUMER_AC_SYNCHRONIZE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SendSlashReceive (Key) { .raw = HID_CONSUMER_AC_SEND_SLASH_RECEIVE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SendTo (Key) { .raw = HID_CONSUMER_AC_SEND_TO | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Reply (Key) { .raw = HID_CONSUMER_AC_REPLY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ReplyAll (Key) { .raw = HID_CONSUMER_AC_REPLY_ALL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_ForwardMsg (Key) { .raw = HID_CONSUMER_AC_FORWARD_MSG | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Send (Key) { .raw = HID_CONSUMER_AC_SEND | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_AttachFile (Key) { .raw = HID_CONSUMER_AC_ATTACH_FILE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Upload (Key) { .raw = HID_CONSUMER_AC_UPLOAD | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Download (Key) { .raw = HID_CONSUMER_AC_DOWNLOAD_SAVE_TARGET_AS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SetBorders (Key) { .raw = HID_CONSUMER_AC_SET_BORDERS | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_InsertRow (Key) { .raw = HID_CONSUMER_AC_INSERT_ROW | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_InsertColumn (Key) { .raw = HID_CONSUMER_AC_INSERT_COLUMN | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_InsertFile (Key) { .raw = HID_CONSUMER_AC_INSERT_FILE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_InsertPicture (Key) { .raw = HID_CONSUMER_AC_INSERT_PICTURE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_InsertObject (Key) { .raw = HID_CONSUMER_AC_INSERT_OBJECT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_InsertSymbol (Key) { .raw = HID_CONSUMER_AC_INSERT_SYMBOL | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_SaveandClose (Key) { .raw = HID_CONSUMER_AC_SAVE_AND_CLOSE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Rename (Key) { .raw = HID_CONSUMER_AC_RENAME | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Merge (Key) { .raw = HID_CONSUMER_AC_MERGE | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Split (Key) { .raw = HID_CONSUMER_AC_SPLIT | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Distribute_Horizontally (Key) { .raw = HID_CONSUMER_AC_DISTRIBUTE_HORIZONTALLY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) } +#define Consumer_AC_Distribute_Vertically (Key) { .raw = HID_CONSUMER_AC_DISTRIBUTE_VERTICALLY | ((KEY_FLAGS | SYNTHETIC|IS_CONSUMER | HID_TYPE_SEL ) << 8) }