diff options
author | rockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-28 08:05:10 +0000 |
---|---|---|
committer | rockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-28 08:05:10 +0000 |
commit | 2b2775d52044e81a7560ae742220631879b7bb82 (patch) | |
tree | a5668387f148aa0f5ea406d0ae48ea0d01cb3a1b /device | |
parent | 9205af997ead2ed499fdd7e575c27fcb4b9062e7 (diff) | |
download | chromium_src-2b2775d52044e81a7560ae742220631879b7bb82.zip chromium_src-2b2775d52044e81a7560ae742220631879b7bb82.tar.gz chromium_src-2b2775d52044e81a7560ae742220631879b7bb82.tar.bz2 |
Block some HID devices from chrome.hid.
This blacklists some specific types of HID devices from
being accessible to the chrome.hid API. Namely, any keyboard,
mice, other pointer devices, or system control inputs (such as
power and reset buttons) are blocked and cannot be enumerated
or opened by the consumers of the API.
BUG=355022
R=rpaquay
Review URL: https://codereview.chromium.org/258733002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266482 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'device')
-rw-r--r-- | device/hid/hid_usage_and_page.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/device/hid/hid_usage_and_page.h b/device/hid/hid_usage_and_page.h index e024b2b..98ac80d 100644 --- a/device/hid/hid_usage_and_page.h +++ b/device/hid/hid_usage_and_page.h @@ -46,6 +46,79 @@ struct HidUsageAndPage { kPageMediaCenter = 0xFFBC }; + // These usage enumerations are derived from the HID Usage Tables v1.11 spec. + enum GenericDesktopUsage { + kGenericDesktopUndefined = 0, + kGenericDesktopPointer = 1, + kGenericDesktopMouse = 2, + kGenericDesktopJoystick = 4, + kGenericDesktopGamePad = 5, + kGenericDesktopKeyboard = 6, + kGenericDesktopKeypad = 7, + kGenericDesktopMultiAxisController = 8, + kGenericDesktopX = 0x30, + kGenericDesktopY = 0x31, + kGenericDesktopZ = 0x32, + kGenericDesktopRx = 0x33, + kGenericDesktopRy = 0x34, + kGenericDesktopRz = 0x35, + kGenericDesktopSlider = 0x36, + kGenericDesktopDial = 0x37, + kGenericDesktopWheel = 0x38, + kGenericDesktopHatSwitch = 0x39, + kGenericDesktopCountedBuffer = 0x3a, + kGenericDesktopByteCount = 0x3b, + kGenericDesktopMotionWakeup = 0x3c, + kGenericDesktopStart = 0x3d, + kGenericDesktopSelect = 0x3e, + kGenericDesktopVx = 0x40, + kGenericDesktopVy = 0x41, + kGenericDesktopVz = 0x42, + kGenericDesktopVbrx = 0x43, + kGenericDesktopVbry = 0x44, + kGenericDesktopVbrz = 0x45, + kGenericDesktopVno = 0x46, + + kGenericDesktopSystemControl = 0x80, + kGenericDesktopSystemPowerDown = 0x81, + kGenericDesktopSystemSleep = 0x82, + kGenericDesktopSystemWakeUp = 0x83, + kGenericDesktopSystemContextMenu = 0x84, + kGenericDesktopSystemMainMenu = 0x85, + kGenericDesktopSystemAppMenu = 0x86, + kGenericDesktopSystemMenuHelp = 0x87, + kGenericDesktopSystemMenuExit = 0x88, + kGenericDesktopSystemMenuSelect = 0x89, + kGenericDesktopSystemMenuRight = 0x8a, + kGenericDesktopSystemMenuLeft = 0x8b, + kGenericDesktopSystemMenuUp = 0x8c, + kGenericDesktopSystemMenuDown = 0x8d, + kGenericDesktopSystemColdRestart = 0x8e, + kGenericDesktopSystemWarmRestart = 0x8f, + + kGenericDesktopDPadUp = 0x90, + kGenericDesktopDPadDown = 0x91, + kGenericDesktopDPadLeft = 0x92, + kGenericDesktopDPadRight = 0x93, + + kGenericDesktopSystemDock = 0xa0, + kGenericDesktopSystemUndock = 0xa1, + kGenericDesktopSystemSetup = 0xa2, + kGenericDesktopSystemBreak = 0xa3, + kGenericDesktopSystemDebuggerBreak = 0xa4, + kGenericDesktopApplicationBreak = 0xa5, + kGenericDesktopApplicationDebuggerBreak = 0xa6, + kGenericDesktopSystemSpeakerMute = 0xa7, + kGenericDesktopSystemHibernate = 0xa8, + kGenericDesktopSystemDisplayInvert = 0xb0, + kGenericDesktopSystemDisplayInternal = 0xb1, + kGenericDesktopSystemDisplayExternal = 0xb2, + kGenericDesktopSystemDisplayBoth = 0xb3, + kGenericDesktopSystemDisplayDual = 0xb4, + kGenericDesktopSystemDisplayToggle = 0xb5, + kGenericDesktopSystemDisplaySwap = 0xb6, + }; + HidUsageAndPage(uint16_t usage, Page usage_page) : usage(usage), usage_page(usage_page) {} ~HidUsageAndPage() {} |