1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef DEVICE_HID_HID_USAGE_AND_PAGE_H_
6 #define DEVICE_HID_HID_USAGE_AND_PAGE_H_
8 #include "base/basictypes.h"
12 struct HidUsageAndPage
{
14 kPageUndefined
= 0x00,
15 kPageGenericDesktop
= 0x01,
16 kPageSimulation
= 0x02,
17 kPageVirtualReality
= 0x03,
24 kPageTelephony
= 0x0B,
26 kPageDigitizer
= 0x0D,
29 kPageAlphanumericDisplay
= 0x14,
30 kPageMedicalInstruments
= 0x40,
39 kPageBarCodeScanner
= 0x8C,
41 kPageMagneticStripeReader
= 0x8E,
42 kPageReservedPointOfSale
= 0x8F,
43 kPageCameraControl
= 0x90,
46 kPageMediaCenter
= 0xFFBC
49 // These usage enumerations are derived from the HID Usage Tables v1.11 spec.
50 enum GenericDesktopUsage
{
51 kGenericDesktopUndefined
= 0,
52 kGenericDesktopPointer
= 1,
53 kGenericDesktopMouse
= 2,
54 kGenericDesktopJoystick
= 4,
55 kGenericDesktopGamePad
= 5,
56 kGenericDesktopKeyboard
= 6,
57 kGenericDesktopKeypad
= 7,
58 kGenericDesktopMultiAxisController
= 8,
59 kGenericDesktopX
= 0x30,
60 kGenericDesktopY
= 0x31,
61 kGenericDesktopZ
= 0x32,
62 kGenericDesktopRx
= 0x33,
63 kGenericDesktopRy
= 0x34,
64 kGenericDesktopRz
= 0x35,
65 kGenericDesktopSlider
= 0x36,
66 kGenericDesktopDial
= 0x37,
67 kGenericDesktopWheel
= 0x38,
68 kGenericDesktopHatSwitch
= 0x39,
69 kGenericDesktopCountedBuffer
= 0x3a,
70 kGenericDesktopByteCount
= 0x3b,
71 kGenericDesktopMotionWakeup
= 0x3c,
72 kGenericDesktopStart
= 0x3d,
73 kGenericDesktopSelect
= 0x3e,
74 kGenericDesktopVx
= 0x40,
75 kGenericDesktopVy
= 0x41,
76 kGenericDesktopVz
= 0x42,
77 kGenericDesktopVbrx
= 0x43,
78 kGenericDesktopVbry
= 0x44,
79 kGenericDesktopVbrz
= 0x45,
80 kGenericDesktopVno
= 0x46,
82 kGenericDesktopSystemControl
= 0x80,
83 kGenericDesktopSystemPowerDown
= 0x81,
84 kGenericDesktopSystemSleep
= 0x82,
85 kGenericDesktopSystemWakeUp
= 0x83,
86 kGenericDesktopSystemContextMenu
= 0x84,
87 kGenericDesktopSystemMainMenu
= 0x85,
88 kGenericDesktopSystemAppMenu
= 0x86,
89 kGenericDesktopSystemMenuHelp
= 0x87,
90 kGenericDesktopSystemMenuExit
= 0x88,
91 kGenericDesktopSystemMenuSelect
= 0x89,
92 kGenericDesktopSystemMenuRight
= 0x8a,
93 kGenericDesktopSystemMenuLeft
= 0x8b,
94 kGenericDesktopSystemMenuUp
= 0x8c,
95 kGenericDesktopSystemMenuDown
= 0x8d,
96 kGenericDesktopSystemColdRestart
= 0x8e,
97 kGenericDesktopSystemWarmRestart
= 0x8f,
99 kGenericDesktopDPadUp
= 0x90,
100 kGenericDesktopDPadDown
= 0x91,
101 kGenericDesktopDPadLeft
= 0x92,
102 kGenericDesktopDPadRight
= 0x93,
104 kGenericDesktopSystemDock
= 0xa0,
105 kGenericDesktopSystemUndock
= 0xa1,
106 kGenericDesktopSystemSetup
= 0xa2,
107 kGenericDesktopSystemBreak
= 0xa3,
108 kGenericDesktopSystemDebuggerBreak
= 0xa4,
109 kGenericDesktopApplicationBreak
= 0xa5,
110 kGenericDesktopApplicationDebuggerBreak
= 0xa6,
111 kGenericDesktopSystemSpeakerMute
= 0xa7,
112 kGenericDesktopSystemHibernate
= 0xa8,
113 kGenericDesktopSystemDisplayInvert
= 0xb0,
114 kGenericDesktopSystemDisplayInternal
= 0xb1,
115 kGenericDesktopSystemDisplayExternal
= 0xb2,
116 kGenericDesktopSystemDisplayBoth
= 0xb3,
117 kGenericDesktopSystemDisplayDual
= 0xb4,
118 kGenericDesktopSystemDisplayToggle
= 0xb5,
119 kGenericDesktopSystemDisplaySwap
= 0xb6,
122 HidUsageAndPage(uint16_t usage
, Page usage_page
)
123 : usage(usage
), usage_page(usage_page
) {}
124 ~HidUsageAndPage() {}
129 // Indicates whether this usage is protected by Chrome.
130 bool IsProtected() const;
133 } // namespace device
135 #endif // DEVICE_HID_HID_USAGE_AND_PAGE_H_