| Index: device/hid/hid_usage_and_page.h
|
| diff --git a/device/hid/hid_usage_and_page.h b/device/hid/hid_usage_and_page.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..922b4f86556a1e7a049be9298a2fdc79481b3f6e
|
| --- /dev/null
|
| +++ b/device/hid/hid_usage_and_page.h
|
| @@ -0,0 +1,193 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef DEVICE_HID_HID_USAGE_AND_PAGE_H_
|
| +#define DEVICE_HID_HID_USAGE_AND_PAGE_H_
|
| +
|
| +#include <stdint.h>
|
| +
|
| +#include <ostream>
|
| +
|
| +#include "base/logging.h"
|
| +
|
| +namespace device {
|
| +
|
| +struct HidUsageAndPage {
|
| +
|
| + enum Page {
|
| + kPageUndefined = 0x00,
|
| + kPageGenericDesktop = 0x01,
|
| + kPageSimulation = 0x02,
|
| + kPageVirtualReality = 0x03,
|
| + kPageSport = 0x04,
|
| + kPageGame = 0x05,
|
| + kPageKeyboard = 0x07,
|
| + kPageLed = 0x08,
|
| + kPageButton = 0x09,
|
| + kPageOrdinal = 0x0A,
|
| + kPageTelephony = 0x0B,
|
| + kPageConsumer = 0x0C,
|
| + kPageDigitizer = 0x0D,
|
| + kPagePidPage = 0x0F,
|
| + kPageUnicode = 0x10,
|
| + kPageAlphanumericDisplay = 0x14,
|
| + kPageMedicalInstruments = 0x40,
|
| + kPageMonitor0 = 0x80,
|
| + kPageMonitor1 = 0x81,
|
| + kPageMonitor2 = 0x82,
|
| + kPageMonitor3 = 0x83,
|
| + kPagePower0 = 0x84,
|
| + kPagePower1 = 0x85,
|
| + kPagePower2 = 0x86,
|
| + kPagePower3 = 0x87,
|
| + kPageBarCodeScanner = 0x8C,
|
| + kPageScale = 0x8D,
|
| + kPageMagneticStripeReader = 0x8E,
|
| + kPageReservedPointOfSale = 0x8F,
|
| + kPageCameraControl = 0x90,
|
| + kPageArcade = 0x91,
|
| + kPageVendor = 0xFF00,
|
| + kPageMediaCenter = 0xFFBC
|
| + };
|
| +
|
| + HidUsageAndPage(Page usage_page, uint16_t usage)
|
| + : usage_page((uint16_t)usage_page),
|
| + usage(usage) {}
|
| + HidUsageAndPage(uint16_t usage_page, uint16_t usage)
|
| + : usage_page(usage_page),
|
| + usage(usage) {}
|
| + HidUsageAndPage()
|
| + : usage_page(0),
|
| + usage(0) {}
|
| + ~HidUsageAndPage() {}
|
| +
|
| + uint16_t usage_page;
|
| + uint16_t usage;
|
| +
|
| + bool operator==(const HidUsageAndPage& other) const {
|
| + return usage_page == other.usage_page
|
| + && usage == other.usage;
|
| + }
|
| +
|
| +private:
|
| + friend std::ostream& operator<<(std::ostream& os,
|
| + const HidUsageAndPage& usage_and_page) {
|
| + os << "Usage Page: " << (Page)usage_and_page.usage_page
|
| + << ", Usage: " << usage_and_page.usage;
|
| + return os;
|
| + };
|
| +
|
| + friend std::ostream& operator<<(std::ostream& os,
|
| + const Page& usage_page) {
|
| + switch (usage_page) {
|
| + case kPageUndefined:
|
| + os << "Undefined";
|
| + break;
|
| + case kPageGenericDesktop:
|
| + os << "Generic Desktop";
|
| + break;
|
| + case kPageSimulation:
|
| + os << "Simulation";
|
| + break;
|
| + case kPageVirtualReality:
|
| + os << "Virtual Reality";
|
| + break;
|
| + case kPageSport:
|
| + os << "Sport";
|
| + break;
|
| + case kPageGame:
|
| + os << "Game";
|
| + break;
|
| + case kPageKeyboard:
|
| + os << "Keyboard";
|
| + break;
|
| + case kPageLed:
|
| + os << "Led";
|
| + break;
|
| + case kPageButton:
|
| + os << "Button";
|
| + break;
|
| + case kPageOrdinal:
|
| + os << "Ordinal";
|
| + break;
|
| + case kPageTelephony:
|
| + os << "Telephony";
|
| + break;
|
| + case kPageConsumer:
|
| + os << "Consumer";
|
| + break;
|
| + case kPageDigitizer:
|
| + os << "Digitizer";
|
| + break;
|
| + case kPagePidPage:
|
| + os << "Pid Page";
|
| + break;
|
| + case kPageUnicode:
|
| + os << "Unicode";
|
| + break;
|
| + case kPageAlphanumericDisplay:
|
| + os << "Alphanumeric Display";
|
| + break;
|
| + case kPageMedicalInstruments:
|
| + os << "Medical Instruments";
|
| + break;
|
| + case kPageMonitor0:
|
| + os << "Monitor 0";
|
| + break;
|
| + case kPageMonitor1:
|
| + os << "Monitor 1";
|
| + break;
|
| + case kPageMonitor2:
|
| + os << "Monitor 2";
|
| + break;
|
| + case kPageMonitor3:
|
| + os << "Monitor 3";
|
| + break;
|
| + case kPagePower0:
|
| + os << "Power 0";
|
| + break;
|
| + case kPagePower1:
|
| + os << "Power 1";
|
| + break;
|
| + case kPagePower2:
|
| + os << "Power 2";
|
| + break;
|
| + case kPagePower3:
|
| + os << "Power 3";
|
| + break;
|
| + case kPageBarCodeScanner:
|
| + os << "Bar Code Scanner";
|
| + break;
|
| + case kPageScale:
|
| + os << "Scale";
|
| + break;
|
| + case kPageMagneticStripeReader:
|
| + os << "Magnetic Stripe Reader";
|
| + break;
|
| + case kPageReservedPointOfSale:
|
| + os << "Reserved Point Of Sale";
|
| + break;
|
| + case kPageCameraControl:
|
| + os << "Camera Control";
|
| + break;
|
| + case kPageArcade:
|
| + os << "Arcade";
|
| + break;
|
| + case kPageVendor:
|
| + os << "Vendor";
|
| + break;
|
| + case kPageMediaCenter:
|
| + os << "Media Center";
|
| + break;
|
| + default:
|
| + NOTREACHED();
|
| + break;
|
| + }
|
| + return os;
|
| + }
|
| +};
|
| +
|
| +} // namespace device
|
| +
|
| +#endif // DEVICE_HID_HID_USAGE_AND_PAGE_H_
|
|
|