Adding HidDevice class.
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 GenericDesktopControl,
17 VirtualRealityControl,
28 PhysicalInterfaceDevice = 0x0f,
30 AlphaNumericDisplay = 0x14,
31 MedicalInstruments = 0x40,
40 BarCodeScanner = 0x8c,
46 // http://msdn.microsoft.com/en-us/library/windows/desktop/bb417079.aspx
48 TerraTecRemote = 0xffcc
51 public enum UsageIdGenericDesktop : ushort
59 MultiAxisController = 0x08,
60 TabletPCSystemControls = 0x09,
64 public enum UsageIdConsumer : ushort
66 ConsumerControl = 0x01,
68 ProgrammableButtons = 0x03,
71 GraphicEqualizer = 0x06,
76 public enum UsageIdMce: ushort
88 public enum MceButton: ushort
91 /// Not defined by the Microsoft specs.
95 ClosedCaptioning = 0x2B,
99 TeletextYellow = 0x5D,
114 /// First press action: Ejects a DVD drive.
116 /// Second press action: Repeats first press action.
118 /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
123 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
124 /// Collection (page 0xFFBC, usage 0x88).
126 /// Second press action: Repeats message.
130 /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
132 /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
136 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
137 /// Collection (page 0xFFBC, usage 0x88).
139 /// Second press action: Repeats message.
143 /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
145 /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
149 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
150 /// Collection (page 0xFFBC, usage 0x88).
152 /// Second press action: Repeats message.
156 /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
157 /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
161 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
162 /// Collection (page 0xFFBC, usage 0x88).
164 /// Second press action: Repeats message.
168 /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
186 /// First press action: Generates OEM2 HID message in the Media Center Vendor Specific
187 /// Collection. This button is intended to control the front panel display of home entertainment
188 /// computers. When this button is pressed, the display could be turned on or off, or the display
189 /// mode could change.
191 /// Second press action: Repeats message.
195 /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
199 /// First press action: To be determined.
201 /// Second press action: Repeats message.
206 NetworkSelection = 0x2C,
209 VideoSelection = 0x61
213 /// Those codes come from experimenting with HP remotes.
215 public enum HpMceButton: ushort
218 /// Displays visual imagery that is synchronized to the sound of your music tracks.
220 /// Second press action: Repeats message.
224 /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
226 /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
228 Visualization = MceButton.Ext0,
230 /// Plays a slide show of all the pictures on your hard disk drive.
232 /// Second press action: Repeats message.
236 /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
238 /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
240 SlideShow = MceButton.Ext1,
242 /// Eject optical drive.
244 /// Second press action: Repeats message.
248 /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
249 /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
251 Eject = MceButton.Ext2,
253 /// Not sure what this should do.
255 /// Second press action: Repeats message.
259 /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
261 InputSelection = MceButton.Ext3,
265 /// Usage Table for Consumer Controls
268 public enum ConsumerControl: ushort
273 MediaSelection = 0x0087,
274 MediaSelectComputer = 0x0088,
275 MediaSelectTV = 0x0089,
276 MediaSelectWWW = 0x008A,
277 MediaSelectDVD = 0x008B,
278 MediaSelectTelephone = 0x008C,
279 MediaSelectProgramGuide = 0x008D,
280 MediaSelectVideoPhone = 0x008E,
281 MediaSelectGames = 0x008F,
282 MediaSelectMessages = 0x0090,
283 MediaSelectCD = 0x0091,
284 MediaSelectVCR = 0x0092,
285 MediaSelectTuner = 0x0093,
288 MediaSelectTape = 0x0096,
289 MediaSelectCable = 0x0097,
290 MediaSelectSatellite = 0x0098,
291 MediaSelectSecurity = 0x0099,
292 MediaSelectHome = 0x009A,
293 MediaSelectCall = 0x009B,
294 ChannelIncrement = 0x009C,
295 ChannelDecrement = 0x009D,
296 MediaSelectSAP = 0x009E,
301 FastForward = 0x00B3,
303 ScanNextTrack = 0x00B5,
304 ScanPreviousTrack = 0x00B6,
312 TrackNormal = 0x00BE,
313 SlowTracking = 0x00BF,
314 FrameForward = 0x00C0,
318 RepeatFromMark = 0x00C4,
319 ReturnToMark = 0x00C5,
320 SearchMarkForward = 0x00C6,
321 SearchMarkBackwards = 0x00C7,
322 CounterReset = 0x00C8,
323 ShowCounter = 0x00C9,
324 TrackingIncrement = 0x00CA,
325 TrackingDecrement = 0x00CB,
339 SurroundMode = 0x00E6,
342 VolumeIncrement = 0x00E9,
343 VolumeDecrement = 0x00EA,
345 //Generic GUI Application Controls
346 GenericGUIApplicationControls = 0x0200,
348 AppCtrlOpen = 0x0202,
349 AppCtrlClose = 0x0203,
350 AppCtrlExit = 0x0204,
351 AppCtrlMaximize = 0x0205,
352 AppCtrlMinimize = 0x0206,
353 AppCtrlSave = 0x0207,
354 AppCtrlPrint = 0x0208,
355 AppCtrlProperties = 0x0209,
356 AppCtrlUndo = 0x021A,
357 AppCtrlCopy = 0x021B,
359 AppCtrlPaste = 0x021D,
360 AppCtrlSelectAll = 0x021E,
361 AppCtrlFind = 0x021F,
362 AppCtrlFindAndReplace = 0x0220,
363 AppCtrlSearch = 0x0221,
364 AppCtrlGoTo = 0x0222,
365 AppCtrlHome = 0x0223,
366 AppCtrlBack = 0x0224,
367 AppCtrlForward = 0x0225,
368 AppCtrlStop = 0x0226,
369 AppCtrlRefresh = 0x0227,
370 AppCtrlPreviousLink = 0x0228,
371 AppCtrlNextLink = 0x0229,
372 AppCtrlBookmarks = 0x022A,
373 AppCtrlHistory = 0x022B,
374 AppCtrlSubscriptions = 0x022C,
375 AppCtrlZoomIn = 0x022D,
376 AppCtrlZoomOut = 0x022E,
377 AppCtrlZoom = 0x022F,
378 AppCtrlFullScreenView = 0x0230,
379 AppCtrlNormalView = 0x0231,
380 AppCtrlViewToggle = 0x0232,
381 AppCtrlScrollUp = 0x0233,
382 AppCtrlScrollDown = 0x0234,
383 AppCtrlScroll = 0x0235,
384 AppCtrlPanLeft = 0x0236,
385 AppCtrlPanRight = 0x0237,
387 AppCtrlNewWindow = 0x0239,
388 AppCtrlTileHorizontally = 0x023A,
389 AppCtrlTileVertically = 0x023B,
390 AppCtrlFormat = 0x023C,
391 AppCtrlEdit = 0x023D,