Generating a few more usage tables.
8 /// From USB HID usage tables.
9 /// http://www.usb.org/developers/hidpage#HID_Usage
10 /// http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf
12 public enum UsagePage : ushort
15 GenericDesktopControls,
17 VirtualRealityControls,
20 GenericDeviceControls,
28 PhysicalInterfaceDevice = 0x0f,
30 AlphaNumericDisplay = 0x14,
31 MedicalInstruments = 0x40,
40 BarCodeScanner = 0x8c,
46 // http://msdn.microsoft.com/en-us/library/windows/desktop/bb417079.aspx
47 WindowsMediaCenterRemoteControl = 0xffbc,
48 TerraTecRemote = 0xffcc
51 public enum UsageCollectionGenericDesktop : ushort
59 MultiAxisController = 0x08,
60 TabletPCSystemControls = 0x09,
64 public enum UsageCollectionConsumer : ushort
66 ConsumerControl = 0x01,
68 ProgrammableButtons = 0x03,
71 GraphicEqualizer = 0x06,
72 FunctionButtons = 0x36,
74 MediaSelection = 0x0087,
76 PlaybackSpeed = 0x00F1,
78 SpeakerSystem = 0x0160,
80 ChannelRight = 0x0162,
81 ChannelCenter = 0x0163,
82 ChannelFront = 0x0164,
83 ChannelCenterFront = 0x0165,
85 ChannelSurrond = 0x0167,
86 ChannelLowFrequencyEnhancement = 0x0168,
88 ChannelUnknown = 0x016A,
89 ApplicationLaunchButtons = 0x016A,
90 GenericGuiApplicationControls = 0x0200,
94 public enum UsageCollectionWindowsMediaCenter: ushort
96 WindowsMediaCenterRemoteControl = 0x88
101 namespace UsageTables
106 public enum WindowsMediaCenterRemoteControl: ushort
109 /// Not defined by the Microsoft specs.
113 ClosedCaptioning = 0x2B,
116 TeletextGreen = 0x5C,
117 TeletextYellow = 0x5D,
132 /// First press action: Ejects a DVD drive.
134 /// Second press action: Repeats first press action.
136 /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
141 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
142 /// Collection (page 0xFFBC, usage 0x88).
144 /// Second press action: Repeats message.
148 /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
150 /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
154 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
155 /// Collection (page 0xFFBC, usage 0x88).
157 /// Second press action: Repeats message.
161 /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
163 /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
167 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
168 /// Collection (page 0xFFBC, usage 0x88).
170 /// Second press action: Repeats message.
174 /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
175 /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
179 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
180 /// Collection (page 0xFFBC, usage 0x88).
182 /// Second press action: Repeats message.
186 /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
204 /// First press action: Generates OEM2 HID message in the Media Center Vendor Specific
205 /// Collection. This button is intended to control the front panel display of home entertainment
206 /// computers. When this button is pressed, the display could be turned on or off, or the display
207 /// mode could change.
209 /// Second press action: Repeats message.
213 /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
217 /// First press action: To be determined.
219 /// Second press action: Repeats message.
224 NetworkSelection = 0x2C,
227 VideoSelection = 0x61
231 /// Those codes come from experimenting with HP remotes.
233 public enum HpWindowsMediaCenterRemoteControl : ushort
236 /// Displays visual imagery that is synchronized to the sound of your music tracks.
238 /// Second press action: Repeats message.
242 /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
244 /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
246 Visualization = WindowsMediaCenterRemoteControl.Ext0,
248 /// Plays a slide show of all the pictures on your hard disk drive.
250 /// Second press action: Repeats message.
254 /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
256 /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
258 SlideShow = WindowsMediaCenterRemoteControl.Ext1,
260 /// Eject optical drive.
262 /// Second press action: Repeats message.
266 /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
267 /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
269 HpEject = WindowsMediaCenterRemoteControl.Ext2,
271 /// Not sure what this should do.
273 /// Second press action: Repeats message.
277 /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
279 InputSelection = WindowsMediaCenterRemoteControl.Ext3,
283 /// Usage Table for Consumer Controls
286 public enum ConsumerControl : ushort
290 ConsumerControl = 0x01,
291 NumericKeyPad = 0x02,
292 ProgrammableButtons = 0x03,
295 GraphicEqualizer = 0x06,
305 FunctionButtons = 0x36,
313 MenuValueIncrease = 0x47,
314 MenuValueDecrease = 0x48,
316 ClosedCaption = 0x61,
317 ClosedCaptionSelect = 0x62,
319 BroadcastMode = 0x64,
323 AssignSelection = 0x81,
329 MediaSelection = 0x87,
330 MediaSelectComputer = 0x88,
331 MediaSelectTv = 0x89,
332 MediaSelectWww = 0x8A,
333 MediaSelectDvd = 0x8B,
334 MediaSelectTelephone = 0x8C,
335 MediaSelectProgramGuide = 0x8D,
336 MediaSelectVideoPhone = 0x8E,
337 MediaSelectGames = 0x8F,
338 MediaSelectMessages = 0x90,
339 MediaSelectCd = 0x91,
340 MediaSelectVcr = 0x92,
341 MediaSelectTuner = 0x93,
344 MediaSelectTape = 0x96,
345 MediaSelectCable = 0x97,
346 MediaSelectSatellite = 0x98,
347 MediaSelectSecurity = 0x99,
348 MediaSelectHome = 0x9A,
349 MediaSelectCall = 0x9B,
350 ChannelIncrement = 0x9C,
351 ChannelDecrement = 0x9D,
352 MediaSelectSap = 0x9E,
363 ScanNextTrack = 0xB5,
364 ScanPreviousTrack = 0xB6,
378 RepeatFromMark = 0xC4,
380 SearchMarkForward = 0xC6,
381 SearchMarkBackwards = 0xC7,
384 TrackingIncrement = 0xCA,
385 TrackingDecrement = 0xCB,
398 VolumeIncrement = 0xE9,
399 VolumeDecrement = 0xEA,
401 PlaybackSpeed = 0xF1,
409 LightIlluminationLevel = 0x103,
410 ClimateControlEnable = 0x104,
411 RoomTemperature = 0x105,
412 SecurityEnable = 0x106,
419 MedicalAlarm = 0x10D,
420 BalanceRight = 0x150,
422 BassIncrement = 0x152,
423 BassDecrement = 0x153,
424 TrebleIncrement = 0x154,
425 TrebleDecrement = 0x155,
426 SpeakerSystem = 0x160,
428 ChannelRight = 0x162,
429 ChannelCenter = 0x163,
430 ChannelFront = 0x164,
431 ChannelCenterFront = 0x165,
433 ChannelSurround = 0x167,
434 ChannelLowFrequencyEnhancement = 0x168,
436 ChannelUnknown = 0x16A,
438 SubChannelIncrement = 0x171,
439 SubChannelDecrement = 0x172,
440 AlternateAudioIncrement = 0x173,
441 AlternateAudioDecrement = 0x174,
442 ApplicationLaunchButtons = 0x180,
443 AppLaunchLaunchButtonConfigurationTool = 0x181,
444 AppLaunchProgrammableButtonConfiguration = 0x182,
445 AppLaunchConsumerControlConfiguration = 0x183,
446 AppLaunchWordProcessor = 0x184,
447 AppLaunchTextEditor = 0x185,
448 AppLaunchSpreadsheet = 0x186,
449 AppLaunchGraphicsEditor = 0x187,
450 AppLaunchPresentationApp = 0x188,
451 AppLaunchDatabaseApp = 0x189,
452 AppLaunchEmailReader = 0x18A,
453 AppLaunchNewsreader = 0x18B,
454 AppLaunchVoicemail = 0x18C,
455 AppLaunchContactsAddressBook = 0x18D,
456 AppLaunchCalendarSchedule = 0x18E,
457 AppLaunchTaskProjectManager = 0x18F,
458 AppLaunchLogJournalTimecard = 0x190,
459 AppLaunchCheckbookFinance = 0x191,
460 AppLaunchCalculator = 0x192,
461 AppLaunchAVCapturePlayback = 0x193,
462 AppLaunchLocalMachineBrowser = 0x194,
463 AppLaunchLanWanBrowser = 0x195,
464 AppLaunchInternetBrowser = 0x196,
465 AppLaunchRemoteNetworkingIspConnect = 0x197,
466 AppLaunchNetworkConference = 0x198,
467 AppLaunchNetworkChat = 0x199,
468 AppLaunchTelephonyDialer = 0x19A,
469 AppLaunchLogon = 0x19B,
470 AppLaunchLogoff = 0x19C,
471 AppLaunchLogonLogoff = 0x19D,
472 AppLaunchTerminalLockScreensaver = 0x19E,
473 AppLaunchControlPanel = 0x19F,
474 AppLaunchCommandLineProcessorRun = 0x1A0,
475 AppLaunchProcessTaskManager = 0x1A1,
476 AppLaunchSelectTaskApplication = 0x1A2,
477 AppLaunchNextTaskApplication = 0x1A3,
478 AppLaunchPreviousTaskApplication = 0x1A4,
479 AppLaunchPreemptiveHaltTaskApplication = 0x1A5,
480 AppLaunchIntegratedHelpCenter = 0x1A6,
481 AppLaunchDocuments = 0x1A7,
482 AppLaunchThesaurus = 0x1A8,
483 AppLaunchDictionary = 0x1A9,
484 AppLaunchDesktop = 0x1AA,
485 AppLaunchSpellCheck = 0x1AB,
486 AppLaunchGrammarCheck = 0x1AC,
487 AppLaunchWirelessStatus = 0x1AD,
488 AppLaunchKeyboardLayout = 0x1AE,
489 AppLaunchVirusProtection = 0x1AF,
490 AppLaunchEncryption = 0x1B0,
491 AppLaunchScreenSaver = 0x1B1,
492 AppLaunchAlarms = 0x1B2,
493 AppLaunchClock = 0x1B3,
494 AppLaunchFileBrowser = 0x1B4,
495 AppLaunchPowerStatus = 0x1B5,
496 AppLaunchImageBrowser = 0x1B6,
497 AppLaunchAudioBrowser = 0x1B7,
498 AppLaunchMovieBrowser = 0x1B8,
499 AppLaunchDigitalRightsManager = 0x1B9,
500 AppLaunchDigitalWallet = 0x1BA,
501 AppLaunchInstantMessaging = 0x1BC,
502 AppLaunchOemFeaturesTipsTutorialBrowser = 0x1BD,
503 AppLaunchOemHelp = 0x1BE,
504 AppLaunchOnlineCommunity = 0x1BF,
505 AppLaunchEntertainmentContentBrowser = 0x1C0,
506 AppLaunchOnlineShoppingBrowser = 0x1C1,
507 AppLaunchSmartcardInformationHelp = 0x1C2,
508 AppLaunchMarketMonitorFinanceBrowser = 0x1C3,
509 AppLaunchCustomizedCorporateNewsBrowser = 0x1C4,
510 AppLaunchOnlineActivityBrowser = 0x1C5,
511 AppLaunchResearchSearchBrowser = 0x1C6,
512 AppLaunchAudioPlayer = 0x1C7,
513 GenericGuiApplicationControls = 0x200,
516 AppCtrlClose = 0x203,
518 AppCtrlMaximize = 0x205,
519 AppCtrlMinimize = 0x206,
521 AppCtrlPrint = 0x208,
522 AppCtrlProperties = 0x209,
526 AppCtrlPaste = 0x21D,
527 AppCtrlSelectAll = 0x21E,
529 AppCtrlFindAndReplace = 0x220,
530 AppCtrlSearch = 0x221,
534 AppCtrlForward = 0x225,
536 AppCtrlRefresh = 0x227,
537 AppCtrlPreviousLink = 0x228,
538 AppCtrlNextLink = 0x229,
539 AppCtrlBookmarks = 0x22A,
540 AppCtrlHistory = 0x22B,
541 AppCtrlSubscriptions = 0x22C,
542 AppCtrlZoomIn = 0x22D,
543 AppCtrlZoomOut = 0x22E,
545 AppCtrlFullScreenView = 0x230,
546 AppCtrlNormalView = 0x231,
547 AppCtrlViewToggle = 0x232,
548 AppCtrlScrollUp = 0x233,
549 AppCtrlScrollDown = 0x234,
550 AppCtrlScroll = 0x235,
551 AppCtrlPanLeft = 0x236,
552 AppCtrlPanRight = 0x237,
554 AppCtrlNewWindow = 0x239,
555 AppCtrlTileHorizontally = 0x23A,
556 AppCtrlTileVertically = 0x23B,
557 AppCtrlFormat = 0x23C,
560 AppCtrlItalics = 0x23F,
561 AppCtrlUnderline = 0x240,
562 AppCtrlStrikethrough = 0x241,
563 AppCtrlSubscript = 0x242,
564 AppCtrlSuperscript = 0x243,
565 AppCtrlAllCaps = 0x244,
566 AppCtrlRotate = 0x245,
567 AppCtrlResize = 0x246,
568 AppCtrlFlipHorizontal = 0x247,
569 AppCtrlFlipVertical = 0x248,
570 AppCtrlMirrorHorizontal = 0x249,
571 AppCtrlMirrorVertical = 0x24A,
572 AppCtrlFontSelect = 0x24B,
573 AppCtrlFontColor = 0x24C,
574 AppCtrlFontSize = 0x24D,
575 AppCtrlJustifyLeft = 0x24E,
576 AppCtrlJustifyCenterH = 0x24F,
577 AppCtrlJustifyRight = 0x250,
578 AppCtrlJustifyBlockH = 0x251,
579 AppCtrlJustifyTop = 0x252,
580 AppCtrlJustifyCenterV = 0x253,
581 AppCtrlJustifyBottom = 0x254,
582 AppCtrlJustifyBlockV = 0x255,
583 AppCtrlIndentDecrease = 0x256,
584 AppCtrlIndentIncrease = 0x257,
585 AppCtrlNumberedList = 0x258,
586 AppCtrlRestartNumbering = 0x259,
587 AppCtrlBulletedList = 0x25A,
588 AppCtrlPromote = 0x25B,
589 AppCtrlDemote = 0x25C,
592 AppCtrlCancel = 0x25F,
593 AppCtrlCatalog = 0x260,
594 AppCtrlBuyCheckout = 0x261,
595 AppCtrlAddToCart = 0x262,
596 AppCtrlExpand = 0x263,
597 AppCtrlExpandAll = 0x264,
598 AppCtrlCollapse = 0x265,
599 AppCtrlCollapseAll = 0x266,
600 AppCtrlPrintPreview = 0x267,
601 AppCtrlPasteSpecial = 0x268,
602 AppCtrlInsertMode = 0x269,
603 AppCtrlDelete = 0x26A,
605 AppCtrlUnlock = 0x26C,
606 AppCtrlProtect = 0x26D,
607 AppCtrlUnprotect = 0x26E,
608 AppCtrlAttachComment = 0x26F,
609 AppCtrlDeleteComment = 0x270,
610 AppCtrlViewComment = 0x271,
611 AppCtrlSelectWord = 0x272,
612 AppCtrlSelectSentence = 0x273,
613 AppCtrlDistributeVertically = 0x29C
619 enum GenericDesktop : ushort
628 MultiAxisController = 0x08,
629 TabletPcSystemControls = 0x09,
640 CountedBuffer = 0x3A,
652 SystemControl = 0x80,
653 SystemPowerDown = 0x81,
656 SystemContextMenu = 0x84,
657 SystemMainMenu = 0x85,
658 SystemAppMenu = 0x86,
659 SystemMenuHelp = 0x87,
660 SystemMenuExit = 0x88,
661 SystemMenuSelect = 0x89,
662 SystemMenuRight = 0x8A,
663 SystemMenuLeft = 0x8B,
665 SystemMenuDown = 0x8D,
666 SystemColdRestart = 0x8E,
667 SystemWarmRestart = 0x8F,
676 SystemDebuggerBreak = 0xA4,
677 ApplicationBreak = 0xA5,
678 ApplicationDebuggerBreak = 0xA6,
679 SystemSpeakerMute = 0xA7,
680 SystemHibernate = 0xA8,
681 SystemDisplayInvert = 0xB0,
682 SystemDisplayInternal = 0xB1,
683 SystemDisplayExternal = 0xB2,
684 SystemDisplayBoth = 0xB3,
685 SystemDisplayDual = 0xB4,
686 SystemDisplayToggleIntExt = 0xB5,
687 SystemDisplaySwapPrimarySecondary = 0xB6,
688 SystemDisplayLcdAutoscale = 0xB7
694 enum SimulationControl : ushort
696 FlightSimulationDevice = 0x01,
697 AutomobileSimulationDevice = 0x02,
698 TankSimulationDevice = 0x03,
699 SpaceshipSimulationDevice = 0x04,
700 SubmarineSimulationDevice = 0x05,
701 SailingSimulationDevice = 0x06,
702 MotorcycleSimulationDevice = 0x07,
703 SportsSimulationDevice = 0x08,
704 AirplaneSimulationDevice = 0x09,
705 HelicopterSimulationDevice = 0x0A,
706 MagicCarpetSimulationDevice = 0x0B,
707 BicycleSimulationDevice = 0x0C,
708 FlightControlStick = 0x20,
710 CyclicControl = 0x22,
716 AntiTorqueControl = 0xB2,
717 AutopilotEnable = 0xB3,
719 CollectiveControl = 0xB5,
721 ElectronicCountermeasures = 0xB7,
726 FlightCommunications = 0xBC,
732 WeaponsSelect = 0xC2,
739 TurretDirection = 0xC9,
740 BarrelElevation = 0xCA,
752 enum GameControl : ushort
754 GameController3D = 0x01,
755 PinballDevice = 0x02,
758 TurnRightLeft = 0x21,
759 PitchForwardBackward = 0x22,
760 RollRightLeft = 0x23,
761 MoveRightLeft = 0x24,
762 MoveForwardBackward = 0x25,
764 LeanRightLeft = 0x27,
765 LeanForwardBackward = 0x28,
768 SecondaryFlipper = 0x2B,
776 GunSingleShot = 0x33,
780 GamepadFireJump = 0x37,
781 GamepadTrigger = 0x39
787 enum TelephonyDevice : ushort
790 AnsweringMachine = 0x02,
791 MessageControls = 0x03,
794 TelephonyKeyPad = 0x06,
795 ProgrammableButton = 0x07,
805 AlternateFunction = 0x29,
817 PhoneDirectory = 0x53,
823 InsideDialTone = 0x90,
824 OutsideDialTone = 0x91,
825 InsideRingTone = 0x92,
826 OutsideRingTone = 0x93,
827 PriorityRingTone = 0x94,
828 InsideRingback = 0x95,
829 PriorityRingback = 0x96,
832 CallWaitingTone = 0x99,
833 ConfirmationTone1 = 0x9A,
834 ConfirmationTone2 = 0x9B,
836 OutsideRingback = 0x9D,
849 PhoneKeyPound = 0xBB,