sl@8: //
sl@8: //
sl@8: //
sl@8:
sl@8: namespace Hid
sl@8: {
sl@8: ///
sl@8: /// From USB HID usage tables.
sl@8: /// http://www.usb.org/developers/hidpage#HID_Usage
sl@8: /// http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf
sl@8: ///
sl@8: public enum UsagePage : ushort
sl@8: {
sl@8: Undefined = 0,
sl@8: GenericDesktopControl,
sl@8: SimulationControl,
sl@8: VirtualRealityControl,
sl@8: SportControl,
sl@8: GameControl,
sl@8: GenericDeviceControl,
sl@8: Keyboard,
sl@8: LightEmittingDiode,
sl@8: Button,
sl@8: Ordinal,
sl@8: Telephony,
sl@8: Consumer,
sl@8: Digitiser,
sl@8: PhysicalInterfaceDevice = 0x0f,
sl@8: Unicode = 0x10,
sl@8: AlphaNumericDisplay = 0x14,
sl@8: MedicalInstruments = 0x40,
sl@8: MonitorPage0 = 0x80,
sl@8: MonitorPage1,
sl@8: MonitorPage2,
sl@8: MonitorPage3,
sl@8: PowerPage0,
sl@8: PowerPage1,
sl@8: PowerPage2,
sl@8: PowerPage3,
sl@8: BarCodeScanner = 0x8c,
sl@8: Scale,
sl@8: MagneticStripeReader,
sl@8: ReservedPointOfSale,
sl@8: CameraControl,
sl@8: Arcade,
sl@8: // http://msdn.microsoft.com/en-us/library/windows/desktop/bb417079.aspx
sl@8: MceRemote = 0xffbc,
sl@8: TerraTecRemote = 0xffcc
sl@8: }
sl@8:
sl@8: ///
sl@8: ///
sl@8: ///
sl@8: public enum UsageId: ushort
sl@8: {
sl@8: MceRemoteUsage = 0x88,
sl@8: ConsumerControl = 0x01
sl@8: }
sl@8:
sl@8:
sl@8:
sl@8: namespace UsageTables
sl@8: {
sl@8: ///
sl@8: ///
sl@8: ///
sl@8: public enum MceButton
sl@8: {
sl@8: ///
sl@8: /// Not defined by the Microsoft specs.
sl@8: ///
sl@8: Null = 0x00,
sl@8: GreenStart = 0x0D,
sl@8: ClosedCaptioning = 0x2B,
sl@8: Teletext = 0x5A,
sl@8: TeletextRed = 0x5B,
sl@8: TeletextGreen = 0x5C,
sl@8: TeletextYellow = 0x5D,
sl@8: TeletextBlue = 0x5E,
sl@8: LiveTv = 0x25,
sl@8: Music = 0x47,
sl@8: RecordedTv = 0x48,
sl@8: Pictures = 0x49,
sl@8: Videos = 0x4A,
sl@8: FmRadio = 0x50,
sl@8: Extras = 0x3C,
sl@8: ExtrasApp = 0x3D,
sl@8: DvdMenu = 0x24,
sl@8: DvdAngle = 0x4B,
sl@8: DvdAudio = 0x4C,
sl@8: DvdSubtitle = 0x4D,
sl@8: ///
sl@8: /// First press action: Ejects a DVD drive.
sl@8: ///
sl@8: /// Second press action: Repeats first press action.
sl@8: ///
sl@8: /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
sl@8: ///
sl@8: Eject = 0x28,
sl@8: DvdTopMenu = 0x43,
sl@8: ///
sl@8: /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
sl@8: /// Collection (page 0xFFBC, usage 0x88).
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: ///
sl@8: /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
sl@8: ///
sl@8: Ext0 = 0x32,
sl@8: ///
sl@8: /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
sl@8: /// Collection (page 0xFFBC, usage 0x88).
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: ///
sl@8: /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
sl@8: ///
sl@8: Ext1 = 0x33,
sl@8: ///
sl@8: /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
sl@8: /// Collection (page 0xFFBC, usage 0x88).
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
sl@8: ///
sl@8: Ext2 = 0x34,
sl@8: ///
sl@8: /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
sl@8: /// Collection (page 0xFFBC, usage 0x88).
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: ///
sl@8: Ext3 = 0x35,
sl@8: Ext4 = 0x36,
sl@8: Ext5 = 0x37,
sl@8: Ext6 = 0x38,
sl@8: Ext7 = 0x39,
sl@8: Ext8 = 0x3A,
sl@8: Ext9 = 0x80,
sl@8: Ext10 = 0x81,
sl@8: Ext11 = 0x6F,
sl@8: Zoom = 0x27,
sl@8: ChannelInput = 0x42,
sl@8: SubAudio = 0x2D,
sl@8: Channel10 = 0x3E,
sl@8: Channel11 = 0x3F,
sl@8: Channel12 = 0x40,
sl@8: ///
sl@8: /// First press action: Generates OEM2 HID message in the Media Center Vendor Specific
sl@8: /// Collection. This button is intended to control the front panel display of home entertainment
sl@8: /// computers. When this button is pressed, the display could be turned on or off, or the display
sl@8: /// mode could change.
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
sl@8: ///
sl@8: Display = 0x4F,
sl@8: ///
sl@8: /// First press action: To be determined.
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: Kiosk = 0x6A,
sl@8: NetworkSelection = 0x2C,
sl@8: BlueRayTool = 0x78,
sl@8: ChannelInfo = 0x41,
sl@8: VideoSelection = 0x61
sl@8: }
sl@8:
sl@8: public enum HpMceButton: ushort
sl@8: {
sl@8: ///
sl@8: /// Displays visual imagery that is synchronized to the sound of your music tracks.
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: ///
sl@8: /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
sl@8: ///
sl@8: Visualization = MceButton.Ext0,
sl@8: ///
sl@8: /// Plays a slide show of all the pictures on your hard disk drive.
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: ///
sl@8: /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
sl@8: ///
sl@8: SlideShow = MceButton.Ext1,
sl@8: ///
sl@8: /// Eject optical drive.
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
sl@8: ///
sl@8: Eject = MceButton.Ext2,
sl@8: ///
sl@8: /// Not sure what this should do.
sl@8: ///
sl@8: /// Second press action: Repeats message.
sl@8: ///
sl@8: /// Auto-repeat: No
sl@8: ///
sl@8: /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
sl@8: ///
sl@8: InputSelection = MceButton.Ext3,
sl@8: }
sl@8:
sl@8: ///
sl@8: /// Usage Table for Consumer Controls
sl@8: /// 0x0C 0X01
sl@8: ///
sl@8: public enum ConsumerControl: ushort
sl@8: {
sl@8: ///
sl@8: /// Sent by MCE remotes.
sl@8: ///
sl@8: MediaSelectProgramGuide = 0x008D,
sl@8: ///
sl@8: /// Sent by MCE remotes.
sl@8: ///
sl@8: AppCtrlPrint = 0x0208,
sl@8: ///
sl@8: /// Sent by MCE remotes from the 'I' Informations or More Info buttons.
sl@8: ///
sl@8: AppCtrlProperties = 0x0209
sl@8: }
sl@8: }
sl@8: }