Hid/HidUsageTables.cs
author StephaneLenclud
Sun, 22 Mar 2015 19:33:36 +0100
changeset 86 96d1dcf8ca70
parent 83 2d5955694057
permissions -rw-r--r--
Adding missing public keyword for some of our usage enumerations.
     1 //
     2 // Copyright (C) 2014-2015 Stéphane Lenclud.
     3 //
     4 // This file is part of SharpLibHid.
     5 //
     6 // SharpDisplayManager is free software: you can redistribute it and/or modify
     7 // it under the terms of the GNU General Public License as published by
     8 // the Free Software Foundation, either version 3 of the License, or
     9 // (at your option) any later version.
    10 //
    11 // SharpDisplayManager is distributed in the hope that it will be useful,
    12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    14 // GNU General Public License for more details.
    15 //
    16 // You should have received a copy of the GNU General Public License
    17 // along with SharpDisplayManager.  If not, see <http://www.gnu.org/licenses/>.
    18 //
    19 
    20 namespace SharpLib.Hid
    21 {
    22     /// <summary>
    23     /// From USB HID usage tables.
    24     /// http://www.usb.org/developers/hidpage#HID_Usage
    25     /// http://www.usb.org/developers/hidpage/Hut1_12v2.pdf
    26     /// </summary>
    27     public enum UsagePage : ushort
    28     {
    29         Undefined = 0,
    30         GenericDesktopControls,
    31         SimulationControls,
    32         VirtualRealityControls,
    33         SportControls,
    34         GameControls,
    35         GenericDeviceControls,
    36         Keyboard,
    37         LightEmittingDiode,
    38         Button,
    39         Ordinal,
    40         Telephony,
    41         Consumer,
    42         Digitiser,
    43         PhysicalInterfaceDevice = 0x0f,
    44         Unicode = 0x10,
    45         AlphaNumericDisplay = 0x14,
    46         MedicalInstruments = 0x40,
    47         MonitorPage0 = 0x80,
    48         MonitorPage1,
    49         MonitorPage2,
    50         MonitorPage3,
    51         PowerPage0,
    52         PowerPage1,
    53         PowerPage2,
    54         PowerPage3,
    55         BarCodeScanner = 0x8c,
    56         Scale,
    57         MagneticStripeReader,
    58         ReservedPointOfSale,
    59         CameraControl,
    60         Arcade,
    61         // http://msdn.microsoft.com/en-us/library/windows/desktop/bb417079.aspx
    62         WindowsMediaCenterRemoteControl = 0xffbc,
    63         TerraTecRemote = 0xffcc
    64     }
    65 
    66     /// <summary>
    67     /// Usage Collections are special values from our Usage enumeration.
    68     /// Thus they are also part of the corresponding Usage enumeration.
    69     /// </summary>
    70     namespace UsageCollection
    71     {
    72         /// <summary>
    73         /// Usage Collection for usage page GenericDesktopControls.
    74         /// </summary>
    75         public enum GenericDesktop : ushort
    76         {
    77             Pointer = 0x01,
    78             Mouse = 0x02,
    79             Joystick = 0x04,
    80             GamePad = 0x05,
    81             Keyboard = 0x06,
    82             KeyPad = 0x07,
    83             MultiAxisController = 0x08,
    84             TabletPCSystemControls = 0x09,
    85             SystemControl = 0x80
    86         }
    87 
    88         /// <summary>
    89         /// Usage Collection for usage page Consumer.
    90         /// </summary>
    91         public enum Consumer : ushort
    92         {
    93             ConsumerControl = 0x01,
    94             NumericKeyPad = 0x02,
    95             ProgrammableButtons = 0x03,
    96             Microphone = 0x04,
    97             Headphone = 0x05,
    98             GraphicEqualizer = 0x06,
    99             FunctionButtons = 0x36,
   100             Selection = 0x80,
   101             MediaSelection = 0x0087,
   102             SelectDisc = 0x00BA,
   103             PlaybackSpeed = 0x00F1,
   104             Proximity = 0x0109,
   105             SpeakerSystem = 0x0160,
   106             ChannelLeft = 0x0161,
   107             ChannelRight = 0x0162,
   108             ChannelCenter = 0x0163,
   109             ChannelFront = 0x0164,
   110             ChannelCenterFront = 0x0165,
   111             ChannelSide = 0x0166,
   112             ChannelSurrond = 0x0167,
   113             ChannelLowFrequencyEnhancement = 0x0168,
   114             ChannelTop = 0x0169,
   115             ChannelUnknown = 0x016A,
   116             ApplicationLaunchButtons = 0x016A,
   117             GenericGuiApplicationControls = 0x0200,
   118         }
   119 
   120 
   121         public enum WindowsMediaCenter : ushort
   122         {
   123             WindowsMediaCenterRemoteControl = 0x88
   124         }
   125 
   126     }
   127 
   128 
   129 
   130     namespace Usage
   131     {
   132         /// <summary>
   133         ///
   134         /// </summary>
   135         public enum WindowsMediaCenterRemoteControl : ushort
   136         {
   137             /// <summary>
   138             /// Not defined by the Microsoft specs.
   139             /// </summary>
   140             Null = 0x00,
   141             GreenStart = 0x0D,
   142             ClosedCaptioning = 0x2B,
   143             Teletext = 0x5A,
   144             TeletextRed = 0x5B,
   145             TeletextGreen = 0x5C,
   146             TeletextYellow = 0x5D,
   147             TeletextBlue = 0x5E,
   148             LiveTv = 0x25,
   149             Tv = 0x46,
   150             Music = 0x47,
   151             RecordedTv = 0x48,
   152             Pictures = 0x49,
   153             Videos = 0x4A,
   154             FmRadio = 0x50,
   155             Extras = 0x3C,
   156             ExtrasApp = 0x3D,
   157             DvdMenu = 0x24,
   158             DvdAngle = 0x4B,
   159             DvdAudio = 0x4C,
   160             DvdSubtitle = 0x4D,
   161             /// <summary>
   162             /// First press action: Ejects a DVD drive.
   163             /// <para />
   164             /// Second press action: Repeats first press action.
   165             /// <para />
   166             /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
   167             /// </summary>
   168             Eject = 0x28,
   169             DvdTopMenu = 0x43,
   170             /// <summary>
   171             /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   172             /// Collection (page 0xFFBC, usage 0x88).
   173             /// <para />
   174             /// Second press action: Repeats message.
   175             /// <para />
   176             /// Auto-repeat: No
   177             /// <para />
   178             /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
   179             /// <para />
   180             /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
   181             /// </summary>
   182             Ext0 = 0x32,
   183             /// <summary>
   184             /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   185             /// Collection (page 0xFFBC, usage 0x88).
   186             /// <para />
   187             /// Second press action: Repeats message.
   188             /// <para />
   189             /// Auto-repeat: No
   190             /// <para />
   191             /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
   192             /// <para />
   193             /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
   194             /// </summary>
   195             Ext1 = 0x33,
   196             /// <summary>
   197             /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   198             /// Collection (page 0xFFBC, usage 0x88).
   199             /// <para />
   200             /// Second press action: Repeats message.
   201             /// <para />
   202             /// Auto-repeat: No
   203             /// <para />
   204             /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
   205             /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
   206             /// </summary>
   207             Ext2 = 0x34,
   208             /// <summary>
   209             /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   210             /// Collection (page 0xFFBC, usage 0x88).
   211             /// <para />
   212             /// Second press action: Repeats message.
   213             /// <para />
   214             /// Auto-repeat: No
   215             /// <para />
   216             /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
   217             /// </summary>
   218             Ext3 = 0x35,
   219             Ext4 = 0x36,
   220             Ext5 = 0x37,
   221             Ext6 = 0x38,
   222             Ext7 = 0x39,
   223             Ext8 = 0x3A,
   224             Ext9 = 0x80,
   225             Ext10 = 0x81,
   226             Ext11 = 0x6F,
   227             Zoom = 0x27,
   228             ChannelInput = 0x42,
   229             SubAudio = 0x2D,
   230             Channel10 = 0x3E,
   231             Channel11 = 0x3F,
   232             Channel12 = 0x40,
   233             /// <summary>
   234             /// First press action: Generates OEM2 HID message in the Media Center Vendor Specific
   235             /// Collection. This button is intended to control the front panel display of home entertainment
   236             /// computers. When this button is pressed, the display could be turned on or off, or the display
   237             /// mode could change.
   238             /// <para />
   239             /// Second press action: Repeats message.
   240             /// <para />
   241             /// Auto-repeat: No
   242             /// <para />
   243             /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
   244             /// </summary>
   245             Display = 0x4F,
   246             /// <summary>
   247             /// First press action: To be determined.
   248             /// <para />
   249             /// Second press action: Repeats message.
   250             /// <para />
   251             /// Auto-repeat: No
   252             /// </summary>
   253             Kiosk = 0x6A,
   254             NetworkSelection = 0x2C,
   255             BlueRayTool = 0x78,
   256             ChannelInfo = 0x41,
   257             VideoSelection = 0x61
   258         }
   259 
   260         /// <summary>
   261         /// Those codes come from experimenting with HP remotes.
   262         /// </summary>
   263         public enum HpWindowsMediaCenterRemoteControl : ushort
   264         {
   265             /// <summary>
   266             /// Displays visual imagery that is synchronized to the sound of your music tracks.
   267             /// <para />
   268             /// Second press action: Repeats message.
   269             /// <para />
   270             /// Auto-repeat: No
   271             /// <para />
   272             /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
   273             /// <para />
   274             /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
   275             /// </summary>
   276             Visualization = WindowsMediaCenterRemoteControl.Ext0,
   277             /// <summary>
   278             /// Plays a slide show of all the pictures on your hard disk drive.
   279             /// <para />
   280             /// Second press action: Repeats message.
   281             /// <para />
   282             /// Auto-repeat: No
   283             /// <para />
   284             /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
   285             /// <para />
   286             /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
   287             /// </summary>
   288             SlideShow = WindowsMediaCenterRemoteControl.Ext1,
   289             /// <summary>
   290             /// Eject optical drive.
   291             /// <para />
   292             /// Second press action: Repeats message.
   293             /// <para />
   294             /// Auto-repeat: No
   295             /// <para />
   296             /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
   297             /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
   298             /// </summary>
   299             HpEject = WindowsMediaCenterRemoteControl.Ext2,
   300             /// <summary>
   301             /// Not sure what this should do.
   302             /// <para />
   303             /// Second press action: Repeats message.
   304             /// <para />
   305             /// Auto-repeat: No
   306             /// <para />
   307             /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
   308             /// </summary>
   309             InputSelection = WindowsMediaCenterRemoteControl.Ext3,
   310         }
   311 
   312         /// <summary>
   313         /// Usage Table for Consumer Controls
   314         /// 0x0C 0X01
   315         /// </summary>
   316         public enum ConsumerControl : ushort
   317         {
   318             Null = 0x00,
   319             ConsumerControl = 0x01,
   320             NumericKeyPad = 0x02,
   321             ProgrammableButtons = 0x03,
   322             Microphone = 0x04,
   323             Headphone = 0x05,
   324             GraphicEqualizer = 0x06,
   325             ThinkPadMicrophoneMute = 0x10, //Custom
   326             ThinkPadVantage = 0x11, //Custom
   327             ThinkPadSystemLock = 0x12, //Custom
   328             ThinkPadPowerManagement = 0x13, //Custom
   329             ThinkPadWirelessNetwork = 0x14, //Custom
   330             ThinkPadCamera = 0x15, //Custom
   331             ThinkPadDisplayScheme = 0x16, //Custom
   332             ThinkPadMouseProperties = 0x17, //Custom
   333             ThinkPadEject = 0x18, //Custom
   334             ThinkPadSystemHibernate = 0x19, //Custom
   335             ThinkPadBrightnessIncrement = 0x1A, //Custom
   336             ThinkPadBrightnessDecrement = 0x1B, //Custom
   337             ThinkPadFullscreenMagnifier = 0x1D, //Custom
   338             Plus10 = 0x20,
   339             Plus100 = 0x21,
   340             AmPm = 0x22,
   341             Power = 0x30,
   342             Reset = 0x31,
   343             Sleep = 0x32,
   344             SleepAfter = 0x33,
   345             SleepMode = 0x34,
   346             Illumination = 0x35,
   347             FunctionButtons = 0x36,
   348             Menu = 0x40,
   349             MenuPick = 0x41,
   350             MenuUp = 0x42,
   351             MenuDown = 0x43,
   352             MenuLeft = 0x44,
   353             MenuRight = 0x45,
   354             MenuEscape = 0x46,
   355             MenuValueIncrease = 0x47,
   356             MenuValueDecrease = 0x48,
   357             DataOnScreen = 0x60,
   358             ClosedCaption = 0x61,
   359             ClosedCaptionSelect = 0x62,
   360             VcrTv = 0x63,
   361             BroadcastMode = 0x64,
   362             Snapshot = 0x65,
   363             Still = 0x66,
   364             Selection = 0x80,
   365             AssignSelection = 0x81,
   366             ModeStep = 0x82,
   367             RecallLast = 0x83,
   368             EnterChannel = 0x84,
   369             OrderMovie = 0x85,
   370             Channel = 0x86,
   371             MediaSelection = 0x87,
   372             MediaSelectComputer = 0x88,
   373             MediaSelectTv = 0x89,
   374             MediaSelectWww = 0x8A,
   375             MediaSelectDvd = 0x8B,
   376             MediaSelectTelephone = 0x8C,
   377             MediaSelectProgramGuide = 0x8D,
   378             MediaSelectVideoPhone = 0x8E,
   379             MediaSelectGames = 0x8F,
   380             MediaSelectMessages = 0x90,
   381             MediaSelectCd = 0x91,
   382             MediaSelectVcr = 0x92,
   383             MediaSelectTuner = 0x93,
   384             Quit = 0x94,
   385             Help = 0x95,
   386             MediaSelectTape = 0x96,
   387             MediaSelectCable = 0x97,
   388             MediaSelectSatellite = 0x98,
   389             MediaSelectSecurity = 0x99,
   390             MediaSelectHome = 0x9A,
   391             MediaSelectCall = 0x9B,
   392             ChannelIncrement = 0x9C,
   393             ChannelDecrement = 0x9D,
   394             MediaSelectSap = 0x9E,
   395             VcrPlus = 0xA0,
   396             Once = 0xA1,
   397             Daily = 0xA2,
   398             Weekly = 0xA3,
   399             Monthly = 0xA4,
   400             Play = 0xB0,
   401             Pause = 0xB1,
   402             Record = 0xB2,
   403             FastForward = 0xB3,
   404             Rewind = 0xB4,
   405             ScanNextTrack = 0xB5,
   406             ScanPreviousTrack = 0xB6,
   407             Stop = 0xB7,
   408             Eject = 0xB8,
   409             RandomPlay = 0xB9,
   410             SelectDisc = 0xBA,
   411             EnterDisc = 0xBB,
   412             Repeat = 0xBC,
   413             Tracking = 0xBD,
   414             TrackNormal = 0xBE,
   415             SlowTracking = 0xBF,
   416             FrameForward = 0xC0,
   417             FrameBack = 0xC1,
   418             Mark = 0xC2,
   419             ClearMark = 0xC3,
   420             RepeatFromMark = 0xC4,
   421             ReturnToMark = 0xC5,
   422             SearchMarkForward = 0xC6,
   423             SearchMarkBackwards = 0xC7,
   424             CounterReset = 0xC8,
   425             ShowCounter = 0xC9,
   426             TrackingIncrement = 0xCA,
   427             TrackingDecrement = 0xCB,
   428             StopEject = 0xCC,
   429             PlayPause = 0xCD,
   430             PlaySkip = 0xCE,
   431             Volume = 0xE0,
   432             Balance = 0xE1,
   433             Mute = 0xE2,
   434             Bass = 0xE3,
   435             Treble = 0xE4,
   436             BassBoost = 0xE5,
   437             SurroundMode = 0xE6,
   438             Loudness = 0xE7,
   439             Mpx = 0xE8,
   440             VolumeIncrement = 0xE9,
   441             VolumeDecrement = 0xEA,
   442             SpeedSelect = 0xF0,
   443             PlaybackSpeed = 0xF1,
   444             StandardPlay = 0xF2,
   445             LongPlay = 0xF3,
   446             ExtendedPlay = 0xF4,
   447             Slow = 0xF5,
   448             FanEnable = 0x100,
   449             FanSpeed = 0x101,
   450             LightEnable = 0x102,
   451             LightIlluminationLevel = 0x103,
   452             ClimateControlEnable = 0x104,
   453             RoomTemperature = 0x105,
   454             SecurityEnable = 0x106,
   455             FireAlarm = 0x107,
   456             PoliceAlarm = 0x108,
   457             Proximity = 0x109,
   458             Motion = 0x10A,
   459             DuressAlarm = 0x10B,
   460             HoldupAlarm = 0x10C,
   461             MedicalAlarm = 0x10D,
   462             BalanceRight = 0x150,
   463             BalanceLeft = 0x151,
   464             BassIncrement = 0x152,
   465             BassDecrement = 0x153,
   466             TrebleIncrement = 0x154,
   467             TrebleDecrement = 0x155,
   468             SpeakerSystem = 0x160,
   469             ChannelLeft = 0x161,
   470             ChannelRight = 0x162,
   471             ChannelCenter = 0x163,
   472             ChannelFront = 0x164,
   473             ChannelCenterFront = 0x165,
   474             ChannelSide = 0x166,
   475             ChannelSurround = 0x167,
   476             ChannelLowFrequencyEnhancement = 0x168,
   477             ChannelTop = 0x169,
   478             ChannelUnknown = 0x16A,
   479             SubChannel = 0x170,
   480             SubChannelIncrement = 0x171,
   481             SubChannelDecrement = 0x172,
   482             AlternateAudioIncrement = 0x173,
   483             AlternateAudioDecrement = 0x174,
   484             ApplicationLaunchButtons = 0x180,
   485             AppLaunchLaunchButtonConfigurationTool = 0x181,
   486             AppLaunchProgrammableButtonConfiguration = 0x182,
   487             AppLaunchConsumerControlConfiguration = 0x183,
   488             AppLaunchWordProcessor = 0x184,
   489             AppLaunchTextEditor = 0x185,
   490             AppLaunchSpreadsheet = 0x186,
   491             AppLaunchGraphicsEditor = 0x187,
   492             AppLaunchPresentationApp = 0x188,
   493             AppLaunchDatabaseApp = 0x189,
   494             AppLaunchEmailReader = 0x18A,
   495             AppLaunchNewsreader = 0x18B,
   496             AppLaunchVoicemail = 0x18C,
   497             AppLaunchContactsAddressBook = 0x18D,
   498             AppLaunchCalendarSchedule = 0x18E,
   499             AppLaunchTaskProjectManager = 0x18F,
   500             AppLaunchLogJournalTimecard = 0x190,
   501             AppLaunchCheckbookFinance = 0x191,
   502             AppLaunchCalculator = 0x192,
   503             AppLaunchAVCapturePlayback = 0x193,
   504             AppLaunchLocalMachineBrowser = 0x194,
   505             AppLaunchLanWanBrowser = 0x195,
   506             AppLaunchInternetBrowser = 0x196,
   507             AppLaunchRemoteNetworkingIspConnect = 0x197,
   508             AppLaunchNetworkConference = 0x198,
   509             AppLaunchNetworkChat = 0x199,
   510             AppLaunchTelephonyDialer = 0x19A,
   511             AppLaunchLogon = 0x19B,
   512             AppLaunchLogoff = 0x19C,
   513             AppLaunchLogonLogoff = 0x19D,
   514             AppLaunchTerminalLockScreensaver = 0x19E,
   515             AppLaunchControlPanel = 0x19F,
   516             AppLaunchCommandLineProcessorRun = 0x1A0,
   517             AppLaunchProcessTaskManager = 0x1A1,
   518             AppLaunchSelectTaskApplication = 0x1A2,
   519             AppLaunchNextTaskApplication = 0x1A3,
   520             AppLaunchPreviousTaskApplication = 0x1A4,
   521             AppLaunchPreemptiveHaltTaskApplication = 0x1A5,
   522             AppLaunchIntegratedHelpCenter = 0x1A6,
   523             AppLaunchDocuments = 0x1A7,
   524             AppLaunchThesaurus = 0x1A8,
   525             AppLaunchDictionary = 0x1A9,
   526             AppLaunchDesktop = 0x1AA,
   527             AppLaunchSpellCheck = 0x1AB,
   528             AppLaunchGrammarCheck = 0x1AC,
   529             AppLaunchWirelessStatus = 0x1AD,
   530             AppLaunchKeyboardLayout = 0x1AE,
   531             AppLaunchVirusProtection = 0x1AF,
   532             AppLaunchEncryption = 0x1B0,
   533             AppLaunchScreenSaver = 0x1B1,
   534             AppLaunchAlarms = 0x1B2,
   535             AppLaunchClock = 0x1B3,
   536             AppLaunchFileBrowser = 0x1B4,
   537             AppLaunchPowerStatus = 0x1B5,
   538             AppLaunchImageBrowser = 0x1B6,
   539             AppLaunchAudioBrowser = 0x1B7,
   540             AppLaunchMovieBrowser = 0x1B8,
   541             AppLaunchDigitalRightsManager = 0x1B9,
   542             AppLaunchDigitalWallet = 0x1BA,
   543             AppLaunchInstantMessaging = 0x1BC,
   544             AppLaunchOemFeaturesTipsTutorialBrowser = 0x1BD,
   545             AppLaunchOemHelp = 0x1BE,
   546             AppLaunchOnlineCommunity = 0x1BF,
   547             AppLaunchEntertainmentContentBrowser = 0x1C0,
   548             AppLaunchOnlineShoppingBrowser = 0x1C1,
   549             AppLaunchSmartcardInformationHelp = 0x1C2,
   550             AppLaunchMarketMonitorFinanceBrowser = 0x1C3,
   551             AppLaunchCustomizedCorporateNewsBrowser = 0x1C4,
   552             AppLaunchOnlineActivityBrowser = 0x1C5,
   553             AppLaunchResearchSearchBrowser = 0x1C6,
   554             AppLaunchAudioPlayer = 0x1C7,
   555             GenericGuiApplicationControls = 0x200,
   556             AppCtrlNew = 0x201,
   557             AppCtrlOpen = 0x202,
   558             AppCtrlClose = 0x203,
   559             AppCtrlExit = 0x204,
   560             AppCtrlMaximize = 0x205,
   561             AppCtrlMinimize = 0x206,
   562             AppCtrlSave = 0x207,
   563             AppCtrlPrint = 0x208,
   564             AppCtrlProperties = 0x209,
   565             AppCtrlUndo = 0x21A,
   566             AppCtrlCopy = 0x21B,
   567             AppCtrlCut = 0x21C,
   568             AppCtrlPaste = 0x21D,
   569             AppCtrlSelectAll = 0x21E,
   570             AppCtrlFind = 0x21F,
   571             AppCtrlFindAndReplace = 0x220,
   572             AppCtrlSearch = 0x221,
   573             AppCtrlGoTo = 0x222,
   574             AppCtrlHome = 0x223,
   575             AppCtrlBack = 0x224,
   576             AppCtrlForward = 0x225,
   577             AppCtrlStop = 0x226,
   578             AppCtrlRefresh = 0x227,
   579             AppCtrlPreviousLink = 0x228,
   580             AppCtrlNextLink = 0x229,
   581             AppCtrlBookmarks = 0x22A,
   582             AppCtrlHistory = 0x22B,
   583             AppCtrlSubscriptions = 0x22C,
   584             AppCtrlZoomIn = 0x22D,
   585             AppCtrlZoomOut = 0x22E,
   586             AppCtrlZoom = 0x22F,
   587             AppCtrlFullScreenView = 0x230,
   588             AppCtrlNormalView = 0x231,
   589             AppCtrlViewToggle = 0x232,
   590             AppCtrlScrollUp = 0x233,
   591             AppCtrlScrollDown = 0x234,
   592             AppCtrlScroll = 0x235,
   593             AppCtrlPanLeft = 0x236,
   594             AppCtrlPanRight = 0x237,
   595             AppCtrlPan = 0x238,
   596             AppCtrlNewWindow = 0x239,
   597             AppCtrlTileHorizontally = 0x23A,
   598             AppCtrlTileVertically = 0x23B,
   599             AppCtrlFormat = 0x23C,
   600             AppCtrlEdit = 0x23D,
   601             AppCtrlBold = 0x23E,
   602             AppCtrlItalics = 0x23F,
   603             AppCtrlUnderline = 0x240,
   604             AppCtrlStrikethrough = 0x241,
   605             AppCtrlSubscript = 0x242,
   606             AppCtrlSuperscript = 0x243,
   607             AppCtrlAllCaps = 0x244,
   608             AppCtrlRotate = 0x245,
   609             AppCtrlResize = 0x246,
   610             AppCtrlFlipHorizontal = 0x247,
   611             AppCtrlFlipVertical = 0x248,
   612             AppCtrlMirrorHorizontal = 0x249,
   613             AppCtrlMirrorVertical = 0x24A,
   614             AppCtrlFontSelect = 0x24B,
   615             AppCtrlFontColor = 0x24C,
   616             AppCtrlFontSize = 0x24D,
   617             AppCtrlJustifyLeft = 0x24E,
   618             AppCtrlJustifyCenterH = 0x24F,
   619             AppCtrlJustifyRight = 0x250,
   620             AppCtrlJustifyBlockH = 0x251,
   621             AppCtrlJustifyTop = 0x252,
   622             AppCtrlJustifyCenterV = 0x253,
   623             AppCtrlJustifyBottom = 0x254,
   624             AppCtrlJustifyBlockV = 0x255,
   625             AppCtrlIndentDecrease = 0x256,
   626             AppCtrlIndentIncrease = 0x257,
   627             AppCtrlNumberedList = 0x258,
   628             AppCtrlRestartNumbering = 0x259,
   629             AppCtrlBulletedList = 0x25A,
   630             AppCtrlPromote = 0x25B,
   631             AppCtrlDemote = 0x25C,
   632             AppCtrlYes = 0x25D,
   633             AppCtrlNo = 0x25E,
   634             AppCtrlCancel = 0x25F,
   635             AppCtrlCatalog = 0x260,
   636             AppCtrlBuyCheckout = 0x261,
   637             AppCtrlAddToCart = 0x262,
   638             AppCtrlExpand = 0x263,
   639             AppCtrlExpandAll = 0x264,
   640             AppCtrlCollapse = 0x265,
   641             AppCtrlCollapseAll = 0x266,
   642             AppCtrlPrintPreview = 0x267,
   643             AppCtrlPasteSpecial = 0x268,
   644             AppCtrlInsertMode = 0x269,
   645             AppCtrlDelete = 0x26A,
   646             AppCtrlLock = 0x26B,
   647             AppCtrlUnlock = 0x26C,
   648             AppCtrlProtect = 0x26D,
   649             AppCtrlUnprotect = 0x26E,
   650             AppCtrlAttachComment = 0x26F,
   651             AppCtrlDeleteComment = 0x270,
   652             AppCtrlViewComment = 0x271,
   653             AppCtrlSelectWord = 0x272,
   654             AppCtrlSelectSentence = 0x273,
   655             AppCtrlSelectParagraph = 0x274,
   656             AppCtrlSelectColumn = 0x275,
   657             AppCtrlSelectRow = 0x276,
   658             AppCtrlSelectTable = 0x277,
   659             AppCtrlSelectObject = 0x278,
   660             AppCtrlRedoRepeat = 0x279,
   661             AppCtrlSort = 0x27A,
   662             AppCtrlSortAscending = 0x27B,
   663             AppCtrlSortDescending = 0x27C,
   664             AppCtrlFilter = 0x27D,
   665             AppCtrlSetClock = 0x27E,
   666             AppCtrlViewClock = 0x27F,
   667             AppCtrlSelectTimeZone = 0x280,
   668             AppCtrlEditTimeZones = 0x281,
   669             AppCtrlSetAlarm = 0x282,
   670             AppCtrlClearAlarm = 0x283,
   671             AppCtrlSnoozeAlarm = 0x284,
   672             AppCtrlResetAlarm = 0x285,
   673             AppCtrlSynchronize = 0x286,
   674             AppCtrlSendReceive = 0x287,
   675             AppCtrlSendTo = 0x288,
   676             AppCtrlReply = 0x289,
   677             AppCtrlReplyAll = 0x28A,
   678             AppCtrlForwardMsg = 0x28B,
   679             AppCtrlSend = 0x28C,
   680             AppCtrlAttachFile = 0x28D,
   681             AppCtrlUpload = 0x28E,
   682             AppCtrlDownloadSaveTargetAs = 0x28F,
   683             AppCtrlSetBorders = 0x290,
   684             AppCtrlInsertRow = 0x291,
   685             AppCtrlInsertColumn = 0x292,
   686             AppCtrlInsertFile = 0x293,
   687             AppCtrlInsertPicture = 0x294,
   688             AppCtrlInsertObject = 0x295,
   689             AppCtrlInsertSymbol = 0x296,
   690             AppCtrlSaveAndClose = 0x297,
   691             AppCtrlRename = 0x298,
   692             AppCtrlMerge = 0x299,
   693             AppCtrlSplit = 0x29A,
   694             AppCtrlDistributeHorizontally = 0x29B,
   695             AppCtrlDistributeVertically = 0x29C
   696         }
   697 
   698         /// <summary>
   699         ///
   700         /// </summary>
   701         public enum GenericDesktop : ushort
   702         {
   703             Null = 0x00,
   704             Pointer = 0x01,
   705             Mouse = 0x02,
   706             Joystick = 0x04,
   707             GamePad = 0x05,
   708             Keyboard = 0x06,
   709             Keypad = 0x07,
   710             MultiAxisController = 0x08,
   711             TabletPcSystemControls = 0x09,
   712             X = 0x30,
   713             Y = 0x31,
   714             Z = 0x32,
   715             Rx = 0x33,
   716             Ry = 0x34,
   717             Rz = 0x35,
   718             Slider = 0x36,
   719             Dial = 0x37,
   720             Wheel = 0x38,
   721             HatSwitch = 0x39,
   722             CountedBuffer = 0x3A,
   723             ByteCount = 0x3B,
   724             MotionWakeup = 0x3C,
   725             Start = 0x3D,
   726             Select = 0x3E,
   727             Vx = 0x40,
   728             Vy = 0x41,
   729             Vz = 0x42,
   730             Vbrx = 0x43,
   731             Vbry = 0x44,
   732             Vbrz = 0x45,
   733             Vno = 0x46,
   734             SystemControl = 0x80,
   735             SystemPowerDown = 0x81,
   736             SystemSleep = 0x82,
   737             SystemWakeUp = 0x83,
   738             SystemContextMenu = 0x84,
   739             SystemMainMenu = 0x85,
   740             SystemAppMenu = 0x86,
   741             SystemMenuHelp = 0x87,
   742             SystemMenuExit = 0x88,
   743             SystemMenuSelect = 0x89,
   744             SystemMenuRight = 0x8A,
   745             SystemMenuLeft = 0x8B,
   746             SystemMenuUp = 0x8C,
   747             SystemMenuDown = 0x8D,
   748             SystemColdRestart = 0x8E,
   749             SystemWarmRestart = 0x8F,
   750             DPadUp = 0x90,
   751             DPadDown = 0x91,
   752             DPadRight = 0x92,
   753             DPadLeft = 0x93,
   754             SystemDock = 0xA0,
   755             SystemUndock = 0xA1,
   756             SystemSetup = 0xA2,
   757             SystemBreak = 0xA3,
   758             SystemDebuggerBreak = 0xA4,
   759             ApplicationBreak = 0xA5,
   760             ApplicationDebuggerBreak = 0xA6,
   761             SystemSpeakerMute = 0xA7,
   762             SystemHibernate = 0xA8,
   763             SystemDisplayInvert = 0xB0,
   764             SystemDisplayInternal = 0xB1,
   765             SystemDisplayExternal = 0xB2,
   766             SystemDisplayBoth = 0xB3,
   767             SystemDisplayDual = 0xB4,
   768             SystemDisplayToggleIntExt = 0xB5,
   769             SystemDisplaySwapPrimarySecondary = 0xB6,
   770             SystemDisplayLcdAutoscale = 0xB7
   771         }
   772 
   773         /// <summary>
   774         ///
   775         /// </summary>
   776         public enum SimulationControl : ushort
   777         {
   778             Null = 0x00,
   779             FlightSimulationDevice = 0x01,
   780             AutomobileSimulationDevice = 0x02,
   781             TankSimulationDevice = 0x03,
   782             SpaceshipSimulationDevice = 0x04,
   783             SubmarineSimulationDevice = 0x05,
   784             SailingSimulationDevice = 0x06,
   785             MotorcycleSimulationDevice = 0x07,
   786             SportsSimulationDevice = 0x08,
   787             AirplaneSimulationDevice = 0x09,
   788             HelicopterSimulationDevice = 0x0A,
   789             MagicCarpetSimulationDevice = 0x0B,
   790             BicycleSimulationDevice = 0x0C,
   791             FlightControlStick = 0x20,
   792             FlightStick = 0x21,
   793             CyclicControl = 0x22,
   794             CyclicTrim = 0x23,
   795             FlightYoke = 0x24,
   796             TrackControl = 0x25,
   797             Aileron = 0xB0,
   798             AileronTrim = 0xB1,
   799             AntiTorqueControl = 0xB2,
   800             AutopilotEnable = 0xB3,
   801             ChaffRelease = 0xB4,
   802             CollectiveControl = 0xB5,
   803             DiveBrake = 0xB6,
   804             ElectronicCountermeasures = 0xB7,
   805             Elevator = 0xB8,
   806             ElevatorTrim = 0xB9,
   807             Rudder = 0xBA,
   808             Throttle = 0xBB,
   809             FlightCommunications = 0xBC,
   810             FlareRelease = 0xBD,
   811             LandingGear = 0xBE,
   812             ToeBrake = 0xBF,
   813             Trigger = 0xC0,
   814             WeaponsArm = 0xC1,
   815             WeaponsSelect = 0xC2,
   816             WingFlaps = 0xC3,
   817             Accelerator = 0xC4,
   818             Brake = 0xC5,
   819             Clutch = 0xC6,
   820             Shifter = 0xC7,
   821             Steering = 0xC8,
   822             TurretDirection = 0xC9,
   823             BarrelElevation = 0xCA,
   824             DivePlane = 0xCB,
   825             Ballast = 0xCC,
   826             BicycleCrank = 0xCD,
   827             HandleBars = 0xCE,
   828             FrontBrake = 0xCF,
   829             RearBrake = 0xD0
   830         }
   831 
   832         /// <summary>
   833         ///
   834         /// </summary>
   835         public enum GameControl : ushort
   836         {
   837             Null = 0x00,
   838             GameController3D = 0x01,
   839             PinballDevice = 0x02,
   840             GunDevice = 0x03,
   841             PointOfView = 0x20,
   842             TurnRightLeft = 0x21,
   843             PitchForwardBackward = 0x22,
   844             RollRightLeft = 0x23,
   845             MoveRightLeft = 0x24,
   846             MoveForwardBackward = 0x25,
   847             MoveUpDown = 0x26,
   848             LeanRightLeft = 0x27,
   849             LeanForwardBackward = 0x28,
   850             HeightOfPov = 0x29,
   851             Flipper = 0x2A,
   852             SecondaryFlipper = 0x2B,
   853             Bump = 0x2C,
   854             NewGame = 0x2D,
   855             ShootBall = 0x2E,
   856             Player = 0x2F,
   857             GunBolt = 0x30,
   858             GunClip = 0x31,
   859             GunSelector = 0x32,
   860             GunSingleShot = 0x33,
   861             GunBurst = 0x34,
   862             GunAutomatic = 0x35,
   863             GunSafety = 0x36,
   864             GamepadFireJump = 0x37,
   865             GamepadTrigger = 0x39
   866         }
   867 
   868         /// <summary>
   869         ///
   870         /// </summary>
   871         public enum TelephonyDevice : ushort
   872         {
   873             Null = 0x00,
   874             Phone = 0x01,
   875             AnsweringMachine = 0x02,
   876             MessageControls = 0x03,
   877             Handset = 0x04,
   878             Headset = 0x05,
   879             TelephonyKeyPad = 0x06,
   880             ProgrammableButton = 0x07,
   881             HookSwitch = 0x20,
   882             Flash = 0x21,
   883             Feature = 0x22,
   884             Hold = 0x23,
   885             Redial = 0x24,
   886             Transfer = 0x25,
   887             Drop = 0x26,
   888             Park = 0x27,
   889             ForwardCalls = 0x28,
   890             AlternateFunction = 0x29,
   891             Line = 0x2A,
   892             SpeakerPhone = 0x2B,
   893             Conference = 0x2C,
   894             RingEnable = 0x2D,
   895             RingSelect = 0x2E,
   896             PhoneMute = 0x2F,
   897             CallerId = 0x30,
   898             Send = 0x31,
   899             SpeedDial = 0x50,
   900             StoreNumber = 0x51,
   901             RecallNumber = 0x52,
   902             PhoneDirectory = 0x53,
   903             VoiceMail = 0x70,
   904             ScreenCalls = 0x71,
   905             DoNotDisturb = 0x72,
   906             Message = 0x73,
   907             AnswerOnOff = 0x74,
   908             InsideDialTone = 0x90,
   909             OutsideDialTone = 0x91,
   910             InsideRingTone = 0x92,
   911             OutsideRingTone = 0x93,
   912             PriorityRingTone = 0x94,
   913             InsideRingback = 0x95,
   914             PriorityRingback = 0x96,
   915             LineBusyTone = 0x97,
   916             ReorderTone = 0x98,
   917             CallWaitingTone = 0x99,
   918             ConfirmationTone1 = 0x9A,
   919             ConfirmationTone2 = 0x9B,
   920             TonesOff = 0x9C,
   921             OutsideRingback = 0x9D,
   922             Ringer = 0x9E,
   923             PhoneKey0 = 0xB0,
   924             PhoneKey1 = 0xB1,
   925             PhoneKey2 = 0xB2,
   926             PhoneKey3 = 0xB3,
   927             PhoneKey4 = 0xB4,
   928             PhoneKey5 = 0xB5,
   929             PhoneKey6 = 0xB6,
   930             PhoneKey7 = 0xB7,
   931             PhoneKey8 = 0xB8,
   932             PhoneKey9 = 0xB9,
   933             PhoneKeyStar = 0xBA,
   934             PhoneKeyPound = 0xBB,
   935             PhoneKeyA = 0xBC,
   936             PhoneKeyB = 0xBD,
   937             PhoneKeyC = 0xBE,
   938             PhoneKeyD = 0xBF
   939         }
   940     }
   941 }