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