Starting to remove special case for app commands.
Adding a whole bunch of consumer controls.
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
54 public enum UsageId: ushort
56 MceRemoteUsage = 0x88,
57 ConsumerControl = 0x01
67 public enum MceButton: ushort
70 /// Not defined by the Microsoft specs.
74 ClosedCaptioning = 0x2B,
78 TeletextYellow = 0x5D,
93 /// First press action: Ejects a DVD drive.
95 /// Second press action: Repeats first press action.
97 /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
102 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
103 /// Collection (page 0xFFBC, usage 0x88).
105 /// Second press action: Repeats message.
109 /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
111 /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
115 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
116 /// Collection (page 0xFFBC, usage 0x88).
118 /// Second press action: Repeats message.
122 /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
124 /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
128 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
129 /// Collection (page 0xFFBC, usage 0x88).
131 /// Second press action: Repeats message.
135 /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
136 /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
140 /// First press action: Generates EXTn HID message in the Media Center Vendor Specific
141 /// Collection (page 0xFFBC, usage 0x88).
143 /// Second press action: Repeats message.
147 /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
165 /// First press action: Generates OEM2 HID message in the Media Center Vendor Specific
166 /// Collection. This button is intended to control the front panel display of home entertainment
167 /// computers. When this button is pressed, the display could be turned on or off, or the display
168 /// mode could change.
170 /// Second press action: Repeats message.
174 /// Notably issued by XBOX360 remote as defined in irplus - Remote Control - Android application.
178 /// First press action: To be determined.
180 /// Second press action: Repeats message.
185 NetworkSelection = 0x2C,
188 VideoSelection = 0x61
192 /// Those codes come from experimenting with HP remotes.
194 public enum HpMceButton: ushort
197 /// Displays visual imagery that is synchronized to the sound of your music tracks.
199 /// Second press action: Repeats message.
203 /// Notably sent by the 'Visualization' button of HP Windows Media Center Remote (TSGH-IR08).
205 /// According to HP specs it displays visual imagery that is synchronized to the sound of your music tracks.
207 Visualization = MceButton.Ext0,
209 /// Plays a slide show of all the pictures on your hard disk drive.
211 /// Second press action: Repeats message.
215 /// Notably sent by the 'Slide Show' button of HP Windows Media Center Remote (TSGH-IR08).
217 /// According to HP specs it plays a slide show of all the pictures on your hard disk drive.
219 SlideShow = MceButton.Ext1,
221 /// Eject optical drive.
223 /// Second press action: Repeats message.
227 /// Notably sent by the 'Eject' button of HP Windows Media Center Remote (TSGH-IR08).
228 /// Also interpreted as 'Eject' action by SoundGraph iMON Manager in MCE mode (OrigenAE VF310).
230 Eject = MceButton.Ext2,
232 /// Not sure what this should do.
234 /// Second press action: Repeats message.
238 /// Notably sent by the 'Input selection' button of HP Windows Media Center Remote (TSGH-IR08).
240 InputSelection = MceButton.Ext3,
244 /// Usage Table for Consumer Controls
247 public enum ConsumerControl: ushort
252 MediaSelection = 0x0087,
253 MediaSelectComputer = 0x0088,
254 MediaSelectTV = 0x0089,
255 MediaSelectWWW = 0x008A,
256 MediaSelectDVD = 0x008B,
257 MediaSelectTelephone = 0x008C,
258 MediaSelectProgramGuide = 0x008D,
259 MediaSelectVideoPhone = 0x008E,
260 MediaSelectGames = 0x008F,
261 MediaSelectMessages = 0x0090,
262 MediaSelectCD = 0x0091,
263 MediaSelectVCR = 0x0092,
264 MediaSelectTuner = 0x0093,
267 MediaSelectTape = 0x0096,
268 MediaSelectCable = 0x0097,
269 MediaSelectSatellite = 0x0098,
270 MediaSelectSecurity = 0x0099,
271 MediaSelectHome = 0x009A,
272 MediaSelectCall = 0x009B,
273 ChannelIncrement = 0x009C,
274 ChannelDecrement = 0x009D,
275 MediaSelectSAP = 0x009E,
280 FastForward = 0x00B3,
282 ScanNextTrack = 0x00B5,
283 ScanPreviousTrack = 0x00B6,
291 TrackNormal = 0x00BE,
292 SlowTracking = 0x00BF,
293 FrameForward = 0x00C0,
297 RepeatFromMark = 0x00C4,
298 ReturnToMark = 0x00C5,
299 SearchMarkForward = 0x00C6,
300 SearchMarkBackwards = 0x00C7,
301 CounterReset = 0x00C8,
302 ShowCounter = 0x00C9,
303 TrackingIncrement = 0x00CA,
304 TrackingDecrement = 0x00CB,
318 SurroundMode = 0x00E6,
321 VolumeIncrement = 0x00E9,
322 VolumeDecrement = 0x00EA,
324 //Generic GUI Application Controls
325 GenericGUIApplicationControls = 0x0200,
327 AppCtrlOpen = 0x0202,
328 AppCtrlClose = 0x0203,
329 AppCtrlExit = 0x0204,
330 AppCtrlMaximize = 0x0205,
331 AppCtrlMinimize = 0x0206,
332 AppCtrlSave = 0x0207,
333 AppCtrlPrint = 0x0208,
334 AppCtrlProperties = 0x0209,
335 AppCtrlUndo = 0x021A,
336 AppCtrlCopy = 0x021B,
338 AppCtrlPaste = 0x021D,
339 AppCtrlSelectAll = 0x021E,
340 AppCtrlFind = 0x021F,
341 AppCtrlFindAndReplace = 0x0220,
342 AppCtrlSearch = 0x0221,
343 AppCtrlGoTo = 0x0222,
344 AppCtrlHome = 0x0223,
345 AppCtrlBack = 0x0224,
346 AppCtrlForward = 0x0225,
347 AppCtrlStop = 0x0226,
348 AppCtrlRefresh = 0x0227,
349 AppCtrlPreviousLink = 0x0228,
350 AppCtrlNextLink = 0x0229,
351 AppCtrlBookmarks = 0x022A,
352 AppCtrlHistory = 0x022B,
353 AppCtrlSubscriptions = 0x022C,
354 AppCtrlZoomIn = 0x022D,
355 AppCtrlZoomOut = 0x022E,
356 AppCtrlZoom = 0x022F,
357 AppCtrlFullScreenView = 0x0230,
358 AppCtrlNormalView = 0x0231,
359 AppCtrlViewToggle = 0x0232,
360 AppCtrlScrollUp = 0x0233,
361 AppCtrlScrollDown = 0x0234,
362 AppCtrlScroll = 0x0235,
363 AppCtrlPanLeft = 0x0236,
364 AppCtrlPanRight = 0x0237,
366 AppCtrlNewWindow = 0x0239,
367 AppCtrlTileHorizontally = 0x023A,
368 AppCtrlTileVertically = 0x023B,
369 AppCtrlFormat = 0x023C,
370 AppCtrlEdit = 0x023D,