Hid/HidUsageTables.cs
changeset 79 cdc5f8f1b79e
parent 77 fb9ea5ad8c2d
child 83 2d5955694057
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/Hid/HidUsageTables.cs	Sun Mar 15 20:25:58 2015 +0100
     1.3 @@ -0,0 +1,928 @@
     1.4 +//
     1.5 +// Copyright (C) 2014-2015 Stéphane Lenclud.
     1.6 +//
     1.7 +// This file is part of SharpLibHid.
     1.8 +//
     1.9 +// SharpDisplayManager is free software: you can redistribute it and/or modify
    1.10 +// it under the terms of the GNU General Public License as published by
    1.11 +// the Free Software Foundation, either version 3 of the License, or
    1.12 +// (at your option) any later version.
    1.13 +//
    1.14 +// SharpDisplayManager is distributed in the hope that it will be useful,
    1.15 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.16 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1.17 +// GNU General Public License for more details.
    1.18 +//
    1.19 +// You should have received a copy of the GNU General Public License
    1.20 +// along with SharpDisplayManager.  If not, see <http://www.gnu.org/licenses/>.
    1.21 +//
    1.22 +
    1.23 +namespace SharpLib.Hid
    1.24 +{
    1.25 +    /// <summary>
    1.26 +    /// From USB HID usage tables.
    1.27 +    /// http://www.usb.org/developers/hidpage#HID_Usage
    1.28 +    /// http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf
    1.29 +    /// </summary>
    1.30 +    public enum UsagePage : ushort
    1.31 +    {
    1.32 +        Undefined = 0,
    1.33 +        GenericDesktopControls,
    1.34 +        SimulationControls,
    1.35 +        VirtualRealityControls,
    1.36 +        SportControls,
    1.37 +        GameControls,
    1.38 +        GenericDeviceControls,
    1.39 +        Keyboard,
    1.40 +        LightEmittingDiode,
    1.41 +        Button,
    1.42 +        Ordinal,
    1.43 +        Telephony,
    1.44 +        Consumer,
    1.45 +        Digitiser,
    1.46 +        PhysicalInterfaceDevice = 0x0f,
    1.47 +        Unicode = 0x10,
    1.48 +        AlphaNumericDisplay = 0x14,
    1.49 +        MedicalInstruments = 0x40,
    1.50 +        MonitorPage0 = 0x80,
    1.51 +        MonitorPage1,
    1.52 +        MonitorPage2,
    1.53 +        MonitorPage3,
    1.54 +        PowerPage0,
    1.55 +        PowerPage1,
    1.56 +        PowerPage2,
    1.57 +        PowerPage3,
    1.58 +        BarCodeScanner = 0x8c,
    1.59 +        Scale,
    1.60 +        MagneticStripeReader,
    1.61 +        ReservedPointOfSale,
    1.62 +        CameraControl,
    1.63 +        Arcade,
    1.64 +        // http://msdn.microsoft.com/en-us/library/windows/desktop/bb417079.aspx
    1.65 +        WindowsMediaCenterRemoteControl = 0xffbc,
    1.66 +        TerraTecRemote = 0xffcc
    1.67 +    }
    1.68 +
    1.69 +    /// <summary>
    1.70 +    /// Usage Collections are special values from our Usage enumeration.
    1.71 +    /// Thus they are also part of the corresponding Usage enumeration.
    1.72 +    /// </summary>
    1.73 +    namespace UsageCollection
    1.74 +    {
    1.75 +        /// <summary>
    1.76 +        /// Usage Collection for usage page GenericDesktopControls.
    1.77 +        /// </summary>
    1.78 +        public enum GenericDesktop : ushort
    1.79 +        {
    1.80 +            Pointer = 0x01,
    1.81 +            Mouse = 0x02,
    1.82 +            Joystick = 0x04,
    1.83 +            GamePad = 0x05,
    1.84 +            Keyboard = 0x06,
    1.85 +            KeyPad = 0x07,
    1.86 +            MultiAxisController = 0x08,
    1.87 +            TabletPCSystemControls = 0x09,
    1.88 +            SystemControl = 0x80
    1.89 +        }
    1.90 +
    1.91 +        /// <summary>
    1.92 +        /// Usage Collection for usage page Consumer.
    1.93 +        /// </summary>
    1.94 +        public enum Consumer : ushort
    1.95 +        {
    1.96 +            ConsumerControl = 0x01,
    1.97 +            NumericKeyPad = 0x02,
    1.98 +            ProgrammableButtons = 0x03,
    1.99 +            Microphone = 0x04,
   1.100 +            Headphone = 0x05,
   1.101 +            GraphicEqualizer = 0x06,
   1.102 +            FunctionButtons = 0x36,
   1.103 +            Selection = 0x80,
   1.104 +            MediaSelection = 0x0087,
   1.105 +            SelectDisc = 0x00BA,
   1.106 +            PlaybackSpeed = 0x00F1,
   1.107 +            Proximity = 0x0109,
   1.108 +            SpeakerSystem = 0x0160,
   1.109 +            ChannelLeft = 0x0161,
   1.110 +            ChannelRight = 0x0162,
   1.111 +            ChannelCenter = 0x0163,
   1.112 +            ChannelFront = 0x0164,
   1.113 +            ChannelCenterFront = 0x0165,
   1.114 +            ChannelSide = 0x0166,
   1.115 +            ChannelSurrond = 0x0167,
   1.116 +            ChannelLowFrequencyEnhancement = 0x0168,
   1.117 +            ChannelTop = 0x0169,
   1.118 +            ChannelUnknown = 0x016A,
   1.119 +            ApplicationLaunchButtons = 0x016A,
   1.120 +            GenericGuiApplicationControls = 0x0200,
   1.121 +        }
   1.122 +
   1.123 +
   1.124 +        public enum WindowsMediaCenter : ushort
   1.125 +        {
   1.126 +            WindowsMediaCenterRemoteControl = 0x88
   1.127 +        }
   1.128 +
   1.129 +    }
   1.130 +
   1.131 +
   1.132 +
   1.133 +    namespace Usage
   1.134 +    {
   1.135 +        /// <summary>
   1.136 +        ///
   1.137 +        /// </summary>
   1.138 +        public enum WindowsMediaCenterRemoteControl : ushort
   1.139 +        {
   1.140 +            /// <summary>
   1.141 +            /// Not defined by the Microsoft specs.
   1.142 +            /// </summary>
   1.143 +            Null = 0x00,
   1.144 +            GreenStart = 0x0D,
   1.145 +            ClosedCaptioning = 0x2B,
   1.146 +            Teletext = 0x5A,
   1.147 +            TeletextRed = 0x5B,
   1.148 +            TeletextGreen = 0x5C,
   1.149 +            TeletextYellow = 0x5D,
   1.150 +            TeletextBlue = 0x5E,
   1.151 +            LiveTv = 0x25,
   1.152 +            Tv = 0x46,
   1.153 +            Music = 0x47,
   1.154 +            RecordedTv = 0x48,
   1.155 +            Pictures = 0x49,
   1.156 +            Videos = 0x4A,
   1.157 +            FmRadio = 0x50,
   1.158 +            Extras = 0x3C,
   1.159 +            ExtrasApp = 0x3D,
   1.160 +            DvdMenu = 0x24,
   1.161 +            DvdAngle = 0x4B,
   1.162 +            DvdAudio = 0x4C,
   1.163 +            DvdSubtitle = 0x4D,
   1.164 +            /// <summary>
   1.165 +            /// First press action: Ejects a DVD drive.
   1.166 +            /// <para />
   1.167 +            /// Second press action: Repeats first press action.
   1.168 +            /// <para />
   1.169 +            /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
   1.170 +            /// </summary>
   1.171 +            Eject = 0x28,
   1.172 +            DvdTopMenu = 0x43,
   1.173 +            /// <summary>
   1.174 +            /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   1.175 +            /// Collection (page 0xFFBC, usage 0x88).
   1.176 +            /// <para />
   1.177 +            /// Second press action: Repeats message.
   1.178 +            /// <para />
   1.179 +            /// Auto-repeat: No
   1.180 +            /// <para />
   1.181 +            /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
   1.182 +            /// <para />
   1.183 +            /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
   1.184 +            /// </summary>
   1.185 +            Ext0 = 0x32,
   1.186 +            /// <summary>
   1.187 +            /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   1.188 +            /// Collection (page 0xFFBC, usage 0x88).
   1.189 +            /// <para />
   1.190 +            /// Second press action: Repeats message.
   1.191 +            /// <para />
   1.192 +            /// Auto-repeat: No
   1.193 +            /// <para />
   1.194 +            /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
   1.195 +            /// <para />
   1.196 +            /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
   1.197 +            /// </summary>
   1.198 +            Ext1 = 0x33,
   1.199 +            /// <summary>
   1.200 +            /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   1.201 +            /// Collection (page 0xFFBC, usage 0x88).
   1.202 +            /// <para />
   1.203 +            /// Second press action: Repeats message.
   1.204 +            /// <para />
   1.205 +            /// Auto-repeat: No
   1.206 +            /// <para />
   1.207 +            /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
   1.208 +            /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
   1.209 +            /// </summary>
   1.210 +            Ext2 = 0x34,
   1.211 +            /// <summary>
   1.212 +            /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
   1.213 +            /// Collection (page 0xFFBC, usage 0x88).
   1.214 +            /// <para />
   1.215 +            /// Second press action: Repeats message.
   1.216 +            /// <para />
   1.217 +            /// Auto-repeat: No
   1.218 +            /// <para />
   1.219 +            /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
   1.220 +            /// </summary>
   1.221 +            Ext3 = 0x35,
   1.222 +            Ext4 = 0x36,
   1.223 +            Ext5 = 0x37,
   1.224 +            Ext6 = 0x38,
   1.225 +            Ext7 = 0x39,
   1.226 +            Ext8 = 0x3A,
   1.227 +            Ext9 = 0x80,
   1.228 +            Ext10 = 0x81,
   1.229 +            Ext11 = 0x6F,
   1.230 +            Zoom = 0x27,
   1.231 +            ChannelInput = 0x42,
   1.232 +            SubAudio = 0x2D,
   1.233 +            Channel10 = 0x3E,
   1.234 +            Channel11 = 0x3F,
   1.235 +            Channel12 = 0x40,
   1.236 +            /// <summary>
   1.237 +            /// First press action: Generates OEM2 HID message in the Media Center Vendor Specific
   1.238 +            /// Collection. This button is intended to control the front panel display of home entertainment
   1.239 +            /// computers. When this button is pressed, the display could be turned on or off, or the display
   1.240 +            /// mode could change.
   1.241 +            /// <para />
   1.242 +            /// Second press action: Repeats message.
   1.243 +            /// <para />
   1.244 +            /// Auto-repeat: No
   1.245 +            /// <para />
   1.246 +            /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
   1.247 +            /// </summary>
   1.248 +            Display = 0x4F,
   1.249 +            /// <summary>
   1.250 +            /// First press action: To be determined.
   1.251 +            /// <para />
   1.252 +            /// Second press action: Repeats message.
   1.253 +            /// <para />
   1.254 +            /// Auto-repeat: No
   1.255 +            /// </summary>
   1.256 +            Kiosk = 0x6A,
   1.257 +            NetworkSelection = 0x2C,
   1.258 +            BlueRayTool = 0x78,
   1.259 +            ChannelInfo = 0x41,
   1.260 +            VideoSelection = 0x61
   1.261 +        }
   1.262 +
   1.263 +        /// <summary>
   1.264 +        /// Those codes come from experimenting with HP remotes.
   1.265 +        /// </summary>
   1.266 +        public enum HpWindowsMediaCenterRemoteControl : ushort
   1.267 +        {
   1.268 +            /// <summary>
   1.269 +            /// Displays visual imagery that is synchronized to the sound of your music tracks.
   1.270 +            /// <para />
   1.271 +            /// Second press action: Repeats message.
   1.272 +            /// <para />
   1.273 +            /// Auto-repeat: No
   1.274 +            /// <para />
   1.275 +            /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
   1.276 +            /// <para />
   1.277 +            /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
   1.278 +            /// </summary>
   1.279 +            Visualization = WindowsMediaCenterRemoteControl.Ext0,
   1.280 +            /// <summary>
   1.281 +            /// Plays a slide show of all the pictures on your hard disk drive.
   1.282 +            /// <para />
   1.283 +            /// Second press action: Repeats message.
   1.284 +            /// <para />
   1.285 +            /// Auto-repeat: No
   1.286 +            /// <para />
   1.287 +            /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
   1.288 +            /// <para />
   1.289 +            /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
   1.290 +            /// </summary>
   1.291 +            SlideShow = WindowsMediaCenterRemoteControl.Ext1,
   1.292 +            /// <summary>
   1.293 +            /// Eject optical drive.
   1.294 +            /// <para />
   1.295 +            /// Second press action: Repeats message.
   1.296 +            /// <para />
   1.297 +            /// Auto-repeat: No
   1.298 +            /// <para />
   1.299 +            /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
   1.300 +            /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
   1.301 +            /// </summary>
   1.302 +            HpEject = WindowsMediaCenterRemoteControl.Ext2,
   1.303 +            /// <summary>
   1.304 +            /// Not sure what this should do.
   1.305 +            /// <para />
   1.306 +            /// Second press action: Repeats message.
   1.307 +            /// <para />
   1.308 +            /// Auto-repeat: No
   1.309 +            /// <para />
   1.310 +            /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
   1.311 +            /// </summary>
   1.312 +            InputSelection = WindowsMediaCenterRemoteControl.Ext3,
   1.313 +        }
   1.314 +
   1.315 +        /// <summary>
   1.316 +        /// Usage Table for Consumer Controls
   1.317 +        /// 0x0C 0X01
   1.318 +        /// </summary>
   1.319 +        public enum ConsumerControl : ushort
   1.320 +        {
   1.321 +            Null = 0x00,
   1.322 +            ConsumerControl = 0x01,
   1.323 +            NumericKeyPad = 0x02,
   1.324 +            ProgrammableButtons = 0x03,
   1.325 +            Microphone = 0x04,
   1.326 +            Headphone = 0x05,
   1.327 +            GraphicEqualizer = 0x06,
   1.328 +            Plus10 = 0x20,
   1.329 +            Plus100 = 0x21,
   1.330 +            AmPm = 0x22,
   1.331 +            Power = 0x30,
   1.332 +            Reset = 0x31,
   1.333 +            Sleep = 0x32,
   1.334 +            SleepAfter = 0x33,
   1.335 +            SleepMode = 0x34,
   1.336 +            Illumination = 0x35,
   1.337 +            FunctionButtons = 0x36,
   1.338 +            Menu = 0x40,
   1.339 +            MenuPick = 0x41,
   1.340 +            MenuUp = 0x42,
   1.341 +            MenuDown = 0x43,
   1.342 +            MenuLeft = 0x44,
   1.343 +            MenuRight = 0x45,
   1.344 +            MenuEscape = 0x46,
   1.345 +            MenuValueIncrease = 0x47,
   1.346 +            MenuValueDecrease = 0x48,
   1.347 +            DataOnScreen = 0x60,
   1.348 +            ClosedCaption = 0x61,
   1.349 +            ClosedCaptionSelect = 0x62,
   1.350 +            VcrTv = 0x63,
   1.351 +            BroadcastMode = 0x64,
   1.352 +            Snapshot = 0x65,
   1.353 +            Still = 0x66,
   1.354 +            Selection = 0x80,
   1.355 +            AssignSelection = 0x81,
   1.356 +            ModeStep = 0x82,
   1.357 +            RecallLast = 0x83,
   1.358 +            EnterChannel = 0x84,
   1.359 +            OrderMovie = 0x85,
   1.360 +            Channel = 0x86,
   1.361 +            MediaSelection = 0x87,
   1.362 +            MediaSelectComputer = 0x88,
   1.363 +            MediaSelectTv = 0x89,
   1.364 +            MediaSelectWww = 0x8A,
   1.365 +            MediaSelectDvd = 0x8B,
   1.366 +            MediaSelectTelephone = 0x8C,
   1.367 +            MediaSelectProgramGuide = 0x8D,
   1.368 +            MediaSelectVideoPhone = 0x8E,
   1.369 +            MediaSelectGames = 0x8F,
   1.370 +            MediaSelectMessages = 0x90,
   1.371 +            MediaSelectCd = 0x91,
   1.372 +            MediaSelectVcr = 0x92,
   1.373 +            MediaSelectTuner = 0x93,
   1.374 +            Quit = 0x94,
   1.375 +            Help = 0x95,
   1.376 +            MediaSelectTape = 0x96,
   1.377 +            MediaSelectCable = 0x97,
   1.378 +            MediaSelectSatellite = 0x98,
   1.379 +            MediaSelectSecurity = 0x99,
   1.380 +            MediaSelectHome = 0x9A,
   1.381 +            MediaSelectCall = 0x9B,
   1.382 +            ChannelIncrement = 0x9C,
   1.383 +            ChannelDecrement = 0x9D,
   1.384 +            MediaSelectSap = 0x9E,
   1.385 +            VcrPlus = 0xA0,
   1.386 +            Once = 0xA1,
   1.387 +            Daily = 0xA2,
   1.388 +            Weekly = 0xA3,
   1.389 +            Monthly = 0xA4,
   1.390 +            Play = 0xB0,
   1.391 +            Pause = 0xB1,
   1.392 +            Record = 0xB2,
   1.393 +            FastForward = 0xB3,
   1.394 +            Rewind = 0xB4,
   1.395 +            ScanNextTrack = 0xB5,
   1.396 +            ScanPreviousTrack = 0xB6,
   1.397 +            Stop = 0xB7,
   1.398 +            Eject = 0xB8,
   1.399 +            RandomPlay = 0xB9,
   1.400 +            SelectDisc = 0xBA,
   1.401 +            EnterDisc = 0xBB,
   1.402 +            Repeat = 0xBC,
   1.403 +            Tracking = 0xBD,
   1.404 +            TrackNormal = 0xBE,
   1.405 +            SlowTracking = 0xBF,
   1.406 +            FrameForward = 0xC0,
   1.407 +            FrameBack = 0xC1,
   1.408 +            Mark = 0xC2,
   1.409 +            ClearMark = 0xC3,
   1.410 +            RepeatFromMark = 0xC4,
   1.411 +            ReturnToMark = 0xC5,
   1.412 +            SearchMarkForward = 0xC6,
   1.413 +            SearchMarkBackwards = 0xC7,
   1.414 +            CounterReset = 0xC8,
   1.415 +            ShowCounter = 0xC9,
   1.416 +            TrackingIncrement = 0xCA,
   1.417 +            TrackingDecrement = 0xCB,
   1.418 +            StopEject = 0xCC,
   1.419 +            PlayPause = 0xCD,
   1.420 +            PlaySkip = 0xCE,
   1.421 +            Volume = 0xE0,
   1.422 +            Balance = 0xE1,
   1.423 +            Mute = 0xE2,
   1.424 +            Bass = 0xE3,
   1.425 +            Treble = 0xE4,
   1.426 +            BassBoost = 0xE5,
   1.427 +            SurroundMode = 0xE6,
   1.428 +            Loudness = 0xE7,
   1.429 +            Mpx = 0xE8,
   1.430 +            VolumeIncrement = 0xE9,
   1.431 +            VolumeDecrement = 0xEA,
   1.432 +            SpeedSelect = 0xF0,
   1.433 +            PlaybackSpeed = 0xF1,
   1.434 +            StandardPlay = 0xF2,
   1.435 +            LongPlay = 0xF3,
   1.436 +            ExtendedPlay = 0xF4,
   1.437 +            Slow = 0xF5,
   1.438 +            FanEnable = 0x100,
   1.439 +            FanSpeed = 0x101,
   1.440 +            LightEnable = 0x102,
   1.441 +            LightIlluminationLevel = 0x103,
   1.442 +            ClimateControlEnable = 0x104,
   1.443 +            RoomTemperature = 0x105,
   1.444 +            SecurityEnable = 0x106,
   1.445 +            FireAlarm = 0x107,
   1.446 +            PoliceAlarm = 0x108,
   1.447 +            Proximity = 0x109,
   1.448 +            Motion = 0x10A,
   1.449 +            DuressAlarm = 0x10B,
   1.450 +            HoldupAlarm = 0x10C,
   1.451 +            MedicalAlarm = 0x10D,
   1.452 +            BalanceRight = 0x150,
   1.453 +            BalanceLeft = 0x151,
   1.454 +            BassIncrement = 0x152,
   1.455 +            BassDecrement = 0x153,
   1.456 +            TrebleIncrement = 0x154,
   1.457 +            TrebleDecrement = 0x155,
   1.458 +            SpeakerSystem = 0x160,
   1.459 +            ChannelLeft = 0x161,
   1.460 +            ChannelRight = 0x162,
   1.461 +            ChannelCenter = 0x163,
   1.462 +            ChannelFront = 0x164,
   1.463 +            ChannelCenterFront = 0x165,
   1.464 +            ChannelSide = 0x166,
   1.465 +            ChannelSurround = 0x167,
   1.466 +            ChannelLowFrequencyEnhancement = 0x168,
   1.467 +            ChannelTop = 0x169,
   1.468 +            ChannelUnknown = 0x16A,
   1.469 +            SubChannel = 0x170,
   1.470 +            SubChannelIncrement = 0x171,
   1.471 +            SubChannelDecrement = 0x172,
   1.472 +            AlternateAudioIncrement = 0x173,
   1.473 +            AlternateAudioDecrement = 0x174,
   1.474 +            ApplicationLaunchButtons = 0x180,
   1.475 +            AppLaunchLaunchButtonConfigurationTool = 0x181,
   1.476 +            AppLaunchProgrammableButtonConfiguration = 0x182,
   1.477 +            AppLaunchConsumerControlConfiguration = 0x183,
   1.478 +            AppLaunchWordProcessor = 0x184,
   1.479 +            AppLaunchTextEditor = 0x185,
   1.480 +            AppLaunchSpreadsheet = 0x186,
   1.481 +            AppLaunchGraphicsEditor = 0x187,
   1.482 +            AppLaunchPresentationApp = 0x188,
   1.483 +            AppLaunchDatabaseApp = 0x189,
   1.484 +            AppLaunchEmailReader = 0x18A,
   1.485 +            AppLaunchNewsreader = 0x18B,
   1.486 +            AppLaunchVoicemail = 0x18C,
   1.487 +            AppLaunchContactsAddressBook = 0x18D,
   1.488 +            AppLaunchCalendarSchedule = 0x18E,
   1.489 +            AppLaunchTaskProjectManager = 0x18F,
   1.490 +            AppLaunchLogJournalTimecard = 0x190,
   1.491 +            AppLaunchCheckbookFinance = 0x191,
   1.492 +            AppLaunchCalculator = 0x192,
   1.493 +            AppLaunchAVCapturePlayback = 0x193,
   1.494 +            AppLaunchLocalMachineBrowser = 0x194,
   1.495 +            AppLaunchLanWanBrowser = 0x195,
   1.496 +            AppLaunchInternetBrowser = 0x196,
   1.497 +            AppLaunchRemoteNetworkingIspConnect = 0x197,
   1.498 +            AppLaunchNetworkConference = 0x198,
   1.499 +            AppLaunchNetworkChat = 0x199,
   1.500 +            AppLaunchTelephonyDialer = 0x19A,
   1.501 +            AppLaunchLogon = 0x19B,
   1.502 +            AppLaunchLogoff = 0x19C,
   1.503 +            AppLaunchLogonLogoff = 0x19D,
   1.504 +            AppLaunchTerminalLockScreensaver = 0x19E,
   1.505 +            AppLaunchControlPanel = 0x19F,
   1.506 +            AppLaunchCommandLineProcessorRun = 0x1A0,
   1.507 +            AppLaunchProcessTaskManager = 0x1A1,
   1.508 +            AppLaunchSelectTaskApplication = 0x1A2,
   1.509 +            AppLaunchNextTaskApplication = 0x1A3,
   1.510 +            AppLaunchPreviousTaskApplication = 0x1A4,
   1.511 +            AppLaunchPreemptiveHaltTaskApplication = 0x1A5,
   1.512 +            AppLaunchIntegratedHelpCenter = 0x1A6,
   1.513 +            AppLaunchDocuments = 0x1A7,
   1.514 +            AppLaunchThesaurus = 0x1A8,
   1.515 +            AppLaunchDictionary = 0x1A9,
   1.516 +            AppLaunchDesktop = 0x1AA,
   1.517 +            AppLaunchSpellCheck = 0x1AB,
   1.518 +            AppLaunchGrammarCheck = 0x1AC,
   1.519 +            AppLaunchWirelessStatus = 0x1AD,
   1.520 +            AppLaunchKeyboardLayout = 0x1AE,
   1.521 +            AppLaunchVirusProtection = 0x1AF,
   1.522 +            AppLaunchEncryption = 0x1B0,
   1.523 +            AppLaunchScreenSaver = 0x1B1,
   1.524 +            AppLaunchAlarms = 0x1B2,
   1.525 +            AppLaunchClock = 0x1B3,
   1.526 +            AppLaunchFileBrowser = 0x1B4,
   1.527 +            AppLaunchPowerStatus = 0x1B5,
   1.528 +            AppLaunchImageBrowser = 0x1B6,
   1.529 +            AppLaunchAudioBrowser = 0x1B7,
   1.530 +            AppLaunchMovieBrowser = 0x1B8,
   1.531 +            AppLaunchDigitalRightsManager = 0x1B9,
   1.532 +            AppLaunchDigitalWallet = 0x1BA,
   1.533 +            AppLaunchInstantMessaging = 0x1BC,
   1.534 +            AppLaunchOemFeaturesTipsTutorialBrowser = 0x1BD,
   1.535 +            AppLaunchOemHelp = 0x1BE,
   1.536 +            AppLaunchOnlineCommunity = 0x1BF,
   1.537 +            AppLaunchEntertainmentContentBrowser = 0x1C0,
   1.538 +            AppLaunchOnlineShoppingBrowser = 0x1C1,
   1.539 +            AppLaunchSmartcardInformationHelp = 0x1C2,
   1.540 +            AppLaunchMarketMonitorFinanceBrowser = 0x1C3,
   1.541 +            AppLaunchCustomizedCorporateNewsBrowser = 0x1C4,
   1.542 +            AppLaunchOnlineActivityBrowser = 0x1C5,
   1.543 +            AppLaunchResearchSearchBrowser = 0x1C6,
   1.544 +            AppLaunchAudioPlayer = 0x1C7,
   1.545 +            GenericGuiApplicationControls = 0x200,
   1.546 +            AppCtrlNew = 0x201,
   1.547 +            AppCtrlOpen = 0x202,
   1.548 +            AppCtrlClose = 0x203,
   1.549 +            AppCtrlExit = 0x204,
   1.550 +            AppCtrlMaximize = 0x205,
   1.551 +            AppCtrlMinimize = 0x206,
   1.552 +            AppCtrlSave = 0x207,
   1.553 +            AppCtrlPrint = 0x208,
   1.554 +            AppCtrlProperties = 0x209,
   1.555 +            AppCtrlUndo = 0x21A,
   1.556 +            AppCtrlCopy = 0x21B,
   1.557 +            AppCtrlCut = 0x21C,
   1.558 +            AppCtrlPaste = 0x21D,
   1.559 +            AppCtrlSelectAll = 0x21E,
   1.560 +            AppCtrlFind = 0x21F,
   1.561 +            AppCtrlFindAndReplace = 0x220,
   1.562 +            AppCtrlSearch = 0x221,
   1.563 +            AppCtrlGoTo = 0x222,
   1.564 +            AppCtrlHome = 0x223,
   1.565 +            AppCtrlBack = 0x224,
   1.566 +            AppCtrlForward = 0x225,
   1.567 +            AppCtrlStop = 0x226,
   1.568 +            AppCtrlRefresh = 0x227,
   1.569 +            AppCtrlPreviousLink = 0x228,
   1.570 +            AppCtrlNextLink = 0x229,
   1.571 +            AppCtrlBookmarks = 0x22A,
   1.572 +            AppCtrlHistory = 0x22B,
   1.573 +            AppCtrlSubscriptions = 0x22C,
   1.574 +            AppCtrlZoomIn = 0x22D,
   1.575 +            AppCtrlZoomOut = 0x22E,
   1.576 +            AppCtrlZoom = 0x22F,
   1.577 +            AppCtrlFullScreenView = 0x230,
   1.578 +            AppCtrlNormalView = 0x231,
   1.579 +            AppCtrlViewToggle = 0x232,
   1.580 +            AppCtrlScrollUp = 0x233,
   1.581 +            AppCtrlScrollDown = 0x234,
   1.582 +            AppCtrlScroll = 0x235,
   1.583 +            AppCtrlPanLeft = 0x236,
   1.584 +            AppCtrlPanRight = 0x237,
   1.585 +            AppCtrlPan = 0x238,
   1.586 +            AppCtrlNewWindow = 0x239,
   1.587 +            AppCtrlTileHorizontally = 0x23A,
   1.588 +            AppCtrlTileVertically = 0x23B,
   1.589 +            AppCtrlFormat = 0x23C,
   1.590 +            AppCtrlEdit = 0x23D,
   1.591 +            AppCtrlBold = 0x23E,
   1.592 +            AppCtrlItalics = 0x23F,
   1.593 +            AppCtrlUnderline = 0x240,
   1.594 +            AppCtrlStrikethrough = 0x241,
   1.595 +            AppCtrlSubscript = 0x242,
   1.596 +            AppCtrlSuperscript = 0x243,
   1.597 +            AppCtrlAllCaps = 0x244,
   1.598 +            AppCtrlRotate = 0x245,
   1.599 +            AppCtrlResize = 0x246,
   1.600 +            AppCtrlFlipHorizontal = 0x247,
   1.601 +            AppCtrlFlipVertical = 0x248,
   1.602 +            AppCtrlMirrorHorizontal = 0x249,
   1.603 +            AppCtrlMirrorVertical = 0x24A,
   1.604 +            AppCtrlFontSelect = 0x24B,
   1.605 +            AppCtrlFontColor = 0x24C,
   1.606 +            AppCtrlFontSize = 0x24D,
   1.607 +            AppCtrlJustifyLeft = 0x24E,
   1.608 +            AppCtrlJustifyCenterH = 0x24F,
   1.609 +            AppCtrlJustifyRight = 0x250,
   1.610 +            AppCtrlJustifyBlockH = 0x251,
   1.611 +            AppCtrlJustifyTop = 0x252,
   1.612 +            AppCtrlJustifyCenterV = 0x253,
   1.613 +            AppCtrlJustifyBottom = 0x254,
   1.614 +            AppCtrlJustifyBlockV = 0x255,
   1.615 +            AppCtrlIndentDecrease = 0x256,
   1.616 +            AppCtrlIndentIncrease = 0x257,
   1.617 +            AppCtrlNumberedList = 0x258,
   1.618 +            AppCtrlRestartNumbering = 0x259,
   1.619 +            AppCtrlBulletedList = 0x25A,
   1.620 +            AppCtrlPromote = 0x25B,
   1.621 +            AppCtrlDemote = 0x25C,
   1.622 +            AppCtrlYes = 0x25D,
   1.623 +            AppCtrlNo = 0x25E,
   1.624 +            AppCtrlCancel = 0x25F,
   1.625 +            AppCtrlCatalog = 0x260,
   1.626 +            AppCtrlBuyCheckout = 0x261,
   1.627 +            AppCtrlAddToCart = 0x262,
   1.628 +            AppCtrlExpand = 0x263,
   1.629 +            AppCtrlExpandAll = 0x264,
   1.630 +            AppCtrlCollapse = 0x265,
   1.631 +            AppCtrlCollapseAll = 0x266,
   1.632 +            AppCtrlPrintPreview = 0x267,
   1.633 +            AppCtrlPasteSpecial = 0x268,
   1.634 +            AppCtrlInsertMode = 0x269,
   1.635 +            AppCtrlDelete = 0x26A,
   1.636 +            AppCtrlLock = 0x26B,
   1.637 +            AppCtrlUnlock = 0x26C,
   1.638 +            AppCtrlProtect = 0x26D,
   1.639 +            AppCtrlUnprotect = 0x26E,
   1.640 +            AppCtrlAttachComment = 0x26F,
   1.641 +            AppCtrlDeleteComment = 0x270,
   1.642 +            AppCtrlViewComment = 0x271,
   1.643 +            AppCtrlSelectWord = 0x272,
   1.644 +            AppCtrlSelectSentence = 0x273,
   1.645 +            AppCtrlSelectParagraph = 0x274,
   1.646 +            AppCtrlSelectColumn = 0x275,
   1.647 +            AppCtrlSelectRow = 0x276,
   1.648 +            AppCtrlSelectTable = 0x277,
   1.649 +            AppCtrlSelectObject = 0x278,
   1.650 +            AppCtrlRedoRepeat = 0x279,
   1.651 +            AppCtrlSort = 0x27A,
   1.652 +            AppCtrlSortAscending = 0x27B,
   1.653 +            AppCtrlSortDescending = 0x27C,
   1.654 +            AppCtrlFilter = 0x27D,
   1.655 +            AppCtrlSetClock = 0x27E,
   1.656 +            AppCtrlViewClock = 0x27F,
   1.657 +            AppCtrlSelectTimeZone = 0x280,
   1.658 +            AppCtrlEditTimeZones = 0x281,
   1.659 +            AppCtrlSetAlarm = 0x282,
   1.660 +            AppCtrlClearAlarm = 0x283,
   1.661 +            AppCtrlSnoozeAlarm = 0x284,
   1.662 +            AppCtrlResetAlarm = 0x285,
   1.663 +            AppCtrlSynchronize = 0x286,
   1.664 +            AppCtrlSendReceive = 0x287,
   1.665 +            AppCtrlSendTo = 0x288,
   1.666 +            AppCtrlReply = 0x289,
   1.667 +            AppCtrlReplyAll = 0x28A,
   1.668 +            AppCtrlForwardMsg = 0x28B,
   1.669 +            AppCtrlSend = 0x28C,
   1.670 +            AppCtrlAttachFile = 0x28D,
   1.671 +            AppCtrlUpload = 0x28E,
   1.672 +            AppCtrlDownloadSaveTargetAs = 0x28F,
   1.673 +            AppCtrlSetBorders = 0x290,
   1.674 +            AppCtrlInsertRow = 0x291,
   1.675 +            AppCtrlInsertColumn = 0x292,
   1.676 +            AppCtrlInsertFile = 0x293,
   1.677 +            AppCtrlInsertPicture = 0x294,
   1.678 +            AppCtrlInsertObject = 0x295,
   1.679 +            AppCtrlInsertSymbol = 0x296,
   1.680 +            AppCtrlSaveAndClose = 0x297,
   1.681 +            AppCtrlRename = 0x298,
   1.682 +            AppCtrlMerge = 0x299,
   1.683 +            AppCtrlSplit = 0x29A,
   1.684 +            AppCtrlDistributeHorizontally = 0x29B,
   1.685 +            AppCtrlDistributeVertically = 0x29C
   1.686 +        }
   1.687 +
   1.688 +        /// <summary>
   1.689 +        ///
   1.690 +        /// </summary>
   1.691 +        enum GenericDesktop : ushort
   1.692 +        {
   1.693 +            Null = 0x00,
   1.694 +            Pointer = 0x01,
   1.695 +            Mouse = 0x02,
   1.696 +            Joystick = 0x04,
   1.697 +            GamePad = 0x05,
   1.698 +            Keyboard = 0x06,
   1.699 +            Keypad = 0x07,
   1.700 +            MultiAxisController = 0x08,
   1.701 +            TabletPcSystemControls = 0x09,
   1.702 +            X = 0x30,
   1.703 +            Y = 0x31,
   1.704 +            Z = 0x32,
   1.705 +            Rx = 0x33,
   1.706 +            Ry = 0x34,
   1.707 +            Rz = 0x35,
   1.708 +            Slider = 0x36,
   1.709 +            Dial = 0x37,
   1.710 +            Wheel = 0x38,
   1.711 +            HatSwitch = 0x39,
   1.712 +            CountedBuffer = 0x3A,
   1.713 +            ByteCount = 0x3B,
   1.714 +            MotionWakeup = 0x3C,
   1.715 +            Start = 0x3D,
   1.716 +            Select = 0x3E,
   1.717 +            Vx = 0x40,
   1.718 +            Vy = 0x41,
   1.719 +            Vz = 0x42,
   1.720 +            Vbrx = 0x43,
   1.721 +            Vbry = 0x44,
   1.722 +            Vbrz = 0x45,
   1.723 +            Vno = 0x46,
   1.724 +            SystemControl = 0x80,
   1.725 +            SystemPowerDown = 0x81,
   1.726 +            SystemSleep = 0x82,
   1.727 +            SystemWakeUp = 0x83,
   1.728 +            SystemContextMenu = 0x84,
   1.729 +            SystemMainMenu = 0x85,
   1.730 +            SystemAppMenu = 0x86,
   1.731 +            SystemMenuHelp = 0x87,
   1.732 +            SystemMenuExit = 0x88,
   1.733 +            SystemMenuSelect = 0x89,
   1.734 +            SystemMenuRight = 0x8A,
   1.735 +            SystemMenuLeft = 0x8B,
   1.736 +            SystemMenuUp = 0x8C,
   1.737 +            SystemMenuDown = 0x8D,
   1.738 +            SystemColdRestart = 0x8E,
   1.739 +            SystemWarmRestart = 0x8F,
   1.740 +            DPadUp = 0x90,
   1.741 +            DPadDown = 0x91,
   1.742 +            DPadRight = 0x92,
   1.743 +            DPadLeft = 0x93,
   1.744 +            SystemDock = 0xA0,
   1.745 +            SystemUndock = 0xA1,
   1.746 +            SystemSetup = 0xA2,
   1.747 +            SystemBreak = 0xA3,
   1.748 +            SystemDebuggerBreak = 0xA4,
   1.749 +            ApplicationBreak = 0xA5,
   1.750 +            ApplicationDebuggerBreak = 0xA6,
   1.751 +            SystemSpeakerMute = 0xA7,
   1.752 +            SystemHibernate = 0xA8,
   1.753 +            SystemDisplayInvert = 0xB0,
   1.754 +            SystemDisplayInternal = 0xB1,
   1.755 +            SystemDisplayExternal = 0xB2,
   1.756 +            SystemDisplayBoth = 0xB3,
   1.757 +            SystemDisplayDual = 0xB4,
   1.758 +            SystemDisplayToggleIntExt = 0xB5,
   1.759 +            SystemDisplaySwapPrimarySecondary = 0xB6,
   1.760 +            SystemDisplayLcdAutoscale = 0xB7
   1.761 +        }
   1.762 +
   1.763 +        /// <summary>
   1.764 +        ///
   1.765 +        /// </summary>
   1.766 +        enum SimulationControl : ushort
   1.767 +        {
   1.768 +            Null = 0x00,
   1.769 +            FlightSimulationDevice = 0x01,
   1.770 +            AutomobileSimulationDevice = 0x02,
   1.771 +            TankSimulationDevice = 0x03,
   1.772 +            SpaceshipSimulationDevice = 0x04,
   1.773 +            SubmarineSimulationDevice = 0x05,
   1.774 +            SailingSimulationDevice = 0x06,
   1.775 +            MotorcycleSimulationDevice = 0x07,
   1.776 +            SportsSimulationDevice = 0x08,
   1.777 +            AirplaneSimulationDevice = 0x09,
   1.778 +            HelicopterSimulationDevice = 0x0A,
   1.779 +            MagicCarpetSimulationDevice = 0x0B,
   1.780 +            BicycleSimulationDevice = 0x0C,
   1.781 +            FlightControlStick = 0x20,
   1.782 +            FlightStick = 0x21,
   1.783 +            CyclicControl = 0x22,
   1.784 +            CyclicTrim = 0x23,
   1.785 +            FlightYoke = 0x24,
   1.786 +            TrackControl = 0x25,
   1.787 +            Aileron = 0xB0,
   1.788 +            AileronTrim = 0xB1,
   1.789 +            AntiTorqueControl = 0xB2,
   1.790 +            AutopilotEnable = 0xB3,
   1.791 +            ChaffRelease = 0xB4,
   1.792 +            CollectiveControl = 0xB5,
   1.793 +            DiveBrake = 0xB6,
   1.794 +            ElectronicCountermeasures = 0xB7,
   1.795 +            Elevator = 0xB8,
   1.796 +            ElevatorTrim = 0xB9,
   1.797 +            Rudder = 0xBA,
   1.798 +            Throttle = 0xBB,
   1.799 +            FlightCommunications = 0xBC,
   1.800 +            FlareRelease = 0xBD,
   1.801 +            LandingGear = 0xBE,
   1.802 +            ToeBrake = 0xBF,
   1.803 +            Trigger = 0xC0,
   1.804 +            WeaponsArm = 0xC1,
   1.805 +            WeaponsSelect = 0xC2,
   1.806 +            WingFlaps = 0xC3,
   1.807 +            Accelerator = 0xC4,
   1.808 +            Brake = 0xC5,
   1.809 +            Clutch = 0xC6,
   1.810 +            Shifter = 0xC7,
   1.811 +            Steering = 0xC8,
   1.812 +            TurretDirection = 0xC9,
   1.813 +            BarrelElevation = 0xCA,
   1.814 +            DivePlane = 0xCB,
   1.815 +            Ballast = 0xCC,
   1.816 +            BicycleCrank = 0xCD,
   1.817 +            HandleBars = 0xCE,
   1.818 +            FrontBrake = 0xCF,
   1.819 +            RearBrake = 0xD0
   1.820 +        }
   1.821 +
   1.822 +        /// <summary>
   1.823 +        ///
   1.824 +        /// </summary>
   1.825 +        enum GameControl : ushort
   1.826 +        {
   1.827 +            Null = 0x00,
   1.828 +            GameController3D = 0x01,
   1.829 +            PinballDevice = 0x02,
   1.830 +            GunDevice = 0x03,
   1.831 +            PointOfView = 0x20,
   1.832 +            TurnRightLeft = 0x21,
   1.833 +            PitchForwardBackward = 0x22,
   1.834 +            RollRightLeft = 0x23,
   1.835 +            MoveRightLeft = 0x24,
   1.836 +            MoveForwardBackward = 0x25,
   1.837 +            MoveUpDown = 0x26,
   1.838 +            LeanRightLeft = 0x27,
   1.839 +            LeanForwardBackward = 0x28,
   1.840 +            HeightOfPov = 0x29,
   1.841 +            Flipper = 0x2A,
   1.842 +            SecondaryFlipper = 0x2B,
   1.843 +            Bump = 0x2C,
   1.844 +            NewGame = 0x2D,
   1.845 +            ShootBall = 0x2E,
   1.846 +            Player = 0x2F,
   1.847 +            GunBolt = 0x30,
   1.848 +            GunClip = 0x31,
   1.849 +            GunSelector = 0x32,
   1.850 +            GunSingleShot = 0x33,
   1.851 +            GunBurst = 0x34,
   1.852 +            GunAutomatic = 0x35,
   1.853 +            GunSafety = 0x36,
   1.854 +            GamepadFireJump = 0x37,
   1.855 +            GamepadTrigger = 0x39
   1.856 +        }
   1.857 +
   1.858 +        /// <summary>
   1.859 +        ///
   1.860 +        /// </summary>
   1.861 +        enum TelephonyDevice : ushort
   1.862 +        {
   1.863 +            Null = 0x00,
   1.864 +            Phone = 0x01,
   1.865 +            AnsweringMachine = 0x02,
   1.866 +            MessageControls = 0x03,
   1.867 +            Handset = 0x04,
   1.868 +            Headset = 0x05,
   1.869 +            TelephonyKeyPad = 0x06,
   1.870 +            ProgrammableButton = 0x07,
   1.871 +            HookSwitch = 0x20,
   1.872 +            Flash = 0x21,
   1.873 +            Feature = 0x22,
   1.874 +            Hold = 0x23,
   1.875 +            Redial = 0x24,
   1.876 +            Transfer = 0x25,
   1.877 +            Drop = 0x26,
   1.878 +            Park = 0x27,
   1.879 +            ForwardCalls = 0x28,
   1.880 +            AlternateFunction = 0x29,
   1.881 +            Line = 0x2A,
   1.882 +            SpeakerPhone = 0x2B,
   1.883 +            Conference = 0x2C,
   1.884 +            RingEnable = 0x2D,
   1.885 +            RingSelect = 0x2E,
   1.886 +            PhoneMute = 0x2F,
   1.887 +            CallerId = 0x30,
   1.888 +            Send = 0x31,
   1.889 +            SpeedDial = 0x50,
   1.890 +            StoreNumber = 0x51,
   1.891 +            RecallNumber = 0x52,
   1.892 +            PhoneDirectory = 0x53,
   1.893 +            VoiceMail = 0x70,
   1.894 +            ScreenCalls = 0x71,
   1.895 +            DoNotDisturb = 0x72,
   1.896 +            Message = 0x73,
   1.897 +            AnswerOnOff = 0x74,
   1.898 +            InsideDialTone = 0x90,
   1.899 +            OutsideDialTone = 0x91,
   1.900 +            InsideRingTone = 0x92,
   1.901 +            OutsideRingTone = 0x93,
   1.902 +            PriorityRingTone = 0x94,
   1.903 +            InsideRingback = 0x95,
   1.904 +            PriorityRingback = 0x96,
   1.905 +            LineBusyTone = 0x97,
   1.906 +            ReorderTone = 0x98,
   1.907 +            CallWaitingTone = 0x99,
   1.908 +            ConfirmationTone1 = 0x9A,
   1.909 +            ConfirmationTone2 = 0x9B,
   1.910 +            TonesOff = 0x9C,
   1.911 +            OutsideRingback = 0x9D,
   1.912 +            Ringer = 0x9E,
   1.913 +            PhoneKey0 = 0xB0,
   1.914 +            PhoneKey1 = 0xB1,
   1.915 +            PhoneKey2 = 0xB2,
   1.916 +            PhoneKey3 = 0xB3,
   1.917 +            PhoneKey4 = 0xB4,
   1.918 +            PhoneKey5 = 0xB5,
   1.919 +            PhoneKey6 = 0xB6,
   1.920 +            PhoneKey7 = 0xB7,
   1.921 +            PhoneKey8 = 0xB8,
   1.922 +            PhoneKey9 = 0xB9,
   1.923 +            PhoneKeyStar = 0xBA,
   1.924 +            PhoneKeyPound = 0xBB,
   1.925 +            PhoneKeyA = 0xBC,
   1.926 +            PhoneKeyB = 0xBD,
   1.927 +            PhoneKeyC = 0xBE,
   1.928 +            PhoneKeyD = 0xBF
   1.929 +        }
   1.930 +    }
   1.931 +}
   1.932 \ No newline at end of file