From 3c0a0ff3087d7c3d522d610227c6fedcec8f27a7 Mon Sep 17 00:00:00 2001 From: innovaker <66737976+innovaker@users.noreply.github.com> Date: Tue, 3 Nov 2020 16:45:56 +0000 Subject: [PATCH] feat(hid): Add preprocessor definitions for HID usages v1.21 Developed from specification: https://usb.org/sites/default/files/hut1_21.pdf Closes #217. Prerequisite of #21. --- app/include/dt-bindings/zmk/hid_usage.h | 2566 +++++++++++++++++ app/include/dt-bindings/zmk/hid_usage_pages.h | 43 + 2 files changed, 2609 insertions(+) create mode 100644 app/include/dt-bindings/zmk/hid_usage.h create mode 100644 app/include/dt-bindings/zmk/hid_usage_pages.h diff --git a/app/include/dt-bindings/zmk/hid_usage.h b/app/include/dt-bindings/zmk/hid_usage.h new file mode 100644 index 00000000..0555f004 --- /dev/null +++ b/app/include/dt-bindings/zmk/hid_usage.h @@ -0,0 +1,2566 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + * + * Based on HID Usage Tables 1.21, + * Copyright © 1996-2020, USB Implementers Forum, + * https://www.usb.org/sites/default/files/hut1_21.pdf + */ + +#pragma once + +/* Page 0x01: Generic Desktop */ +#define HID_USAGE_GD_UNDEFINED (0x00) +#define HID_USAGE_GD_POINTER (0x01) // CP +#define HID_USAGE_GD_MOUSE (0x02) // CA +#define HID_USAGE_GD_JOYSTICK (0x04) // CA +#define HID_USAGE_GD_GAMEPAD (0x05) // CA +#define HID_USAGE_GD_KEYBOARD (0x06) // CA +#define HID_USAGE_GD_KEYPAD (0x07) // CA +#define HID_USAGE_GD_MULTI_AXIS_CONTROLLER (0x08) // CA +#define HID_USAGE_GD_TABLET_PC_SYSTEM_CONTROLS (0x09) // CA +#define HID_USAGE_GD_WATER_COOLING_DEVICE (0x0A) // CA +#define HID_USAGE_GD_COMPUTER_CHASSIS_DEVICE (0x0B) // CA +#define HID_USAGE_GD_WIRELESS_RADIO_CONTROLS (0x0C) // CA +#define HID_USAGE_GD_PORTABLE_DEVICE_CONTROL (0x0D) // CA +#define HID_USAGE_GD_SYSTEM_MULTI_AXIS_CONTROLLER (0x0E) // CA +#define HID_USAGE_GD_SPATIAL_CONTROLLER (0x0F) // CA +#define HID_USAGE_GD_ASSISTIVE_CONTROL (0x10) // CA +#define HID_USAGE_GD_DEVICE_DOCK (0x11) // CA +#define HID_USAGE_GD_DOCKABLE_DEVICE (0x12) // CA +#define HID_USAGE_GD_X (0x30) // DV +#define HID_USAGE_GD_Y (0x31) // DV +#define HID_USAGE_GD_Z (0x32) // DV +#define HID_USAGE_GD_RX (0x33) // DV +#define HID_USAGE_GD_RY (0x34) // DV +#define HID_USAGE_GD_RZ (0x35) // DV +#define HID_USAGE_GD_SLIDER (0x36) // DV +#define HID_USAGE_GD_DIAL (0x37) // DV +#define HID_USAGE_GD_WHEEL (0x38) // DV +#define HID_USAGE_GD_HAT_SWITCH (0x39) // DV +#define HID_USAGE_GD_COUNTED_BUFFER (0x3A) // CL +#define HID_USAGE_GD_BYTE_COUNT (0x3B) // DV +#define HID_USAGE_GD_MOTION_WAKEUP (0x3C) // OSC, DF +#define HID_USAGE_GD_START (0x3D) // OOC +#define HID_USAGE_GD_SELECT (0x3E) // OOC +#define HID_USAGE_GD_VX (0x40) // DV +#define HID_USAGE_GD_VY (0x41) // DV +#define HID_USAGE_GD_VZ (0x42) // DV +#define HID_USAGE_GD_VBRX (0x43) // DV +#define HID_USAGE_GD_VBRY (0x44) // DV +#define HID_USAGE_GD_VBRZ (0x45) // DV +#define HID_USAGE_GD_VNO (0x46) // DV +#define HID_USAGE_GD_FEATURE_NOTIFICATION (0x47) // DV, DF +#define HID_USAGE_GD_RESOLUTION_MULTIPLIER (0x48) // DV +#define HID_USAGE_GD_QX (0x49) // DV +#define HID_USAGE_GD_QY (0x4A) // DV +#define HID_USAGE_GD_QZ (0x4B) // DV +#define HID_USAGE_GD_QW (0x4C) // DV +#define HID_USAGE_GD_SYSTEM_CONTROL (0x80) // CA +#define HID_USAGE_GD_SYSTEM_POWER_DOWN (0x81) // OSC +#define HID_USAGE_GD_SYSTEM_SLEEP (0x82) // OSC +#define HID_USAGE_GD_SYSTEM_WAKE_UP (0x83) // OSC +#define HID_USAGE_GD_SYSTEM_CONTEXT_MENU (0x84) // OSC +#define HID_USAGE_GD_SYSTEM_MAIN_MENU (0x85) // OSC +#define HID_USAGE_GD_SYSTEM_APP_MENU (0x86) // OSC +#define HID_USAGE_GD_SYSTEM_MENU_HELP (0x87) // OSC +#define HID_USAGE_GD_SYSTEM_MENU_EXIT (0x88) // OSC +#define HID_USAGE_GD_SYSTEM_MENU_SELECT (0x89) // OSC +#define HID_USAGE_GD_SYSTEM_MENU_RIGHT (0x8A) // RTC +#define HID_USAGE_GD_SYSTEM_MENU_LEFT (0x8B) // RTC +#define HID_USAGE_GD_SYSTEM_MENU_UP (0x8C) // RTC +#define HID_USAGE_GD_SYSTEM_MENU_DOWN (0x8D) // RTC +#define HID_USAGE_GD_SYSTEM_COLD_RESTART (0x8E) // OSC +#define HID_USAGE_GD_SYSTEM_WARM_RESTART (0x8F) // OSC +#define HID_USAGE_GD_D_PAD_UP (0x90) // OOC +#define HID_USAGE_GD_D_PAD_DOWN (0x91) // OOC +#define HID_USAGE_GD_D_PAD_RIGHT (0x92) // OOC +#define HID_USAGE_GD_D_PAD_LEFT (0x93) // OOC +#define HID_USAGE_GD_INDEX_TRIGGER (0x94) // MC, DV +#define HID_USAGE_GD_PALM_TRIGGER (0x95) // MC, DV +#define HID_USAGE_GD_THUMBSTICK (0x96) // CP +#define HID_USAGE_GD_SYSTEM_FUNCTION_SHIFT (0x97) // MC +#define HID_USAGE_GD_SYSTEM_FUNCTION_SHIFT_LOCK (0x98) // OOC +#define HID_USAGE_GD_SYSTEM_FUNCTION_SHIFT_LOCK_INDICATOR (0x99) // DV +#define HID_USAGE_GD_SYSTEM_DISMISS_NOTIFICATION (0x9A) // OSC +#define HID_USAGE_GD_SYSTEM_DO_NOT_DISTURB (0x9B) // OOC +#define HID_USAGE_GD_SYSTEM_DOCK (0xA0) // OSC +#define HID_USAGE_GD_SYSTEM_UNDOCK (0xA1) // OSC +#define HID_USAGE_GD_SYSTEM_SETUP (0xA2) // OSC +#define HID_USAGE_GD_SYSTEM_BREAK (0xA3) // OSC +#define HID_USAGE_GD_SYSTEM_DEBUGGER_BREAK (0xA4) // OSC +#define HID_USAGE_GD_APPLICATION_BREAK (0xA5) // OSC +#define HID_USAGE_GD_APPLICATION_DEBUGGER_BREAK (0xA6) // OSC +#define HID_USAGE_GD_SYSTEM_SPEAKER_MUTE (0xA7) // OSC +#define HID_USAGE_GD_SYSTEM_HIBERNATE (0xA8) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_INVERT (0xB0) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_INTERNAL (0xB1) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_EXTERNAL (0xB2) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_BOTH (0xB3) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_DUAL (0xB4) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_TOGGLE_INT_EXT_MODE (0xB5) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_SWAP_PRIMARY_SECONDARY (0xB6) // OSC +#define HID_USAGE_GD_SYSTEM_DISPLAY_TOGGLE_LCD_AUTOSCALE (0xB7) // OSC +#define HID_USAGE_GD_SENSOR_ZONE (0xC0) // CL +#define HID_USAGE_GD_RPM (0xC1) // DV +#define HID_USAGE_GD_COOLANT_LEVEL (0xC2) // DV +#define HID_USAGE_GD_COOLANT_CRITICAL_LEVEL (0xC3) // SV +#define HID_USAGE_GD_COOLANT_PUMP (0xC4) // US +#define HID_USAGE_GD_CHASSIS_ENCLOSURE (0xC5) // CL +#define HID_USAGE_GD_WIRELESS_RADIO_BUTTON (0xC6) // OOC +#define HID_USAGE_GD_WIRELESS_RADIO_LED (0xC7) // OOC +#define HID_USAGE_GD_WIRELESS_RADIO_SLIDER_SWITCH (0xC8) // OOC +#define HID_USAGE_GD_SYSTEM_DISPLAY_ROTATION_LOCK_BUTTON (0xC9) // OOC +#define HID_USAGE_GD_SYSTEM_DISPLAY_ROTATION_LOCK_SLIDER_SWITCH (0xCA) // OOC +#define HID_USAGE_GD_CONTROL_ENABLE (0xCB) // DF +#define HID_USAGE_GD_DOCKABLE_DEVICE_UNIQUE_ID (0xD0) // DV +#define HID_USAGE_GD_DOCKABLE_DEVICE_VENDOR_ID (0xD1) // DV +#define HID_USAGE_GD_DOCKABLE_DEVICE_PRIMARY_USAGE_PAGE (0xD2) // DV +#define HID_USAGE_GD_DOCKABLE_DEVICE_PRIMARY_USAGE_ID (0xD3) // DV +#define HID_USAGE_GD_DOCKABLE_DEVICE_DOCKING_STATE (0xD4) // DF +#define HID_USAGE_GD_DOCKABLE_DEVICE_DISPLAY_OCCLUSION (0xD5) // CL +#define HID_USAGE_GD_DOCKABLE_DEVICE_OBJECT_TYPE (0xD6) // DV + +/* Page 0x02: Simulation Controls */ +#define HID_USAGE_SIM_UNDEFINED (0x00) +#define HID_USAGE_SIM_FLIGHT_SIMULATION_DEVICE (0x01) // CA +#define HID_USAGE_SIM_AUTOMOBILE_SIMULATION_DEVICE (0x02) // CA +#define HID_USAGE_SIM_TANK_SIMULATION_DEVICE (0x03) // CA +#define HID_USAGE_SIM_SPACESHIP_SIMULATION_DEVICE (0x04) // CA +#define HID_USAGE_SIM_SUBMARINE_SIMULATION_DEVICE (0x05) // CA +#define HID_USAGE_SIM_SAILING_SIMULATION_DEVICE (0x06) // CA +#define HID_USAGE_SIM_MOTORCYCLE_SIMULATION_DEVICE (0x07) // CA +#define HID_USAGE_SIM_SPORTS_SIMULATION_DEVICE (0x08) // CA +#define HID_USAGE_SIM_AIRPLANE_SIMULATION_DEVICE (0x09) // CA +#define HID_USAGE_SIM_HELICOPTER_SIMULATION_DEVICE (0x0A) // CA +#define HID_USAGE_SIM_MAGIC_CARPET_SIMULATION_DEVICE (0x0B) // CA +#define HID_USAGE_SIM_BICYCLE_SIMULATION_DEVICE (0x0C) // CA +#define HID_USAGE_SIM_FLIGHT_CONTROL_STICK (0x20) // CA +#define HID_USAGE_SIM_FLIGHT_STICK (0x21) // CA +#define HID_USAGE_SIM_CYCLIC_CONTROL (0x22) // CP +#define HID_USAGE_SIM_CYCLIC_TRIM (0x23) // CP +#define HID_USAGE_SIM_FLIGHT_YOKE (0x24) // CA +#define HID_USAGE_SIM_TRACK_CONTROL (0x25) // CP +#define HID_USAGE_SIM_AILERON (0xB0) // DV +#define HID_USAGE_SIM_AILERON_TRIM (0xB1) // DV +#define HID_USAGE_SIM_ANTI_TORQUE_CONTROL (0xB2) // DV +#define HID_USAGE_SIM_AUTOPILOT_ENABLE (0xB3) // OOC +#define HID_USAGE_SIM_CHAFF_RELEASE (0xB4) // OSC +#define HID_USAGE_SIM_COLLECTIVE_CONTROL (0xB5) // DV +#define HID_USAGE_SIM_DIVE_BRAKE (0xB6) // DV +#define HID_USAGE_SIM_ELECTRONIC_COUNTERMEASURES (0xB7) // OOC +#define HID_USAGE_SIM_ELEVATOR (0xB8) // DV +#define HID_USAGE_SIM_ELEVATOR_TRIM (0xB9) // DV +#define HID_USAGE_SIM_RUDDER (0xBA) // DV +#define HID_USAGE_SIM_THROTTLE (0xBB) // DV +#define HID_USAGE_SIM_FLIGHT_COMMUNICATIONS (0xBC) // OOC +#define HID_USAGE_SIM_FLARE_RELEASE (0xBD) // OSC +#define HID_USAGE_SIM_LANDING_GEAR (0xBE) // OOC +#define HID_USAGE_SIM_TOE_BRAKE (0xBF) // DV +#define HID_USAGE_SIM_TRIGGER (0xC0) // MC +#define HID_USAGE_SIM_WEAPONS_ARM (0xC1) // OOC +#define HID_USAGE_SIM_WEAPONS_SELECT (0xC2) // OSC +#define HID_USAGE_SIM_WING_FLAPS (0xC3) // DV +#define HID_USAGE_SIM_ACCELERATOR (0xC4) // DV +#define HID_USAGE_SIM_BRAKE (0xC5) // DV +#define HID_USAGE_SIM_CLUTCH (0xC6) // DV +#define HID_USAGE_SIM_SHIFTER (0xC7) // DV +#define HID_USAGE_SIM_STEERING (0xC8) // DV +#define HID_USAGE_SIM_TURRET_DIRECTION (0xC9) // DV +#define HID_USAGE_SIM_BARREL_ELEVATION (0xCA) // DV +#define HID_USAGE_SIM_DIVE_PLANE (0xCB) // DV +#define HID_USAGE_SIM_BALLAST (0xCC) // DV +#define HID_USAGE_SIM_BICYCLE_CRANK (0xCD) // DV +#define HID_USAGE_SIM_HANDLE_BARS (0xCE) // DV +#define HID_USAGE_SIM_FRONT_BRAKE (0xCF) // DV +#define HID_USAGE_SIM_REAR_BRAKE (0xD0) // DV + +/* Page 0x03: VR Controls */ +#define HID_USAGE_VR_UNDEFINED (0x00) +#define HID_USAGE_VR_BELT (0x01) // CA +#define HID_USAGE_VR_BODY_SUIT (0x02) // CA +#define HID_USAGE_VR_FLEXOR (0x03) // CP +#define HID_USAGE_VR_GLOVE (0x04) // CA +#define HID_USAGE_VR_HEAD_TRACKER (0x05) // CP +#define HID_USAGE_VR_HEAD_MOUNTED_DISPLAY (0x06) // CA +#define HID_USAGE_VR_HAND_TRACKER (0x07) // CA +#define HID_USAGE_VR_OCULOMETER (0x08) // CA +#define HID_USAGE_VR_VEST (0x09) // CA +#define HID_USAGE_VR_ANIMATRONIC_DEVICE (0x0A) // CA +#define HID_USAGE_VR_STEREO_ENABLE (0x20) // OOC +#define HID_USAGE_VR_DISPLAY_ENABLE (0x21) // OOC + +/* Page 0x04: Sport Controls */ +#define HID_USAGE_SPORT_UNDEFINED (0x00) +#define HID_USAGE_SPORT_BASEBALL_BAT (0x01) // CA +#define HID_USAGE_SPORT_GOLF_CLUB (0x02) // CA +#define HID_USAGE_SPORT_ROWING_MACHINE (0x03) // CA +#define HID_USAGE_SPORT_TREADMILL (0x04) // CA +#define HID_USAGE_SPORT_OAR (0x30) // DV +#define HID_USAGE_SPORT_SLOPE (0x31) // DV +#define HID_USAGE_SPORT_RATE (0x32) // DV +#define HID_USAGE_SPORT_STICK_SPEED (0x33) // DV +#define HID_USAGE_SPORT_STICK_FACE_ANGLE (0x34) // DV +#define HID_USAGE_SPORT_STICK_HEEL_TOE (0x35) // DV +#define HID_USAGE_SPORT_STICK_FOLLOW_THROUGH (0x36) // DV +#define HID_USAGE_SPORT_STICK_TEMPO (0x37) // DV +#define HID_USAGE_SPORT_STICK_TYPE (0x38) // NAry +#define HID_USAGE_SPORT_STICK_HEIGHT (0x39) // DV +#define HID_USAGE_SPORT_PUTTER (0x50) // Sel +#define HID_USAGE_SPORT_1_IRON (0x51) // Sel +#define HID_USAGE_SPORT_2_IRON (0x52) // Sel +#define HID_USAGE_SPORT_3_IRON (0x53) // Sel +#define HID_USAGE_SPORT_4_IRON (0x54) // Sel +#define HID_USAGE_SPORT_5_IRON (0x55) // Sel +#define HID_USAGE_SPORT_6_IRON (0x56) // Sel +#define HID_USAGE_SPORT_7_IRON (0x57) // Sel +#define HID_USAGE_SPORT_8_IRON (0x58) // Sel +#define HID_USAGE_SPORT_9_IRON (0x59) // Sel +#define HID_USAGE_SPORT_10_IRON (0x5A) // Sel +#define HID_USAGE_SPORT_11_IRON (0x5B) // Sel +#define HID_USAGE_SPORT_SAND_WEDGE (0x5C) // Sel +#define HID_USAGE_SPORT_LOFT_WEDGE (0x5D) // Sel +#define HID_USAGE_SPORT_POWER_WEDGE (0x5E) // Sel +#define HID_USAGE_SPORT_1_WOOD (0x5F) // Sel +#define HID_USAGE_SPORT_3_WOOD (0x60) // Sel +#define HID_USAGE_SPORT_5_WOOD (0x61) // Sel +#define HID_USAGE_SPORT_7_WOOD (0x62) // Sel +#define HID_USAGE_SPORT_9_WOOD (0x63) // Sel + +/* Page 0x05: Game Controls */ +#define HID_USAGE_GAME_UNDEFINED (0x00) +#define HID_USAGE_GAME_3D_GAME_CONTROLLER (0x01) // CA +#define HID_USAGE_GAME_PINBALL_DEVICE (0x02) // CA +#define HID_USAGE_GAME_GUN_DEVICE (0x03) // CA +#define HID_USAGE_GAME_POINT_OF_VIEW (0x20) // CP +#define HID_USAGE_GAME_TURN_RIGHT_LEFT (0x21) // DV +#define HID_USAGE_GAME_PITCH_FORWARD_BACKWARD (0x22) // DV +#define HID_USAGE_GAME_ROLL_RIGHT_LEFT (0x23) // DV +#define HID_USAGE_GAME_MOVE_RIGHT_LEFT (0x24) // DV +#define HID_USAGE_GAME_MOVE_FORWARD_BACKWARD (0x25) // DV +#define HID_USAGE_GAME_MOVE_UP_DOWN (0x26) // DV +#define HID_USAGE_GAME_LEAN_RIGHT_LEFT (0x27) // DV +#define HID_USAGE_GAME_LEAN_FORWARD_BACKWARD (0x28) // DV +#define HID_USAGE_GAME_HEIGHT_OF_POV (0x29) // DV +#define HID_USAGE_GAME_FLIPPER (0x2A) // MC +#define HID_USAGE_GAME_SECONDARY_FLIPPER (0x2B) // MC +#define HID_USAGE_GAME_BUMP (0x2C) // MC +#define HID_USAGE_GAME_NEW_GAME (0x2D) // OSC +#define HID_USAGE_GAME_SHOOT_BALL (0x2E) // OSC +#define HID_USAGE_GAME_PLAYER (0x2F) // OSC +#define HID_USAGE_GAME_GUN_BOLT (0x30) // OOC +#define HID_USAGE_GAME_GUN_CLIP (0x31) // OOC +#define HID_USAGE_GAME_GUN_SELECTOR (0x32) // NAry +#define HID_USAGE_GAME_GUN_SINGLE_SHOT (0x33) // Sel +#define HID_USAGE_GAME_GUN_BURST (0x34) // Sel +#define HID_USAGE_GAME_GUN_AUTOMATIC (0x35) // Sel +#define HID_USAGE_GAME_GUN_SAFETY (0x36) // OOC +#define HID_USAGE_GAME_GAMEPAD_FIRE_JUMP (0x37) // CL +#define HID_USAGE_GAME_GAMEPAD_TRIGGER (0x39) // CL +#define HID_USAGE_GAME_FORM_FITTING_GAMEPAD (0x3A) // SF + +/* Page 0x06: Generic Device Controls */ +#define HID_USAGE_GDV_UNDEFINED (0x00) +#define HID_USAGE_GDV_BACKGROUND_NONUSER_CONTROLS (0x01) // CA +#define HID_USAGE_GDV_BATTERY_STRENGTH (0x20) // DV +#define HID_USAGE_GDV_WIRELESS_CHANNEL (0x21) // DV +#define HID_USAGE_GDV_WIRELESS_ID (0x22) // DV +#define HID_USAGE_GDV_DISCOVER_WIRELESS_CONTROL (0x23) // OSC +#define HID_USAGE_GDV_SECURITY_CODE_CHARACTER_ENTERED (0x24) // OSC +#define HID_USAGE_GDV_SECURITY_CODE_CHARACTER_ERASED (0x25) // OSC +#define HID_USAGE_GDV_SECURITY_CODE_CLEARED (0x26) // OSC +#define HID_USAGE_GDV_SEQUENCE_ID (0x27) // DV +#define HID_USAGE_GDV_SEQUENCE_ID_RESET (0x28) // DF +#define HID_USAGE_GDV_RF_SIGNAL_STRENGTH (0x29) // DV +#define HID_USAGE_GDV_SOFTWARE_VERSION (0x2A) // CL +#define HID_USAGE_GDV_PROTOCOL_VERSION (0x2B) // CL +#define HID_USAGE_GDV_HARDWARE_VERSION (0x2C) // CL +#define HID_USAGE_GDV_MAJOR (0x2D) // SV +#define HID_USAGE_GDV_MINOR (0x2E) // SV +#define HID_USAGE_GDV_REVISION (0x2F) // SV +#define HID_USAGE_GDV_HANDEDNESS (0x30) // NAry +#define HID_USAGE_GDV_EITHER_HAND (0x31) // Sel +#define HID_USAGE_GDV_LEFT_HAND (0x32) // Sel +#define HID_USAGE_GDV_RIGHT_HAND (0x33) // Sel +#define HID_USAGE_GDV_BOTH_HANDS (0x34) // Sel +#define HID_USAGE_GDV_GRIP_POSE_OFFSET (0x40) // CP +#define HID_USAGE_GDV_POINTER_POSE_OFFSET (0x41) // CP + +/* Page 0x07: Keyboard/Keypad */ +#define HID_USAGE_KEY_KEYBOARD_ERRORROLLOVER (0x01) // Sel +#define HID_USAGE_KEY_KEYBOARD_POSTFAIL (0x02) // Sel +#define HID_USAGE_KEY_KEYBOARD_ERRORUNDEFINED (0x03) // Sel +#define HID_USAGE_KEY_KEYBOARD_A (0x04) // Sel +#define HID_USAGE_KEY_KEYBOARD_B (0x05) // Sel +#define HID_USAGE_KEY_KEYBOARD_C (0x06) // Sel +#define HID_USAGE_KEY_KEYBOARD_D (0x07) // Sel +#define HID_USAGE_KEY_KEYBOARD_E (0x08) // Sel +#define HID_USAGE_KEY_KEYBOARD_F (0x09) // Sel +#define HID_USAGE_KEY_KEYBOARD_G (0x0A) // Sel +#define HID_USAGE_KEY_KEYBOARD_H (0x0B) // Sel +#define HID_USAGE_KEY_KEYBOARD_I (0x0C) // Sel +#define HID_USAGE_KEY_KEYBOARD_J (0x0D) // Sel +#define HID_USAGE_KEY_KEYBOARD_K (0x0E) // Sel +#define HID_USAGE_KEY_KEYBOARD_L (0x0F) // Sel +#define HID_USAGE_KEY_KEYBOARD_M (0x10) // Sel +#define HID_USAGE_KEY_KEYBOARD_N (0x11) // Sel +#define HID_USAGE_KEY_KEYBOARD_O (0x12) // Sel +#define HID_USAGE_KEY_KEYBOARD_P (0x13) // Sel +#define HID_USAGE_KEY_KEYBOARD_Q (0x14) // Sel +#define HID_USAGE_KEY_KEYBOARD_R (0x15) // Sel +#define HID_USAGE_KEY_KEYBOARD_S (0x16) // Sel +#define HID_USAGE_KEY_KEYBOARD_T (0x17) // Sel +#define HID_USAGE_KEY_KEYBOARD_U (0x18) // Sel +#define HID_USAGE_KEY_KEYBOARD_V (0x19) // Sel +#define HID_USAGE_KEY_KEYBOARD_W (0x1A) // Sel +#define HID_USAGE_KEY_KEYBOARD_X (0x1B) // Sel +#define HID_USAGE_KEY_KEYBOARD_Y (0x1C) // Sel +#define HID_USAGE_KEY_KEYBOARD_Z (0x1D) // Sel +#define HID_USAGE_KEY_KEYBOARD_1_AND_EXCLAMATION (0x1E) // Sel +#define HID_USAGE_KEY_KEYBOARD_2_AND_AT (0x1F) // Sel +#define HID_USAGE_KEY_KEYBOARD_3_AND_HASH (0x20) // Sel +#define HID_USAGE_KEY_KEYBOARD_4_AND_DOLLAR (0x21) // Sel +#define HID_USAGE_KEY_KEYBOARD_5_AND_PERCENT (0x22) // Sel +#define HID_USAGE_KEY_KEYBOARD_6_AND_CARET (0x23) // Sel +#define HID_USAGE_KEY_KEYBOARD_7_AND_AMPERSAND (0x24) // Sel +#define HID_USAGE_KEY_KEYBOARD_8_AND_ASTERISK (0x25) // Sel +#define HID_USAGE_KEY_KEYBOARD_9_AND_LEFT_PARENTHESIS (0x26) // Sel +#define HID_USAGE_KEY_KEYBOARD_0_AND_RIGHT_PARENTHESIS (0x27) // Sel +#define HID_USAGE_KEY_KEYBOARD_RETURN_ENTER (0x28) // Sel +#define HID_USAGE_KEY_KEYBOARD_ESCAPE (0x29) // Sel +#define HID_USAGE_KEY_KEYBOARD_DELETE_BACKSPACE (0x2A) // Sel +#define HID_USAGE_KEY_KEYBOARD_TAB (0x2B) // Sel +#define HID_USAGE_KEY_KEYBOARD_SPACEBAR (0x2C) // Sel +#define HID_USAGE_KEY_KEYBOARD_MINUS_AND_UNDERSCORE (0x2D) // Sel +#define HID_USAGE_KEY_KEYBOARD_EQUAL_AND_PLUS (0x2E) // Sel +#define HID_USAGE_KEY_KEYBOARD_LEFT_BRACKET_AND_LEFT_BRACE (0x2F) // Sel +#define HID_USAGE_KEY_KEYBOARD_RIGHT_BRACKET_AND_RIGHT_BRACE (0x30) // Sel +#define HID_USAGE_KEY_KEYBOARD_BACKSLASH_AND_PIPE (0x31) // Sel +#define HID_USAGE_KEY_KEYBOARD_NON_US_HASH_AND_TILDE (0x32) // Sel +#define HID_USAGE_KEY_KEYBOARD_SEMICOLON_AND_COLON (0x33) // Sel +#define HID_USAGE_KEY_KEYBOARD_APOSTROPHE_AND_QUOTE (0x34) // Sel +#define HID_USAGE_KEY_KEYBOARD_GRAVE_ACCENT_AND_TILDE (0x35) // Sel +#define HID_USAGE_KEY_KEYBOARD_COMMA_AND_LESS_THAN (0x36) // Sel +#define HID_USAGE_KEY_KEYBOARD_PERIOD_AND_GREATER_THAN (0x37) // Sel +#define HID_USAGE_KEY_KEYBOARD_SLASH_AND_QUESTION_MARK (0x38) // Sel +#define HID_USAGE_KEY_KEYBOARD_CAPS_LOCK (0x39) // Sel +#define HID_USAGE_KEY_KEYBOARD_F1 (0x3A) // Sel +#define HID_USAGE_KEY_KEYBOARD_F2 (0x3B) // Sel +#define HID_USAGE_KEY_KEYBOARD_F3 (0x3C) // Sel +#define HID_USAGE_KEY_KEYBOARD_F4 (0x3D) // Sel +#define HID_USAGE_KEY_KEYBOARD_F5 (0x3E) // Sel +#define HID_USAGE_KEY_KEYBOARD_F6 (0x3F) // Sel +#define HID_USAGE_KEY_KEYBOARD_F7 (0x40) // Sel +#define HID_USAGE_KEY_KEYBOARD_F8 (0x41) // Sel +#define HID_USAGE_KEY_KEYBOARD_F9 (0x42) // Sel +#define HID_USAGE_KEY_KEYBOARD_F10 (0x43) // Sel +#define HID_USAGE_KEY_KEYBOARD_F11 (0x44) // Sel +#define HID_USAGE_KEY_KEYBOARD_F12 (0x45) // Sel +#define HID_USAGE_KEY_KEYBOARD_PRINTSCREEN (0x46) // Sel +#define HID_USAGE_KEY_KEYBOARD_SCROLL_LOCK (0x47) // Sel +#define HID_USAGE_KEY_KEYBOARD_PAUSE (0x48) // Sel +#define HID_USAGE_KEY_KEYBOARD_INSERT (0x49) // Sel +#define HID_USAGE_KEY_KEYBOARD_HOME (0x4A) // Sel +#define HID_USAGE_KEY_KEYBOARD_PAGEUP (0x4B) // Sel +#define HID_USAGE_KEY_KEYBOARD_DELETE_FORWARD (0x4C) // Sel +#define HID_USAGE_KEY_KEYBOARD_END (0x4D) // Sel +#define HID_USAGE_KEY_KEYBOARD_PAGEDOWN (0x4E) // Sel +#define HID_USAGE_KEY_KEYBOARD_RIGHTARROW (0x4F) // Sel +#define HID_USAGE_KEY_KEYBOARD_LEFTARROW (0x50) // Sel +#define HID_USAGE_KEY_KEYBOARD_DOWNARROW (0x51) // Sel +#define HID_USAGE_KEY_KEYBOARD_UPARROW (0x52) // Sel +#define HID_USAGE_KEY_KEYPAD_NUM_LOCK_AND_CLEAR (0x53) // Sel +#define HID_USAGE_KEY_KEYPAD_SLASH (0x54) // Sel +#define HID_USAGE_KEY_KEYPAD_ASTERISK (0x55) // Sel +#define HID_USAGE_KEY_KEYPAD_MINUS (0x56) // Sel +#define HID_USAGE_KEY_KEYPAD_PLUS (0x57) // Sel +#define HID_USAGE_KEY_KEYPAD_ENTER (0x58) // Sel +#define HID_USAGE_KEY_KEYPAD_1_AND_END (0x59) // Sel +#define HID_USAGE_KEY_KEYPAD_2_AND_DOWN_ARROW (0x5A) // Sel +#define HID_USAGE_KEY_KEYPAD_3_AND_PAGEDN (0x5B) // Sel +#define HID_USAGE_KEY_KEYPAD_4_AND_LEFT_ARROW (0x5C) // Sel +#define HID_USAGE_KEY_KEYPAD_5 (0x5D) // Sel +#define HID_USAGE_KEY_KEYPAD_6_AND_RIGHT_ARROW (0x5E) // Sel +#define HID_USAGE_KEY_KEYPAD_7_AND_HOME (0x5F) // Sel +#define HID_USAGE_KEY_KEYPAD_8_AND_UP_ARROW (0x60) // Sel +#define HID_USAGE_KEY_KEYPAD_9_AND_PAGEUP (0x61) // Sel +#define HID_USAGE_KEY_KEYPAD_0_AND_INSERT (0x62) // Sel +#define HID_USAGE_KEY_KEYPAD_PERIOD_AND_DELETE (0x63) // Sel +#define HID_USAGE_KEY_KEYBOARD_NON_US_BACKSLASH_AND_PIPE (0x64) // Sel +#define HID_USAGE_KEY_KEYBOARD_APPLICATION (0x65) // Sel +#define HID_USAGE_KEY_KEYBOARD_POWER (0x66) // Sel +#define HID_USAGE_KEY_KEYPAD_EQUAL (0x67) // Sel +#define HID_USAGE_KEY_KEYBOARD_F13 (0x68) // Sel +#define HID_USAGE_KEY_KEYBOARD_F14 (0x69) // Sel +#define HID_USAGE_KEY_KEYBOARD_F15 (0x6A) // Sel +#define HID_USAGE_KEY_KEYBOARD_F16 (0x6B) // Sel +#define HID_USAGE_KEY_KEYBOARD_F17 (0x6C) // Sel +#define HID_USAGE_KEY_KEYBOARD_F18 (0x6D) // Sel +#define HID_USAGE_KEY_KEYBOARD_F19 (0x6E) // Sel +#define HID_USAGE_KEY_KEYBOARD_F20 (0x6F) // Sel +#define HID_USAGE_KEY_KEYBOARD_F21 (0x70) // Sel +#define HID_USAGE_KEY_KEYBOARD_F22 (0x71) // Sel +#define HID_USAGE_KEY_KEYBOARD_F23 (0x72) // Sel +#define HID_USAGE_KEY_KEYBOARD_F24 (0x73) // Sel +#define HID_USAGE_KEY_KEYBOARD_EXECUTE (0x74) // Sel +#define HID_USAGE_KEY_KEYBOARD_HELP (0x75) // Sel +#define HID_USAGE_KEY_KEYBOARD_MENU (0x76) // Sel +#define HID_USAGE_KEY_KEYBOARD_SELECT (0x77) // Sel +#define HID_USAGE_KEY_KEYBOARD_STOP (0x78) // Sel +#define HID_USAGE_KEY_KEYBOARD_AGAIN (0x79) // Sel +#define HID_USAGE_KEY_KEYBOARD_UNDO (0x7A) // Sel +#define HID_USAGE_KEY_KEYBOARD_CUT (0x7B) // Sel +#define HID_USAGE_KEY_KEYBOARD_COPY (0x7C) // Sel +#define HID_USAGE_KEY_KEYBOARD_PASTE (0x7D) // Sel +#define HID_USAGE_KEY_KEYBOARD_FIND (0x7E) // Sel +#define HID_USAGE_KEY_KEYBOARD_MUTE (0x7F) // Sel +#define HID_USAGE_KEY_KEYBOARD_VOLUME_UP (0x80) // Sel +#define HID_USAGE_KEY_KEYBOARD_VOLUME_DOWN (0x81) // Sel +#define HID_USAGE_KEY_KEYBOARD_LOCKING_CAPS_LOCK (0x82) // Sel +#define HID_USAGE_KEY_KEYBOARD_LOCKING_NUM_LOCK (0x83) // Sel +#define HID_USAGE_KEY_KEYBOARD_LOCKING_SCROLL_LOCK (0x84) // Sel +#define HID_USAGE_KEY_KEYPAD_COMMA (0x85) // Sel +#define HID_USAGE_KEY_KEYPAD_EQUAL_SIGN (0x86) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL1 (0x87) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL2 (0x88) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL3 (0x89) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL4 (0x8A) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL5 (0x8B) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL6 (0x8C) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL7 (0x8D) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL8 (0x8E) // Sel +#define HID_USAGE_KEY_KEYBOARD_INTERNATIONAL9 (0x8F) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG1 (0x90) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG2 (0x91) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG3 (0x92) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG4 (0x93) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG5 (0x94) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG6 (0x95) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG7 (0x96) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG8 (0x97) // Sel +#define HID_USAGE_KEY_KEYBOARD_LANG9 (0x98) // Sel +#define HID_USAGE_KEY_KEYBOARD_ALTERNATE_ERASE (0x99) // Sel +#define HID_USAGE_KEY_KEYBOARD_SYSREQ_ATTENTION (0x9A) // Sel +#define HID_USAGE_KEY_KEYBOARD_CANCEL (0x9B) // Sel +#define HID_USAGE_KEY_KEYBOARD_CLEAR (0x9C) // Sel +#define HID_USAGE_KEY_KEYBOARD_PRIOR (0x9D) // Sel +#define HID_USAGE_KEY_KEYBOARD_RETURN (0x9E) // Sel +#define HID_USAGE_KEY_KEYBOARD_SEPARATOR (0x9F) // Sel +#define HID_USAGE_KEY_KEYBOARD_OUT (0xA0) // Sel +#define HID_USAGE_KEY_KEYBOARD_OPER (0xA1) // Sel +#define HID_USAGE_KEY_KEYBOARD_CLEAR_AGAIN (0xA2) // Sel +#define HID_USAGE_KEY_KEYBOARD_CRSEL_PROPS (0xA3) // Sel +#define HID_USAGE_KEY_KEYBOARD_EXSEL (0xA4) // Sel +#define HID_USAGE_KEY_KEYPAD_00 (0xB0) // Sel +#define HID_USAGE_KEY_KEYPAD_000 (0xB1) // Sel +#define HID_USAGE_KEY_THOUSANDS_SEPARATOR (0xB2) // Sel +#define HID_USAGE_KEY_DECIMAL_SEPARATOR (0xB3) // Sel +#define HID_USAGE_KEY_CURRENCY_UNIT (0xB4) // Sel +#define HID_USAGE_KEY_CURRENCY_SUB_UNIT (0xB5) // Sel +#define HID_USAGE_KEY_KEYPAD_LEFT_PARENTHESIS (0xB6) // Sel +#define HID_USAGE_KEY_KEYPAD_RIGHT_PARENTHESIS (0xB7) // Sel +#define HID_USAGE_KEY_KEYPAD_LEFT_BRACE (0xB8) // Sel +#define HID_USAGE_KEY_KEYPAD_RIGHT_BRACE (0xB9) // Sel +#define HID_USAGE_KEY_KEYPAD_TAB (0xBA) // Sel +#define HID_USAGE_KEY_KEYPAD_BACKSPACE (0xBB) // Sel +#define HID_USAGE_KEY_KEYPAD_A (0xBC) // Sel +#define HID_USAGE_KEY_KEYPAD_B (0xBD) // Sel +#define HID_USAGE_KEY_KEYPAD_C (0xBE) // Sel +#define HID_USAGE_KEY_KEYPAD_D (0xBF) // Sel +#define HID_USAGE_KEY_KEYPAD_E (0xC0) // Sel +#define HID_USAGE_KEY_KEYPAD_F (0xC1) // Sel +#define HID_USAGE_KEY_KEYPAD_XOR (0xC2) // Sel +#define HID_USAGE_KEY_KEYPAD_CARET (0xC3) // Sel +#define HID_USAGE_KEY_KEYPAD_PERCENT (0xC4) // Sel +#define HID_USAGE_KEY_KEYPAD_LESS_THAN (0xC5) // Sel +#define HID_USAGE_KEY_KEYPAD_GREATER_THAN (0xC6) // Sel +#define HID_USAGE_KEY_KEYPAD_AMPERSAND (0xC7) // Sel +#define HID_USAGE_KEY_KEYPAD_AMPERSAND_AMPERSAND (0xC8) // Sel +#define HID_USAGE_KEY_KEYPAD_PIPE (0xC9) // Sel +#define HID_USAGE_KEY_KEYPAD_PIPE_PIPE (0xCA) // Sel +#define HID_USAGE_KEY_KEYPAD_COLON (0xCB) // Sel +#define HID_USAGE_KEY_KEYPAD_HASH (0xCC) // Sel +#define HID_USAGE_KEY_KEYPAD_SPACE (0xCD) // Sel +#define HID_USAGE_KEY_KEYPAD_AT (0xCE) // Sel +#define HID_USAGE_KEY_KEYPAD_EXCLAMATION (0xCF) // Sel +#define HID_USAGE_KEY_KEYPAD_MEMORY_STORE (0xD0) // Sel +#define HID_USAGE_KEY_KEYPAD_MEMORY_RECALL (0xD1) // Sel +#define HID_USAGE_KEY_KEYPAD_MEMORY_CLEAR (0xD2) // Sel +#define HID_USAGE_KEY_KEYPAD_MEMORY_ADD (0xD3) // Sel +#define HID_USAGE_KEY_KEYPAD_MEMORY_SUBTRACT (0xD4) // Sel +#define HID_USAGE_KEY_KEYPAD_MEMORY_MULTIPLY (0xD5) // Sel +#define HID_USAGE_KEY_KEYPAD_MEMORY_DIVIDE (0xD6) // Sel +#define HID_USAGE_KEY_KEYPAD_PLUS_MINUS (0xD7) // Sel +#define HID_USAGE_KEY_KEYPAD_CLEAR (0xD8) // Sel +#define HID_USAGE_KEY_KEYPAD_CLEAR_ENTRY (0xD9) // Sel +#define HID_USAGE_KEY_KEYPAD_BINARY (0xDA) // Sel +#define HID_USAGE_KEY_KEYPAD_OCTAL (0xDB) // Sel +#define HID_USAGE_KEY_KEYPAD_DECIMAL (0xDC) // Sel +#define HID_USAGE_KEY_KEYPAD_HEXADECIMAL (0xDD) // Sel +#define HID_USAGE_KEY_KEYBOARD_LEFTCONTROL (0xE0) // DV +#define HID_USAGE_KEY_KEYBOARD_LEFTSHIFT (0xE1) // DV +#define HID_USAGE_KEY_KEYBOARD_LEFTALT (0xE2) // DV +#define HID_USAGE_KEY_KEYBOARD_LEFT_GUI (0xE3) // DV +#define HID_USAGE_KEY_KEYBOARD_RIGHTCONTROL (0xE4) // DV +#define HID_USAGE_KEY_KEYBOARD_RIGHTSHIFT (0xE5) // DV +#define HID_USAGE_KEY_KEYBOARD_RIGHTALT (0xE6) // DV +#define HID_USAGE_KEY_KEYBOARD_RIGHT_GUI (0xE7) // DV + +/* Page 0x08: LED */ +#define HID_USAGE_LED_UNDEFINED (0x00) +#define HID_USAGE_LED_NUM_LOCK (0x01) // OOC +#define HID_USAGE_LED_CAPS_LOCK (0x02) // OOC +#define HID_USAGE_LED_SCROLL_LOCK (0x03) // OOC +#define HID_USAGE_LED_COMPOSE (0x04) // OOC +#define HID_USAGE_LED_KANA (0x05) // OOC +#define HID_USAGE_LED_POWER (0x06) // OOC +#define HID_USAGE_LED_SHIFT (0x07) // OOC +#define HID_USAGE_LED_DO_NOT_DISTURB (0x08) // OOC +#define HID_USAGE_LED_MUTE (0x09) // OOC +#define HID_USAGE_LED_TONE_ENABLE (0x0A) // OOC +#define HID_USAGE_LED_HIGH_CUT_FILTER (0x0B) // OOC +#define HID_USAGE_LED_LOW_CUT_FILTER (0x0C) // OOC +#define HID_USAGE_LED_EQUALIZER_ENABLE (0x0D) // OOC +#define HID_USAGE_LED_SOUND_FIELD_ON (0x0E) // OOC +#define HID_USAGE_LED_SURROUND_ON (0x0F) // OOC +#define HID_USAGE_LED_REPEAT (0x10) // OOC +#define HID_USAGE_LED_STEREO (0x11) // OOC +#define HID_USAGE_LED_SAMPLING_RATE_DETECT (0x12) // OOC +#define HID_USAGE_LED_SPINNING (0x13) // OOC +#define HID_USAGE_LED_CAV (0x14) // OOC +#define HID_USAGE_LED_CLV (0x15) // OOC +#define HID_USAGE_LED_RECORDING_FORMAT_DETECT (0x16) // OOC +#define HID_USAGE_LED_OFF_HOOK (0x17) // OOC +#define HID_USAGE_LED_RING (0x18) // OOC +#define HID_USAGE_LED_MESSAGE_WAITING (0x19) // OOC +#define HID_USAGE_LED_DATA_MODE (0x1A) // OOC +#define HID_USAGE_LED_BATTERY_OPERATION (0x1B) // OOC +#define HID_USAGE_LED_BATTERY_OK (0x1C) // OOC +#define HID_USAGE_LED_BATTERY_LOW (0x1D) // OOC +#define HID_USAGE_LED_SPEAKER (0x1E) // OOC +#define HID_USAGE_LED_HEAD_SET (0x1F) // OOC +#define HID_USAGE_LED_HOLD (0x20) // OOC +#define HID_USAGE_LED_MICROPHONE (0x21) // OOC +#define HID_USAGE_LED_COVERAGE (0x22) // OOC +#define HID_USAGE_LED_NIGHT_MODE (0x23) // OOC +#define HID_USAGE_LED_SEND_CALLS (0x24) // OOC +#define HID_USAGE_LED_CALL_PICKUP (0x25) // OOC +#define HID_USAGE_LED_CONFERENCE (0x26) // OOC +#define HID_USAGE_LED_STAND_BY (0x27) // OOC +#define HID_USAGE_LED_CAMERA_ON (0x28) // OOC +#define HID_USAGE_LED_CAMERA_OFF (0x29) // OOC +#define HID_USAGE_LED_ON_LINE (0x2A) // OOC +#define HID_USAGE_LED_OFF_LINE (0x2B) // OOC +#define HID_USAGE_LED_BUSY (0x2C) // OOC +#define HID_USAGE_LED_READY (0x2D) // OOC +#define HID_USAGE_LED_PAPER_OUT (0x2E) // OOC +#define HID_USAGE_LED_PAPER_JAM (0x2F) // OOC +#define HID_USAGE_LED_REMOTE (0x30) // OOC +#define HID_USAGE_LED_FORWARD (0x31) // OOC +#define HID_USAGE_LED_REVERSE (0x32) // OOC +#define HID_USAGE_LED_STOP (0x33) // OOC +#define HID_USAGE_LED_REWIND (0x34) // OOC +#define HID_USAGE_LED_FAST_FORWARD (0x35) // OOC +#define HID_USAGE_LED_PLAY (0x36) // OOC +#define HID_USAGE_LED_PAUSE (0x37) // OOC +#define HID_USAGE_LED_RECORD (0x38) // OOC +#define HID_USAGE_LED_ERROR (0x39) // OOC +#define HID_USAGE_LED_USAGE_SELECTED_INDICATOR (0x3A) // US +#define HID_USAGE_LED_USAGE_IN_USE_INDICATOR (0x3B) // US +#define HID_USAGE_LED_USAGE_MULTI_MODE_INDICATOR (0x3C) // UM +#define HID_USAGE_LED_INDICATOR_ON (0x3D) // Sel +#define HID_USAGE_LED_INDICATOR_FLASH (0x3E) // Sel +#define HID_USAGE_LED_INDICATOR_SLOW_BLINK (0x3F) // Sel +#define HID_USAGE_LED_INDICATOR_FAST_BLINK (0x40) // Sel +#define HID_USAGE_LED_INDICATOR_OFF (0x41) // Sel +#define HID_USAGE_LED_FLASH_ON_TIME (0x42) // DV +#define HID_USAGE_LED_SLOW_BLINK_ON_TIME (0x43) // DV +#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME (0x44) // DV +#define HID_USAGE_LED_FAST_BLINK_ON_TIME (0x45) // DV +#define HID_USAGE_LED_FAST_BLINK_OFF_TIME (0x46) // DV +#define HID_USAGE_LED_USAGE_INDICATOR_COLOR (0x47) // UM +#define HID_USAGE_LED_INDICATOR_RED (0x48) // Sel +#define HID_USAGE_LED_INDICATOR_GREEN (0x49) // Sel +#define HID_USAGE_LED_INDICATOR_AMBER (0x4A) // Sel +#define HID_USAGE_LED_GENERIC_INDICATOR (0x4B) // OOC +#define HID_USAGE_LED_SYSTEM_SUSPEND (0x4C) // OOC +#define HID_USAGE_LED_EXTERNAL_POWER_CONNECTED (0x4D) // OOC +#define HID_USAGE_LED_INDICATOR_BLUE (0x4E) // Sel +#define HID_USAGE_LED_INDICATOR_ORANGE (0x4F) // Sel +#define HID_USAGE_LED_GOOD_STATUS (0x50) // OOC +#define HID_USAGE_LED_WARNING_STATUS (0x51) // OOC +#define HID_USAGE_LED_RGB_LED (0x52) // CL +#define HID_USAGE_LED_RED_LED_CHANNEL (0x53) // DV +#define HID_USAGE_LED_BLUE_LED_CHANNEL (0x54) // DV +#define HID_USAGE_LED_GREEN_LED_CHANNEL (0x55) // DV +#define HID_USAGE_LED_LED_INTENSITY (0x56) // DV +#define HID_USAGE_LED_PLAYER_INDICATOR (0x60) // NAry +#define HID_USAGE_LED_PLAYER_1 (0x61) // Sel +#define HID_USAGE_LED_PLAYER_2 (0x62) // Sel +#define HID_USAGE_LED_PLAYER_3 (0x63) // Sel +#define HID_USAGE_LED_PLAYER_4 (0x64) // Sel +#define HID_USAGE_LED_PLAYER_5 (0x65) // Sel +#define HID_USAGE_LED_PLAYER_6 (0x66) // Sel +#define HID_USAGE_LED_PLAYER_7 (0x67) // Sel +#define HID_USAGE_LED_PLAYER_8 (0x68) // Sel + +/* Page 0x0B: Telephony Device */ +#define HID_USAGE_TELEPHONY_UNDEFINED (0x00) +#define HID_USAGE_TELEPHONY_PHONE (0x01) // CA +#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE (0x02) // CA +#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS (0x03) // CL +#define HID_USAGE_TELEPHONY_HANDSET (0x04) // CL +#define HID_USAGE_TELEPHONY_HEADSET (0x05) // CL +#define HID_USAGE_TELEPHONY_TELEPHONY_KEY_PAD (0x06) // NAry +#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON (0x07) // NAry +#define HID_USAGE_TELEPHONY_HOOK_SWITCH (0x20) // OOC +#define HID_USAGE_TELEPHONY_FLASH (0x21) // MC +#define HID_USAGE_TELEPHONY_FEATURE (0x22) // OSC +#define HID_USAGE_TELEPHONY_HOLD (0x23) // OOC +#define HID_USAGE_TELEPHONY_REDIAL (0x24) // OSC +#define HID_USAGE_TELEPHONY_TRANSFER (0x25) // OSC +#define HID_USAGE_TELEPHONY_DROP (0x26) // OSC +#define HID_USAGE_TELEPHONY_PARK (0x27) // OOC +#define HID_USAGE_TELEPHONY_FORWARD_CALLS (0x28) // OOC +#define HID_USAGE_TELEPHONY_ALTERNATE_FUNCTION (0x29) // MC +#define HID_USAGE_TELEPHONY_LINE (0x2A) // OSC, NAry +#define HID_USAGE_TELEPHONY_SPEAKER_PHONE (0x2B) // OOC +#define HID_USAGE_TELEPHONY_CONFERENCE (0x2C) // OOC +#define HID_USAGE_TELEPHONY_RING_ENABLE (0x2D) // OOC +#define HID_USAGE_TELEPHONY_RING_SELECT (0x2E) // OSC +#define HID_USAGE_TELEPHONY_PHONE_MUTE (0x2F) // OOC +#define HID_USAGE_TELEPHONY_CALLER_ID (0x30) // MC +#define HID_USAGE_TELEPHONY_SEND (0x31) // OOC +#define HID_USAGE_TELEPHONY_SPEED_DIAL (0x50) // OSC +#define HID_USAGE_TELEPHONY_STORE_NUMBER (0x51) // OSC +#define HID_USAGE_TELEPHONY_RECALL_NUMBER (0x52) // OSC +#define HID_USAGE_TELEPHONY_PHONE_DIRECTORY (0x53) // OOC +#define HID_USAGE_TELEPHONY_VOICE_MAIL (0x70) // OOC +#define HID_USAGE_TELEPHONY_SCREEN_CALLS (0x71) // OOC +#define HID_USAGE_TELEPHONY_DO_NOT_DISTURB (0x72) // OOC +#define HID_USAGE_TELEPHONY_MESSAGE (0x73) // OSC +#define HID_USAGE_TELEPHONY_ANSWER_ON_OFF (0x74) // OOC +#define HID_USAGE_TELEPHONY_INSIDE_DIAL_TONE (0x90) // MC +#define HID_USAGE_TELEPHONY_OUTSIDE_DIAL_TONE (0x91) // MC +#define HID_USAGE_TELEPHONY_INSIDE_RING_TONE (0x92) // MC +#define HID_USAGE_TELEPHONY_OUTSIDE_RING_TONE (0x93) // MC +#define HID_USAGE_TELEPHONY_PRIORITY_RING_TONE (0x94) // MC +#define HID_USAGE_TELEPHONY_INSIDE_RINGBACK (0x95) // MC +#define HID_USAGE_TELEPHONY_PRIORITY_RINGBACK (0x96) // MC +#define HID_USAGE_TELEPHONY_LINE_BUSY_TONE (0x97) // MC +#define HID_USAGE_TELEPHONY_REORDER_TONE (0x98) // MC +#define HID_USAGE_TELEPHONY_CALL_WAITING_TONE (0x99) // MC +#define HID_USAGE_TELEPHONY_CONFIRMATION_TONE_1 (0x9A) // MC +#define HID_USAGE_TELEPHONY_CONFIRMATION_TONE_2 (0x9B) // MC +#define HID_USAGE_TELEPHONY_TONES_OFF (0x9C) // OOC +#define HID_USAGE_TELEPHONY_OUTSIDE_RINGBACK (0x9D) // MC +#define HID_USAGE_TELEPHONY_RINGER (0x9E) // OOC +#define HID_USAGE_TELEPHONY_PHONE_KEY_0 (0xB0) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_1 (0xB1) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_2 (0xB2) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_3 (0xB3) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_4 (0xB4) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_5 (0xB5) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_6 (0xB6) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_7 (0xB7) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_8 (0xB8) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_9 (0xB9) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_STAR (0xBA) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_POUND (0xBB) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_A (0xBC) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_B (0xBD) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_C (0xBE) // Sel +#define HID_USAGE_TELEPHONY_PHONE_KEY_D (0xBF) // Sel +#define HID_USAGE_TELEPHONY_PHONE_CALL_HISTORY_KEY (0xC0) // Sel +#define HID_USAGE_TELEPHONY_PHONE_CALLER_ID_KEY (0xC1) // Sel +#define HID_USAGE_TELEPHONY_PHONE_SETTINGS_KEY (0xC2) // Sel +#define HID_USAGE_TELEPHONY_HOST_CONTROL (0xF0) // OOC +#define HID_USAGE_TELEPHONY_HOST_AVAILABLE (0xF1) // OOC +#define HID_USAGE_TELEPHONY_HOST_CALL_ACTIVE (0xF2) // OOC +#define HID_USAGE_TELEPHONY_ACTIVATE_HANDSET_AUDIO (0xF3) // OOC +#define HID_USAGE_TELEPHONY_RING_TYPE (0xF4) // NAry +#define HID_USAGE_TELEPHONY_RE_DIALABLE_PHONE_NUMBER (0xF5) // OOC +#define HID_USAGE_TELEPHONY_STOP_RING_TONE (0xF8) // Sel +#define HID_USAGE_TELEPHONY_PSTN_RING_TONE (0xF9) // Sel +#define HID_USAGE_TELEPHONY_HOST_RING_TONE (0xFA) // Sel +#define HID_USAGE_TELEPHONY_ALERT_SOUND_ERROR (0xFB) // Sel +#define HID_USAGE_TELEPHONY_ALERT_SOUND_CONFIRM (0xFC) // Sel +#define HID_USAGE_TELEPHONY_ALERT_SOUND_NOTIFICATION (0xFD) // Sel +#define HID_USAGE_TELEPHONY_SILENT_RING (0xFE) // Sel +#define HID_USAGE_TELEPHONY_EMAIL_MESSAGE_WAITING (0x108) // OOC +#define HID_USAGE_TELEPHONY_VOICEMAIL_MESSAGE_WAITING (0x109) // OOC +#define HID_USAGE_TELEPHONY_HOST_HOLD (0x10A) // OOC +#define HID_USAGE_TELEPHONY_INCOMING_CALL_HISTORY_COUNT (0x110) // DV +#define HID_USAGE_TELEPHONY_OUTGOING_CALL_HISTORY_COUNT (0x111) // DV +#define HID_USAGE_TELEPHONY_INCOMING_CALL_HISTORY (0x112) // CL +#define HID_USAGE_TELEPHONY_OUTGOING_CALL_HISTORY (0x113) // CL +#define HID_USAGE_TELEPHONY_PHONE_LOCALE (0x114) // DV +#define HID_USAGE_TELEPHONY_PHONE_TIME_SECOND (0x140) // DV +#define HID_USAGE_TELEPHONY_PHONE_TIME_MINUTE (0x141) // DV +#define HID_USAGE_TELEPHONY_PHONE_TIME_HOUR (0x142) // DV +#define HID_USAGE_TELEPHONY_PHONE_DATE_DAY (0x143) // DV +#define HID_USAGE_TELEPHONY_PHONE_DATE_MONTH (0x144) // DV +#define HID_USAGE_TELEPHONY_PHONE_DATE_YEAR (0x145) // DV +#define HID_USAGE_TELEPHONY_HANDSET_NICKNAME (0x146) // DV +#define HID_USAGE_TELEPHONY_ADDRESS_BOOK_ID (0x147) // DV +#define HID_USAGE_TELEPHONY_CALL_DURATION (0x14A) // DV +#define HID_USAGE_TELEPHONY_DUAL_MODE_PHONE (0x14B) // CA + +/* Page 0x0C: Consumer */ +#define HID_USAGE_CONSUMER_UNDEFINED (0x00) +#define HID_USAGE_CONSUMER_CONSUMER_CONTROL (0x01) // CA +#define HID_USAGE_CONSUMER_NUMERIC_KEY_PAD (0x02) // NAry +#define HID_USAGE_CONSUMER_PROGRAMMABLE_BUTTONS (0x03) // NAry +#define HID_USAGE_CONSUMER_MICROPHONE (0x04) // CA +#define HID_USAGE_CONSUMER_HEADPHONE (0x05) // CA +#define HID_USAGE_CONSUMER_GRAPHIC_EQUALIZER (0x06) // CA +#define HID_USAGE_CONSUMER_INCREMENT10 (0x20) // OSC +#define HID_USAGE_CONSUMER_INCREMENT100 (0x21) // OSC +#define HID_USAGE_CONSUMER_AM_PM (0x22) // OSC +#define HID_USAGE_CONSUMER_POWER (0x30) // OOC +#define HID_USAGE_CONSUMER_RESET (0x31) // OSC +#define HID_USAGE_CONSUMER_SLEEP (0x32) // OSC +#define HID_USAGE_CONSUMER_SLEEP_AFTER (0x33) // OSC +#define HID_USAGE_CONSUMER_SLEEP_MODE (0x34) // RTC +#define HID_USAGE_CONSUMER_ILLUMINATION (0x35) // OOC +#define HID_USAGE_CONSUMER_FUNCTION_BUTTONS (0x36) // NAry +#define HID_USAGE_CONSUMER_MENU (0x40) // OOC +#define HID_USAGE_CONSUMER_MENU_PICK (0x41) // OSC +#define HID_USAGE_CONSUMER_MENU_UP (0x42) // OSC +#define HID_USAGE_CONSUMER_MENU_DOWN (0x43) // OSC +#define HID_USAGE_CONSUMER_MENU_LEFT (0x44) // OSC +#define HID_USAGE_CONSUMER_MENU_RIGHT (0x45) // OSC +#define HID_USAGE_CONSUMER_MENU_ESCAPE (0x46) // OSC +#define HID_USAGE_CONSUMER_MENU_VALUE_INCREASE (0x47) // OSC +#define HID_USAGE_CONSUMER_MENU_VALUE_DECREASE (0x48) // OSC +#define HID_USAGE_CONSUMER_DATA_ON_SCREEN (0x60) // OOC +#define HID_USAGE_CONSUMER_CLOSED_CAPTION (0x61) // OOC +#define HID_USAGE_CONSUMER_CLOSED_CAPTION_SELECT (0x62) // OSC +#define HID_USAGE_CONSUMER_VCR_TV (0x63) // OOC +#define HID_USAGE_CONSUMER_BROADCAST_MODE (0x64) // OSC +#define HID_USAGE_CONSUMER_SNAPSHOT (0x65) // OSC +#define HID_USAGE_CONSUMER_STILL (0x66) // OSC +#define HID_USAGE_CONSUMER_PICTURE_IN_PICTURE_TOGGLE (0x67) // OSC +#define HID_USAGE_CONSUMER_PICTURE_IN_PICTURE_SWAP (0x68) // OSC +#define HID_USAGE_CONSUMER_RED_MENU_BUTTON (0x69) // MC +#define HID_USAGE_CONSUMER_GREEN_MENU_BUTTON (0x6A) // MC +#define HID_USAGE_CONSUMER_BLUE_MENU_BUTTON (0x6B) // MC +#define HID_USAGE_CONSUMER_YELLOW_MENU_BUTTON (0x6C) // MC +#define HID_USAGE_CONSUMER_ASPECT (0x6D) // OSC +#define HID_USAGE_CONSUMER_3D_MODE_SELECT (0x6E) // OSC +#define HID_USAGE_CONSUMER_DISPLAY_BRIGHTNESS_INCREMENT (0x6F) // RTC +#define HID_USAGE_CONSUMER_DISPLAY_BRIGHTNESS_DECREMENT (0x70) // RTC +#define HID_USAGE_CONSUMER_DISPLAY_BRIGHTNESS (0x71) // LC +#define HID_USAGE_CONSUMER_DISPLAY_BACKLIGHT_TOGGLE (0x72) // OOC +#define HID_USAGE_CONSUMER_DISPLAY_SET_BRIGHTNESS_TO_MINIMUM (0x73) // OSC +#define HID_USAGE_CONSUMER_DISPLAY_SET_BRIGHTNESS_TO_MAXIMUM (0x74) // OSC +#define HID_USAGE_CONSUMER_DISPLAY_SET_AUTO_BRIGHTNESS (0x75) // OOC +#define HID_USAGE_CONSUMER_CAMERA_ACCESS_ENABLED (0x76) // OOC +#define HID_USAGE_CONSUMER_CAMERA_ACCESS_DISABLED (0x77) // OOC +#define HID_USAGE_CONSUMER_CAMERA_ACCESS_TOGGLE (0x78) // OOC +#define HID_USAGE_CONSUMER_KEYBOARD_BRIGHTNESS_INCREMENT (0x79) // OSC +#define HID_USAGE_CONSUMER_KEYBOARD_BRIGHTNESS_DECREMENT (0x7A) // OSC +#define HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_SET_LEVEL (0x7B) // LC +#define HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_OOC (0x7C) // OOC +#define HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_SET_MINIMUM (0x7D) // OSC +#define HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_SET_MAXIMUM (0x7E) // OSC +#define HID_USAGE_CONSUMER_KEYBOARD_BACKLIGHT_AUTO (0x7F) // OOC +#define HID_USAGE_CONSUMER_SELECTION (0x80) // NAry +#define HID_USAGE_CONSUMER_ASSIGN_SELECTION (0x81) // OSC +#define HID_USAGE_CONSUMER_MODE_STEP (0x82) // OSC +#define HID_USAGE_CONSUMER_RECALL_LAST (0x83) // OSC +#define HID_USAGE_CONSUMER_ENTER_CHANNEL (0x84) // OSC +#define HID_USAGE_CONSUMER_ORDER_MOVIE (0x85) // OSC +#define HID_USAGE_CONSUMER_CHANNEL (0x86) // LC +#define HID_USAGE_CONSUMER_MEDIA_SELECTION (0x87) // NAry +#define HID_USAGE_CONSUMER_MEDIA_SELECT_COMPUTER (0x88) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_TV (0x89) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_WWW (0x8A) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_DVD (0x8B) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_TELEPHONE (0x8C) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_PROGRAM_GUIDE (0x8D) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_VIDEO_PHONE (0x8E) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_GAMES (0x8F) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_MESSAGES (0x90) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_CD (0x91) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_VCR (0x92) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_TUNER (0x93) // Sel +#define HID_USAGE_CONSUMER_QUIT (0x94) // OSC +#define HID_USAGE_CONSUMER_HELP (0x95) // OOC +#define HID_USAGE_CONSUMER_MEDIA_SELECT_TAPE (0x96) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_CABLE (0x97) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_SATELLITE (0x98) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_SECURITY (0x99) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_HOME (0x9A) // Sel +#define HID_USAGE_CONSUMER_MEDIA_SELECT_CALL (0x9B) // Sel +#define HID_USAGE_CONSUMER_CHANNEL_INCREMENT (0x9C) // OSC +#define HID_USAGE_CONSUMER_CHANNEL_DECREMENT (0x9D) // OSC +#define HID_USAGE_CONSUMER_MEDIA_SELECT_SAP (0x9E) // Sel +#define HID_USAGE_CONSUMER_VCR_PLUS (0xA0) // OSC +#define HID_USAGE_CONSUMER_ONCE (0xA1) // OSC +#define HID_USAGE_CONSUMER_DAILY (0xA2) // OSC +#define HID_USAGE_CONSUMER_WEEKLY (0xA3) // OSC +#define HID_USAGE_CONSUMER_MONTHLY (0xA4) // OSC +#define HID_USAGE_CONSUMER_PLAY (0xB0) // OOC +#define HID_USAGE_CONSUMER_PAUSE (0xB1) // OOC +#define HID_USAGE_CONSUMER_RECORD (0xB2) // OOC +#define HID_USAGE_CONSUMER_FAST_FORWARD (0xB3) // OOC +#define HID_USAGE_CONSUMER_REWIND (0xB4) // OOC +#define HID_USAGE_CONSUMER_SCAN_NEXT_TRACK (0xB5) // OSC +#define HID_USAGE_CONSUMER_SCAN_PREVIOUS_TRACK (0xB6) // OSC +#define HID_USAGE_CONSUMER_STOP (0xB7) // OSC +#define HID_USAGE_CONSUMER_EJECT (0xB8) // OSC +#define HID_USAGE_CONSUMER_RANDOM_PLAY (0xB9) // OOC +#define HID_USAGE_CONSUMER_SELECT_DISC (0xBA) // NAry +#define HID_USAGE_CONSUMER_ENTER_DISC (0xBB) // MC +#define HID_USAGE_CONSUMER_REPEAT (0xBC) // OSC +#define HID_USAGE_CONSUMER_TRACKING (0xBD) // LC +#define HID_USAGE_CONSUMER_TRACK_NORMAL (0xBE) // OSC +#define HID_USAGE_CONSUMER_SLOW_TRACKING (0xBF) // LC +#define HID_USAGE_CONSUMER_FRAME_FORWARD (0xC0) // RTC +#define HID_USAGE_CONSUMER_FRAME_BACK (0xC1) // RTC +#define HID_USAGE_CONSUMER_MARK (0xC2) // OSC +#define HID_USAGE_CONSUMER_CLEAR_MARK (0xC3) // OSC +#define HID_USAGE_CONSUMER_REPEAT_FROM_MARK (0xC4) // OOC +#define HID_USAGE_CONSUMER_RETURN_TO_MARK (0xC5) // OSC +#define HID_USAGE_CONSUMER_SEARCH_MARK_FORWARD (0xC6) // OSC +#define HID_USAGE_CONSUMER_SEARCH_MARK_BACKWARDS (0xC7) // OSC +#define HID_USAGE_CONSUMER_COUNTER_RESET (0xC8) // OSC +#define HID_USAGE_CONSUMER_SHOW_COUNTER (0xC9) // OSC +#define HID_USAGE_CONSUMER_TRACKING_INCREMENT (0xCA) // RTC +#define HID_USAGE_CONSUMER_TRACKING_DECREMENT (0xCB) // RTC +#define HID_USAGE_CONSUMER_STOP_EJECT (0xCC) // OSC +#define HID_USAGE_CONSUMER_PLAY_PAUSE (0xCD) // OSC +#define HID_USAGE_CONSUMER_PLAY_SKIP (0xCE) // OSC +#define HID_USAGE_CONSUMER_VOICE_COMMAND (0xCF) // OSC +#define HID_USAGE_CONSUMER_INVOKE_CAPTURE_INTERFACE (0xD0) // Sel +#define HID_USAGE_CONSUMER_START_OR_STOP_GAME_RECORDING (0xD1) // Sel +#define HID_USAGE_CONSUMER_HISTORICAL_GAME_CAPTURE (0xD2) // Sel +#define HID_USAGE_CONSUMER_CAPTURE_GAME_SCREENSHOT (0xD3) // Sel +#define HID_USAGE_CONSUMER_SHOW_OR_HIDE_RECORDING_INDICATOR (0xD4) // Sel +#define HID_USAGE_CONSUMER_START_OR_STOP_MICROPHONE_CAPTURE (0xD5) // Sel +#define HID_USAGE_CONSUMER_START_OR_STOP_CAMERA_CAPTURE (0xD6) // Sel +#define HID_USAGE_CONSUMER_START_OR_STOP_GAME_BROADCAST (0xD7) // Sel +#define HID_USAGE_CONSUMER_VOLUME (0xE0) // LC +#define HID_USAGE_CONSUMER_BALANCE (0xE1) // LC +#define HID_USAGE_CONSUMER_MUTE (0xE2) // OOC +#define HID_USAGE_CONSUMER_BASS (0xE3) // LC +#define HID_USAGE_CONSUMER_TREBLE (0xE4) // LC +#define HID_USAGE_CONSUMER_BASS_BOOST (0xE5) // OOC +#define HID_USAGE_CONSUMER_SURROUND_MODE (0xE6) // OSC +#define HID_USAGE_CONSUMER_LOUDNESS (0xE7) // OOC +#define HID_USAGE_CONSUMER_MPX (0xE8) // OOC +#define HID_USAGE_CONSUMER_VOLUME_INCREMENT (0xE9) // RTC +#define HID_USAGE_CONSUMER_VOLUME_DECREMENT (0xEA) // RTC +#define HID_USAGE_CONSUMER_SPEED_SELECT (0xF0) // OSC +#define HID_USAGE_CONSUMER_PLAYBACK_SPEED (0xF1) // NAry +#define HID_USAGE_CONSUMER_STANDARD_PLAY (0xF2) // Sel +#define HID_USAGE_CONSUMER_LONG_PLAY (0xF3) // Sel +#define HID_USAGE_CONSUMER_EXTENDED_PLAY (0xF4) // Sel +#define HID_USAGE_CONSUMER_SLOW (0xF5) // OSC +#define HID_USAGE_CONSUMER_FAN_ENABLE (0x100) // OOC +#define HID_USAGE_CONSUMER_FAN_SPEED (0x101) // LC +#define HID_USAGE_CONSUMER_LIGHT_ENABLE (0x102) // OOC +#define HID_USAGE_CONSUMER_LIGHT_ILLUMINATION_LEVEL (0x103) // LC +#define HID_USAGE_CONSUMER_CLIMATE_CONTROL_ENABLE (0x104) // OOC +#define HID_USAGE_CONSUMER_ROOM_TEMPERATURE (0x105) // LC +#define HID_USAGE_CONSUMER_SECURITY_ENABLE (0x106) // OOC +#define HID_USAGE_CONSUMER_FIRE_ALARM (0x107) // OSC +#define HID_USAGE_CONSUMER_POLICE_ALARM (0x108) // OSC +#define HID_USAGE_CONSUMER_PROXIMITY (0x109) // LC +#define HID_USAGE_CONSUMER_MOTION (0x10A) // OSC +#define HID_USAGE_CONSUMER_DURESS_ALARM (0x10B) // OSC +#define HID_USAGE_CONSUMER_HOLDUP_ALARM (0x10C) // OSC +#define HID_USAGE_CONSUMER_MEDICAL_ALARM (0x10D) // OSC +#define HID_USAGE_CONSUMER_BALANCE_RIGHT (0x150) // RTC +#define HID_USAGE_CONSUMER_BALANCE_LEFT (0x151) // RTC +#define HID_USAGE_CONSUMER_BASS_INCREMENT (0x152) // RTC +#define HID_USAGE_CONSUMER_BASS_DECREMENT (0x153) // RTC +#define HID_USAGE_CONSUMER_TREBLE_INCREMENT (0x154) // RTC +#define HID_USAGE_CONSUMER_TREBLE_DECREMENT (0x155) // RTC +#define HID_USAGE_CONSUMER_SPEAKER_SYSTEM (0x160) // CL +#define HID_USAGE_CONSUMER_CHANNEL_LEFT (0x161) // CL +#define HID_USAGE_CONSUMER_CHANNEL_RIGHT (0x162) // CL +#define HID_USAGE_CONSUMER_CHANNEL_CENTER (0x163) // CL +#define HID_USAGE_CONSUMER_CHANNEL_FRONT (0x164) // CL +#define HID_USAGE_CONSUMER_CHANNEL_CENTER_FRONT (0x165) // CL +#define HID_USAGE_CONSUMER_CHANNEL_SIDE (0x166) // CL +#define HID_USAGE_CONSUMER_CHANNEL_SURROUND (0x167) // CL +#define HID_USAGE_CONSUMER_CHANNEL_LOW_FREQUENCY_ENHANCEMENT (0x168) // CL +#define HID_USAGE_CONSUMER_CHANNEL_TOP (0x169) // CL +#define HID_USAGE_CONSUMER_CHANNEL_UNKNOWN (0x16A) // CL +#define HID_USAGE_CONSUMER_SUB_CHANNEL (0x170) // LC +#define HID_USAGE_CONSUMER_SUB_CHANNEL_INCREMENT (0x171) // OSC +#define HID_USAGE_CONSUMER_SUB_CHANNEL_DECREMENT (0x172) // OSC +#define HID_USAGE_CONSUMER_ALTERNATE_AUDIO_INCREMENT (0x173) // OSC +#define HID_USAGE_CONSUMER_ALTERNATE_AUDIO_DECREMENT (0x174) // OSC +#define HID_USAGE_CONSUMER_APPLICATION_LAUNCH_BUTTONS (0x180) // NAry +#define HID_USAGE_CONSUMER_AL_LAUNCH_BUTTON_CONFIGURATION_TOOL (0x181) // Sel +#define HID_USAGE_CONSUMER_AL_PROGRAMMABLE_BUTTON_CONFIGURATION (0x182) // Sel +#define HID_USAGE_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION (0x183) // Sel +#define HID_USAGE_CONSUMER_AL_WORD_PROCESSOR (0x184) // Sel +#define HID_USAGE_CONSUMER_AL_TEXT_EDITOR (0x185) // Sel +#define HID_USAGE_CONSUMER_AL_SPREADSHEET (0x186) // Sel +#define HID_USAGE_CONSUMER_AL_GRAPHICS_EDITOR (0x187) // Sel +#define HID_USAGE_CONSUMER_AL_PRESENTATION_APP (0x188) // Sel +#define HID_USAGE_CONSUMER_AL_DATABASE_APP (0x189) // Sel +#define HID_USAGE_CONSUMER_AL_EMAIL_READER (0x18A) // Sel +#define HID_USAGE_CONSUMER_AL_NEWSREADER (0x18B) // Sel +#define HID_USAGE_CONSUMER_AL_VOICEMAIL (0x18C) // Sel +#define HID_USAGE_CONSUMER_AL_CONTACTS_ADDRESS_BOOK (0x18D) // Sel +#define HID_USAGE_CONSUMER_AL_CALENDAR_SCHEDULE (0x18E) // Sel +#define HID_USAGE_CONSUMER_AL_TASK_PROJECT_MANAGER (0x18F) // Sel +#define HID_USAGE_CONSUMER_AL_LOG_JOURNAL_TIMECARD (0x190) // Sel +#define HID_USAGE_CONSUMER_AL_CHECKBOOK_FINANCE (0x191) // Sel +#define HID_USAGE_CONSUMER_AL_CALCULATOR (0x192) // Sel +#define HID_USAGE_CONSUMER_AL_A_V_CAPTURE_PLAYBACK (0x193) // Sel +#define HID_USAGE_CONSUMER_AL_LOCAL_MACHINE_BROWSER (0x194) // Sel +#define HID_USAGE_CONSUMER_AL_LAN_WAN_BROWSER (0x195) // Sel +#define HID_USAGE_CONSUMER_AL_INTERNET_BROWSER (0x196) // Sel +#define HID_USAGE_CONSUMER_AL_REMOTE_NETWORKING_ISP_CONNECT (0x197) // Sel +#define HID_USAGE_CONSUMER_AL_NETWORK_CONFERENCE (0x198) // Sel +#define HID_USAGE_CONSUMER_AL_NETWORK_CHAT (0x199) // Sel +#define HID_USAGE_CONSUMER_AL_TELEPHONY_DIALER (0x19A) // Sel +#define HID_USAGE_CONSUMER_AL_LOGON (0x19B) // Sel +#define HID_USAGE_CONSUMER_AL_LOGOFF (0x19C) // Sel +#define HID_USAGE_CONSUMER_AL_LOGON_LOGOFF (0x19D) // Sel +#define HID_USAGE_CONSUMER_AL_TERMINAL_LOCK_SCREENSAVER (0x19E) // Sel +#define HID_USAGE_CONSUMER_AL_CONTROL_PANEL (0x19F) // Sel +#define HID_USAGE_CONSUMER_AL_COMMAND_LINE_PROCESSOR_RUN (0x1A0) // Sel +#define HID_USAGE_CONSUMER_AL_PROCESS_TASK_MANAGER (0x1A1) // Sel +#define HID_USAGE_CONSUMER_AL_SELECT_TASK_APPLICATION (0x1A2) // Sel +#define HID_USAGE_CONSUMER_AL_NEXT_TASK_APPLICATION (0x1A3) // Sel +#define HID_USAGE_CONSUMER_AL_PREVIOUS_TASK_APPLICATION (0x1A4) // Sel +#define HID_USAGE_CONSUMER_AL_PREEMPTIVE_HALT_TASK_APPLICATION (0x1A5) // Sel +#define HID_USAGE_CONSUMER_AL_INTEGRATED_HELP_CENTER (0x1A6) // Sel +#define HID_USAGE_CONSUMER_AL_DOCUMENTS (0x1A7) // Sel +#define HID_USAGE_CONSUMER_AL_THESAURUS (0x1A8) // Sel +#define HID_USAGE_CONSUMER_AL_DICTIONARY (0x1A9) // Sel +#define HID_USAGE_CONSUMER_AL_DESKTOP (0x1AA) // Sel +#define HID_USAGE_CONSUMER_AL_SPELL_CHECK (0x1AB) // Sel +#define HID_USAGE_CONSUMER_AL_GRAMMAR_CHECK (0x1AC) // Sel +#define HID_USAGE_CONSUMER_AL_WIRELESS_STATUS (0x1AD) // Sel +#define HID_USAGE_CONSUMER_AL_KEYBOARD_LAYOUT (0x1AE) // Sel +#define HID_USAGE_CONSUMER_AL_VIRUS_PROTECTION (0x1AF) // Sel +#define HID_USAGE_CONSUMER_AL_ENCRYPTION (0x1B0) // Sel +#define HID_USAGE_CONSUMER_AL_SCREEN_SAVER (0x1B1) // Sel +#define HID_USAGE_CONSUMER_AL_ALARMS (0x1B2) // Sel +#define HID_USAGE_CONSUMER_AL_CLOCK (0x1B3) // Sel +#define HID_USAGE_CONSUMER_AL_FILE_BROWSER (0x1B4) // Sel +#define HID_USAGE_CONSUMER_AL_POWER_STATUS (0x1B5) // Sel +#define HID_USAGE_CONSUMER_AL_IMAGE_BROWSER (0x1B6) // Sel +#define HID_USAGE_CONSUMER_AL_AUDIO_BROWSER (0x1B7) // Sel +#define HID_USAGE_CONSUMER_AL_MOVIE_BROWSER (0x1B8) // Sel +#define HID_USAGE_CONSUMER_AL_DIGITAL_RIGHTS_MANAGER (0x1B9) // Sel +#define HID_USAGE_CONSUMER_AL_DIGITAL_WALLET (0x1BA) // Sel +#define HID_USAGE_CONSUMER_AL_INSTANT_MESSAGING (0x1BC) // Sel +#define HID_USAGE_CONSUMER_AL_OEM_FEATURES_TIPS_TUTORIAL_BROWSER (0x1BD) // Sel +#define HID_USAGE_CONSUMER_AL_OEM_HELP (0x1BE) // Sel +#define HID_USAGE_CONSUMER_AL_ONLINE_COMMUNITY (0x1BF) // Sel +#define HID_USAGE_CONSUMER_AL_ENTERTAINMENT_CONTENT_BROWSER (0x1C0) // Sel +#define HID_USAGE_CONSUMER_AL_ONLINE_SHOPPING_BROWSER (0x1C1) // Sel +#define HID_USAGE_CONSUMER_AL_SMARTCARD_INFORMATION_HELP (0x1C2) // Sel +#define HID_USAGE_CONSUMER_AL_MARKET_MONITOR_FINANCE_BROWSER (0x1C3) // Sel +#define HID_USAGE_CONSUMER_AL_CUSTOMIZED_CORPORATE_NEWS_BROWSER (0x1C4) // Sel +#define HID_USAGE_CONSUMER_AL_ONLINE_ACTIVITY_BROWSER (0x1C5) // Sel +#define HID_USAGE_CONSUMER_AL_RESEARCH_SEARCH_BROWSER (0x1C6) // Sel +#define HID_USAGE_CONSUMER_AL_AUDIO_PLAYER (0x1C7) // Sel +#define HID_USAGE_CONSUMER_AL_MESSAGE_STATUS (0x1C8) // Sel +#define HID_USAGE_CONSUMER_AL_CONTACT_SYNC (0x1C9) // Sel +#define HID_USAGE_CONSUMER_AL_NAVIGATION (0x1CA) // Sel +#define HID_USAGE_CONSUMER_AL_CONTEXT_AWARE_DESKTOP_ASSISTANT (0x1CB) // Sel +#define HID_USAGE_CONSUMER_GENERIC_GUI_APPLICATION_CONTROLS (0x200) // NAry +#define HID_USAGE_CONSUMER_AC_NEW (0x201) // Sel +#define HID_USAGE_CONSUMER_AC_OPEN (0x202) // Sel +#define HID_USAGE_CONSUMER_AC_CLOSE (0x203) // Sel +#define HID_USAGE_CONSUMER_AC_EXIT (0x204) // Sel +#define HID_USAGE_CONSUMER_AC_MAXIMIZE (0x205) // Sel +#define HID_USAGE_CONSUMER_AC_MINIMIZE (0x206) // Sel +#define HID_USAGE_CONSUMER_AC_SAVE (0x207) // Sel +#define HID_USAGE_CONSUMER_AC_PRINT (0x208) // Sel +#define HID_USAGE_CONSUMER_AC_PROPERTIES (0x209) // Sel +#define HID_USAGE_CONSUMER_AC_UNDO (0x21A) // Sel +#define HID_USAGE_CONSUMER_AC_COPY (0x21B) // Sel +#define HID_USAGE_CONSUMER_AC_CUT (0x21C) // Sel +#define HID_USAGE_CONSUMER_AC_PASTE (0x21D) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_ALL (0x21E) // Sel +#define HID_USAGE_CONSUMER_AC_FIND (0x21F) // Sel +#define HID_USAGE_CONSUMER_AC_FIND_AND_REPLACE (0x220) // Sel +#define HID_USAGE_CONSUMER_AC_SEARCH (0x221) // Sel +#define HID_USAGE_CONSUMER_AC_GO_TO (0x222) // Sel +#define HID_USAGE_CONSUMER_AC_HOME (0x223) // Sel +#define HID_USAGE_CONSUMER_AC_BACK (0x224) // Sel +#define HID_USAGE_CONSUMER_AC_FORWARD (0x225) // Sel +#define HID_USAGE_CONSUMER_AC_STOP (0x226) // Sel +#define HID_USAGE_CONSUMER_AC_REFRESH (0x227) // Sel +#define HID_USAGE_CONSUMER_AC_PREVIOUS_LINK (0x228) // Sel +#define HID_USAGE_CONSUMER_AC_NEXT_LINK (0x229) // Sel +#define HID_USAGE_CONSUMER_AC_BOOKMARKS (0x22A) // Sel +#define HID_USAGE_CONSUMER_AC_HISTORY (0x22B) // Sel +#define HID_USAGE_CONSUMER_AC_SUBSCRIPTIONS (0x22C) // Sel +#define HID_USAGE_CONSUMER_AC_ZOOM_IN (0x22D) // Sel +#define HID_USAGE_CONSUMER_AC_ZOOM_OUT (0x22E) // Sel +#define HID_USAGE_CONSUMER_AC_ZOOM (0x22F) // LC +#define HID_USAGE_CONSUMER_AC_FULL_SCREEN_VIEW (0x230) // Sel +#define HID_USAGE_CONSUMER_AC_NORMAL_VIEW (0x231) // Sel +#define HID_USAGE_CONSUMER_AC_VIEW_TOGGLE (0x232) // Sel +#define HID_USAGE_CONSUMER_AC_SCROLL_UP (0x233) // Sel +#define HID_USAGE_CONSUMER_AC_SCROLL_DOWN (0x234) // Sel +#define HID_USAGE_CONSUMER_AC_SCROLL (0x235) // LC +#define HID_USAGE_CONSUMER_AC_PAN_LEFT (0x236) // Sel +#define HID_USAGE_CONSUMER_AC_PAN_RIGHT (0x237) // Sel +#define HID_USAGE_CONSUMER_AC_PAN (0x238) // LC +#define HID_USAGE_CONSUMER_AC_NEW_WINDOW (0x239) // Sel +#define HID_USAGE_CONSUMER_AC_TILE_HORIZONTALLY (0x23A) // Sel +#define HID_USAGE_CONSUMER_AC_TILE_VERTICALLY (0x23B) // Sel +#define HID_USAGE_CONSUMER_AC_FORMAT (0x23C) // Sel +#define HID_USAGE_CONSUMER_AC_EDIT (0x23D) // Sel +#define HID_USAGE_CONSUMER_AC_BOLD (0x23E) // Sel +#define HID_USAGE_CONSUMER_AC_ITALICS (0x23F) // Sel +#define HID_USAGE_CONSUMER_AC_UNDERLINE (0x240) // Sel +#define HID_USAGE_CONSUMER_AC_STRIKETHROUGH (0x241) // Sel +#define HID_USAGE_CONSUMER_AC_SUBSCRIPT (0x242) // Sel +#define HID_USAGE_CONSUMER_AC_SUPERSCRIPT (0x243) // Sel +#define HID_USAGE_CONSUMER_AC_ALL_CAPS (0x244) // Sel +#define HID_USAGE_CONSUMER_AC_ROTATE (0x245) // Sel +#define HID_USAGE_CONSUMER_AC_RESIZE (0x246) // Sel +#define HID_USAGE_CONSUMER_AC_FLIP_HORIZONTAL (0x247) // Sel +#define HID_USAGE_CONSUMER_AC_FLIP_VERTICAL (0x248) // Sel +#define HID_USAGE_CONSUMER_AC_MIRROR_HORIZONTAL (0x249) // Sel +#define HID_USAGE_CONSUMER_AC_MIRROR_VERTICAL (0x24A) // Sel +#define HID_USAGE_CONSUMER_AC_FONT_SELECT (0x24B) // Sel +#define HID_USAGE_CONSUMER_AC_FONT_COLOR (0x24C) // Sel +#define HID_USAGE_CONSUMER_AC_FONT_SIZE (0x24D) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_LEFT (0x24E) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_CENTER_H (0x24F) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_RIGHT (0x250) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_BLOCK_H (0x251) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_TOP (0x252) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_CENTER_V (0x253) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_BOTTOM (0x254) // Sel +#define HID_USAGE_CONSUMER_AC_JUSTIFY_BLOCK_V (0x255) // Sel +#define HID_USAGE_CONSUMER_AC_INDENT_DECREASE (0x256) // Sel +#define HID_USAGE_CONSUMER_AC_INDENT_INCREASE (0x257) // Sel +#define HID_USAGE_CONSUMER_AC_NUMBERED_LIST (0x258) // Sel +#define HID_USAGE_CONSUMER_AC_RESTART_NUMBERING (0x259) // Sel +#define HID_USAGE_CONSUMER_AC_BULLETED_LIST (0x25A) // Sel +#define HID_USAGE_CONSUMER_AC_PROMOTE (0x25B) // Sel +#define HID_USAGE_CONSUMER_AC_DEMOTE (0x25C) // Sel +#define HID_USAGE_CONSUMER_AC_YES (0x25D) // Sel +#define HID_USAGE_CONSUMER_AC_NO (0x25E) // Sel +#define HID_USAGE_CONSUMER_AC_CANCEL (0x25F) // Sel +#define HID_USAGE_CONSUMER_AC_CATALOG (0x260) // Sel +#define HID_USAGE_CONSUMER_AC_BUY_CHECKOUT (0x261) // Sel +#define HID_USAGE_CONSUMER_AC_ADD_TO_CART (0x262) // Sel +#define HID_USAGE_CONSUMER_AC_EXPAND (0x263) // Sel +#define HID_USAGE_CONSUMER_AC_EXPAND_ALL (0x264) // Sel +#define HID_USAGE_CONSUMER_AC_COLLAPSE (0x265) // Sel +#define HID_USAGE_CONSUMER_AC_COLLAPSE_ALL (0x266) // Sel +#define HID_USAGE_CONSUMER_AC_PRINT_PREVIEW (0x267) // Sel +#define HID_USAGE_CONSUMER_AC_PASTE_SPECIAL (0x268) // Sel +#define HID_USAGE_CONSUMER_AC_INSERT_MODE (0x269) // Sel +#define HID_USAGE_CONSUMER_AC_DELETE (0x26A) // Sel +#define HID_USAGE_CONSUMER_AC_LOCK (0x26B) // Sel +#define HID_USAGE_CONSUMER_AC_UNLOCK (0x26C) // Sel +#define HID_USAGE_CONSUMER_AC_PROTECT (0x26D) // Sel +#define HID_USAGE_CONSUMER_AC_UNPROTECT (0x26E) // Sel +#define HID_USAGE_CONSUMER_AC_ATTACH_COMMENT (0x26F) // Sel +#define HID_USAGE_CONSUMER_AC_DELETE_COMMENT (0x270) // Sel +#define HID_USAGE_CONSUMER_AC_VIEW_COMMENT (0x271) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_WORD (0x272) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_SENTENCE (0x273) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_PARAGRAPH (0x274) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_COLUMN (0x275) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_ROW (0x276) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_TABLE (0x277) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_OBJECT (0x278) // Sel +#define HID_USAGE_CONSUMER_AC_REDO_REPEAT (0x279) // Sel +#define HID_USAGE_CONSUMER_AC_SORT (0x27A) // Sel +#define HID_USAGE_CONSUMER_AC_SORT_ASCENDING (0x27B) // Sel +#define HID_USAGE_CONSUMER_AC_SORT_DESCENDING (0x27C) // Sel +#define HID_USAGE_CONSUMER_AC_FILTER (0x27D) // Sel +#define HID_USAGE_CONSUMER_AC_SET_CLOCK (0x27E) // Sel +#define HID_USAGE_CONSUMER_AC_VIEW_CLOCK (0x27F) // Sel +#define HID_USAGE_CONSUMER_AC_SELECT_TIME_ZONE (0x280) // Sel +#define HID_USAGE_CONSUMER_AC_EDIT_TIME_ZONES (0x281) // Sel +#define HID_USAGE_CONSUMER_AC_SET_ALARM (0x282) // Sel +#define HID_USAGE_CONSUMER_AC_CLEAR_ALARM (0x283) // Sel +#define HID_USAGE_CONSUMER_AC_SNOOZE_ALARM (0x284) // Sel +#define HID_USAGE_CONSUMER_AC_RESET_ALARM (0x285) // Sel +#define HID_USAGE_CONSUMER_AC_SYNCHRONIZE (0x286) // Sel +#define HID_USAGE_CONSUMER_AC_SEND_RECEIVE (0x287) // Sel +#define HID_USAGE_CONSUMER_AC_SEND_TO (0x288) // Sel +#define HID_USAGE_CONSUMER_AC_REPLY (0x289) // Sel +#define HID_USAGE_CONSUMER_AC_REPLY_ALL (0x28A) // Sel +#define HID_USAGE_CONSUMER_AC_FORWARD_MSG (0x28B) // Sel +#define HID_USAGE_CONSUMER_AC_SEND (0x28C) // Sel +#define HID_USAGE_CONSUMER_AC_ATTACH_FILE (0x28D) // Sel +#define HID_USAGE_CONSUMER_AC_UPLOAD (0x28E) // Sel +#define HID_USAGE_CONSUMER_AC_DOWNLOAD_SAVE_TARGET_AS (0x28F) // Sel +#define HID_USAGE_CONSUMER_AC_SET_BORDERS (0x290) // Sel +#define HID_USAGE_CONSUMER_AC_INSERT_ROW (0x291) // Sel +#define HID_USAGE_CONSUMER_AC_INSERT_COLUMN (0x292) // Sel +#define HID_USAGE_CONSUMER_AC_INSERT_FILE (0x293) // Sel +#define HID_USAGE_CONSUMER_AC_INSERT_PICTURE (0x294) // Sel +#define HID_USAGE_CONSUMER_AC_INSERT_OBJECT (0x295) // Sel +#define HID_USAGE_CONSUMER_AC_INSERT_SYMBOL (0x296) // Sel +#define HID_USAGE_CONSUMER_AC_SAVE_AND_CLOSE (0x297) // Sel +#define HID_USAGE_CONSUMER_AC_RENAME (0x298) // Sel +#define HID_USAGE_CONSUMER_AC_MERGE (0x299) // Sel +#define HID_USAGE_CONSUMER_AC_SPLIT (0x29A) // Sel +#define HID_USAGE_CONSUMER_AC_DISRIBUTE_HORIZONTALLY (0x29B) // Sel +#define HID_USAGE_CONSUMER_AC_DISTRIBUTE_VERTICALLY (0x29C) // Sel +#define HID_USAGE_CONSUMER_AC_NEXT_KEYBOARD_LAYOUT_SELECT (0x29D) // Sel +#define HID_USAGE_CONSUMER_AC_NAVIGATION_GUIDANCE (0x29E) // Sel +#define HID_USAGE_CONSUMER_AC_DESKTOP_SHOW_ALL_WINDOWS (0x29F) // Sel +#define HID_USAGE_CONSUMER_AC_SOFT_KEY_LEFT (0x2A0) // Sel +#define HID_USAGE_CONSUMER_AC_SOFT_KEY_RIGHT (0x2A1) // Sel +#define HID_USAGE_CONSUMER_AC_DESKTOP_SHOW_ALL_APPLICATIONS (0x2A2) // Sel +#define HID_USAGE_CONSUMER_AC_IDLE_KEEP_ALIVE (0x2B0) // Sel +#define HID_USAGE_CONSUMER_EXTENDED_KEYBOARD_ATTRIBUTES_COLLECTION (0x2C0) // CL +#define HID_USAGE_CONSUMER_KEYBOARD_FORM_FACTOR (0x2C1) // SV +#define HID_USAGE_CONSUMER_KEYBOARD_KEY_TYPE (0x2C2) // SV +#define HID_USAGE_CONSUMER_KEYBOARD_PHYSICAL_LAYOUT (0x2C3) // SV +#define HID_USAGE_CONSUMER_VENDOR_SPECIFIC_KEYBOARD_PHYSICAL_LAYOUT (0x2C4) // SV +#define HID_USAGE_CONSUMER_KEYBOARD_IETF_LANGUAGE_TAG_INDEX (0x2C5) // SV +#define HID_USAGE_CONSUMER_IMPLEMENTED_KEYBOARD_INPUT_ASSIST_CONTROLS (0x2C6) // SV +#define HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_PREVIOUS (0x2C7) // Sel +#define HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_NEXT (0x2C8) // Sel +#define HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_PREVIOUS_GROUP (0x2C9) // Sel +#define HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_NEXT_GROUP (0x2CA) // Sel +#define HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_ACCEPT (0x2CB) // Sel +#define HID_USAGE_CONSUMER_KEYBOARD_INPUT_ASSIST_CANCEL (0x2CC) // Sel +#define HID_USAGE_CONSUMER_PRIVACY_SCREEN_TOGGLE (0x2D0) // OOC +#define HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_DECREMENT (0x2D1) // RTC +#define HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_INCREMENT (0x2D2) // RTC +#define HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_MINIMUM (0x2D3) // OSC +#define HID_USAGE_CONSUMER_PRIVACY_SCREEN_LEVEL_MAXIMUM (0x2D4) // OSC +#define HID_USAGE_CONSUMER_CONTACT_EDITED (0x500) // OOC +#define HID_USAGE_CONSUMER_CONTACT_ADDED (0x501) // OOC +#define HID_USAGE_CONSUMER_CONTACT_RECORD_ACTIVE (0x502) // OOC +#define HID_USAGE_CONSUMER_CONTACT_INDEX (0x503) // DV +#define HID_USAGE_CONSUMER_CONTACT_NICKNAME (0x504) // DV +#define HID_USAGE_CONSUMER_CONTACT_FIRST_NAME (0x505) // DV +#define HID_USAGE_CONSUMER_CONTACT_LAST_NAME (0x506) // DV +#define HID_USAGE_CONSUMER_CONTACT_FULL_NAME (0x507) // DV +#define HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_PERSONAL (0x508) // DV +#define HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_BUSINESS (0x509) // DV +#define HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_MOBILE (0x50A) // DV +#define HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_PAGER (0x50B) // DV +#define HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_FAX (0x50C) // DV +#define HID_USAGE_CONSUMER_CONTACT_PHONE_NUMBER_OTHER (0x50D) // DV +#define HID_USAGE_CONSUMER_CONTACT_EMAIL_PERSONAL (0x50E) // DV +#define HID_USAGE_CONSUMER_CONTACT_EMAIL_BUSINESS (0x50F) // DV +#define HID_USAGE_CONSUMER_CONTACT_EMAIL_OTHER (0x510) // DV +#define HID_USAGE_CONSUMER_CONTACT_EMAIL_MAIN (0x511) // DV +#define HID_USAGE_CONSUMER_CONTACT_SPEED_DIAL_NUMBER (0x512) // DV +#define HID_USAGE_CONSUMER_CONTACT_STATUS_FLAG (0x513) // DV +#define HID_USAGE_CONSUMER_CONTACT_MISC (0x514) // DV + +/* Page 0x0D: Digitizers */ +#define HID_USAGE_DIGITIZERS_UNDEFINED (0x00) +#define HID_USAGE_DIGITIZERS_DIGITIZER (0x01) // CA +#define HID_USAGE_DIGITIZERS_PEN (0x02) // CA +#define HID_USAGE_DIGITIZERS_LIGHT_PEN (0x03) // CA +#define HID_USAGE_DIGITIZERS_TOUCH_SCREEN (0x04) // CA +#define HID_USAGE_DIGITIZERS_TOUCH_PAD (0x05) // CA +#define HID_USAGE_DIGITIZERS_WHITEBOARD (0x06) // CA +#define HID_USAGE_DIGITIZERS_COORDINATE_MEASURING_MACHINE (0x07) // CA +#define HID_USAGE_DIGITIZERS_3D_DIGITIZER (0x08) // CA +#define HID_USAGE_DIGITIZERS_STEREO_PLOTTER (0x09) // CA +#define HID_USAGE_DIGITIZERS_ARTICULATED_ARM (0x0A) // CA +#define HID_USAGE_DIGITIZERS_ARMATURE (0x0B) // CA +#define HID_USAGE_DIGITIZERS_MULTIPLE_POINT_DIGITIZER (0x0C) // CA +#define HID_USAGE_DIGITIZERS_FREE_SPACE_WAND (0x0D) // CA +#define HID_USAGE_DIGITIZERS_DEVICE_CONFIGURATION (0x0E) // CA +#define HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_DIGITIZER (0x0F) // CA +#define HID_USAGE_DIGITIZERS_STYLUS (0x20) // CA, CL +#define HID_USAGE_DIGITIZERS_PUCK (0x21) // CL +#define HID_USAGE_DIGITIZERS_FINGER (0x22) // CL +#define HID_USAGE_DIGITIZERS_DEVICE_SETTINGS (0x23) // CL +#define HID_USAGE_DIGITIZERS_CHARACTER_GESTURE (0x24) // CL +#define HID_USAGE_DIGITIZERS_TIP_PRESSURE (0x30) // DV +#define HID_USAGE_DIGITIZERS_BARREL_PRESSURE (0x31) // DV +#define HID_USAGE_DIGITIZERS_IN_RANGE (0x32) // MC +#define HID_USAGE_DIGITIZERS_TOUCH (0x33) // MC +#define HID_USAGE_DIGITIZERS_UNTOUCH (0x34) // OSC +#define HID_USAGE_DIGITIZERS_TAP (0x35) // OSC +#define HID_USAGE_DIGITIZERS_QUALITY (0x36) // DV +#define HID_USAGE_DIGITIZERS_DATA_VALID (0x37) // MC +#define HID_USAGE_DIGITIZERS_TRANSDUCER_INDEX (0x38) // DV +#define HID_USAGE_DIGITIZERS_TABLET_FUNCTION_KEYS (0x39) // CL +#define HID_USAGE_DIGITIZERS_PROGRAM_CHANGE_KEYS (0x3A) // CL +#define HID_USAGE_DIGITIZERS_BATTERY_STRENGTH (0x3B) // DV +#define HID_USAGE_DIGITIZERS_INVERT (0x3C) // MC +#define HID_USAGE_DIGITIZERS_X_TILT (0x3D) // DV +#define HID_USAGE_DIGITIZERS_Y_TILT (0x3E) // DV +#define HID_USAGE_DIGITIZERS_AZIMUTH (0x3F) // DV +#define HID_USAGE_DIGITIZERS_ALTITUDE (0x40) // DV +#define HID_USAGE_DIGITIZERS_TWIST (0x41) // DV +#define HID_USAGE_DIGITIZERS_TIP_SWITCH (0x42) // MC +#define HID_USAGE_DIGITIZERS_SECONDARY_TIP_SWITCH (0x43) // MC +#define HID_USAGE_DIGITIZERS_BARREL_SWITCH (0x44) // MC +#define HID_USAGE_DIGITIZERS_ERASER (0x45) // MC +#define HID_USAGE_DIGITIZERS_TABLET_PICK (0x46) // MC +#define HID_USAGE_DIGITIZERS_TOUCH_VALID (0x47) // MC +#define HID_USAGE_DIGITIZERS_WIDTH (0x48) // DV +#define HID_USAGE_DIGITIZERS_HEIGHT (0x49) // DV +#define HID_USAGE_DIGITIZERS_CONTACT_IDENTIFIER (0x51) // DV +#define HID_USAGE_DIGITIZERS_DEVICE_MODE (0x52) // DV +#define HID_USAGE_DIGITIZERS_DEVICE_IDENTIFIER (0x53) // DV, SV +#define HID_USAGE_DIGITIZERS_CONTACT_COUNT (0x54) // DV +#define HID_USAGE_DIGITIZERS_CONTACT_COUNT_MAXIMUM (0x55) // SV +#define HID_USAGE_DIGITIZERS_SCAN_TIME (0x56) // DV +#define HID_USAGE_DIGITIZERS_SURFACE_SWITCH (0x57) // DF +#define HID_USAGE_DIGITIZERS_BUTTON_SWITCH (0x58) // DF +#define HID_USAGE_DIGITIZERS_PAD_TYPE (0x59) // SF +#define HID_USAGE_DIGITIZERS_SECONDARY_BARREL_SWITCH (0x5A) // MC +#define HID_USAGE_DIGITIZERS_TRANSDUCER_SERIAL_NUMBER (0x5B) // SV +#define HID_USAGE_DIGITIZERS_PREFERRED_COLOR (0x5C) // DV +#define HID_USAGE_DIGITIZERS_PREFERRED_COLOR_IS_LOCKED (0x5D) // MC +#define HID_USAGE_DIGITIZERS_PREFERRED_LINE_WIDTH (0x5E) // DV +#define HID_USAGE_DIGITIZERS_PREFERRED_LINE_WIDTH_IS_LOCKED (0x5F) // MC +#define HID_USAGE_DIGITIZERS_LATENCY_MODE (0x60) // DF +#define HID_USAGE_DIGITIZERS_GESTURE_CHARACTER_QUALITY (0x61) // DV +#define HID_USAGE_DIGITIZERS_CHARACTER_GESTURE_DATA_LENGTH (0x62) // DV +#define HID_USAGE_DIGITIZERS_CHARACTER_GESTURE_DATA (0x63) // DV +#define HID_USAGE_DIGITIZERS_GESTURE_CHARACTER_ENCODING (0x64) // NAry +#define HID_USAGE_DIGITIZERS_UTF8_CHARACTER_GESTURE_ENCODING (0x65) // Sel +#define HID_USAGE_DIGITIZERS_UTF16_LITTLE_ENDIAN_CHARACTER_GESTURE_ENCODING (0x66) // Sel +#define HID_USAGE_DIGITIZERS_UTF16_BIG_ENDIAN_CHARACTER_GESTURE_ENCODING (0x67) // Sel +#define HID_USAGE_DIGITIZERS_UTF32_LITTLE_ENDIAN_CHARACTER_GESTURE_ENCODING (0x68) // Sel +#define HID_USAGE_DIGITIZERS_UTF32_BIG_ENDIAN_CHARACTER_GESTURE_ENCODING (0x69) // Sel +#define HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_PROTOCOL_VENDOR_ID (0x6A) // SV +#define HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_PROTOCOL_VERSION (0x6B) // SV +#define HID_USAGE_DIGITIZERS_CAPACITIVE_HEAT_MAP_FRAME_DATA (0x6C) // DV +#define HID_USAGE_DIGITIZERS_GESTURE_CHARACTER_ENABLE (0x6D) // DF +#define HID_USAGE_DIGITIZERS_PREFERRED_LINE_STYLE (0x70) // NAry +#define HID_USAGE_DIGITIZERS_PREFERRED_LINE_STYLE_IS_LOCKED (0x71) // MC +#define HID_USAGE_DIGITIZERS_INK (0x72) // Sel +#define HID_USAGE_DIGITIZERS_PENCIL (0x73) // Sel +#define HID_USAGE_DIGITIZERS_HIGHLIGHTER (0x74) // Sel +#define HID_USAGE_DIGITIZERS_CHISEL_MARKER (0x75) // Sel +#define HID_USAGE_DIGITIZERS_BRUSH (0x76) // Sel +#define HID_USAGE_DIGITIZERS_NO_PREFERENCE (0x77) // Sel +#define HID_USAGE_DIGITIZERS_DIGITIZER_DIAGNOSTIC (0x80) // CL +#define HID_USAGE_DIGITIZERS_DIGITIZER_ERROR (0x81) // NAry +#define HID_USAGE_DIGITIZERS_ERR_NORMAL_STATUS (0x82) // Sel +#define HID_USAGE_DIGITIZERS_ERR_TRANSDUCERS_EXCEEDED (0x83) // Sel +#define HID_USAGE_DIGITIZERS_ERR_FULL_TRANS_FEATURES_UNAVAILABLE (0x84) // Sel +#define HID_USAGE_DIGITIZERS_ERR_CHARGE_LOW (0x85) // Sel +#define HID_USAGE_DIGITIZERS_TRANSDUCER_SOFTWARE_INFO (0x90) // CL +#define HID_USAGE_DIGITIZERS_TRANSDUCER_VENDOR_ID (0x91) // SV +#define HID_USAGE_DIGITIZERS_TRANSDUCER_PRODUCT_ID (0x92) // SV +#define HID_USAGE_DIGITIZERS_DEVICE_SUPPORTED_PROTOCOLS (0x93) // NAry, CL +#define HID_USAGE_DIGITIZERS_TRANSDUCER_SUPPORTED_PROTOCOLS (0x94) // NAry, CL +#define HID_USAGE_DIGITIZERS_NO_PROTOCOL (0x95) // Sel +#define HID_USAGE_DIGITIZERS_WACOM_AES_PROTOCOL (0x96) // Sel +#define HID_USAGE_DIGITIZERS_USI_PROTOCOL (0x97) // Sel +#define HID_USAGE_DIGITIZERS_MICROSOFT_PEN_PROTOCOL (0x98) // Sel +#define HID_USAGE_DIGITIZERS_SUPPORTED_REPORT_RATES (0xA0) // SV, CL +#define HID_USAGE_DIGITIZERS_REPORT_RATE (0xA1) // DV +#define HID_USAGE_DIGITIZERS_TRANSDUCER_CONNECTED (0xA2) // SF +#define HID_USAGE_DIGITIZERS_SWITCH_DISABLED (0xA3) // Sel +#define HID_USAGE_DIGITIZERS_SWITCH_UNIMPLEMENTED (0xA4) // Sel +#define HID_USAGE_DIGITIZERS_TRANSDUCER_SWITCHES (0xA5) // Sel + +/* Page 0x0E: Haptics */ +#define HID_USAGE_HAPTICS_UNDEFINED (0x00) +#define HID_USAGE_HAPTICS_SIMPLE_HAPTIC_CONTROLLER (0x01) // CA, CL +#define HID_USAGE_HAPTICS_WAVEFORM_LIST (0x10) // NAry +#define HID_USAGE_HAPTICS_DURATION_LIST (0x11) // NAry +#define HID_USAGE_HAPTICS_AUTO_TRIGGER (0x20) // DV +#define HID_USAGE_HAPTICS_MANUAL_TRIGGER (0x21) // DV +#define HID_USAGE_HAPTICS_AUTO_TRIGGER_ASSOCIATED_CONTROL (0x22) // SV +#define HID_USAGE_HAPTICS_INTENSITY (0x23) // DV +#define HID_USAGE_HAPTICS_REPEAT_COUNT (0x24) // DV +#define HID_USAGE_HAPTICS_RETRIGGER_PERIOD (0x25) // DV +#define HID_USAGE_HAPTICS_WAVEFORM_VENDOR_PAGE (0x26) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_VENDOR_ID (0x27) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_CUTOFF_TIME (0x28) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_NONE (0x1001) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_STOP (0x1002) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_CLICK (0x1003) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_BUZZ_CONTINUOUS (0x1004) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_RUMBLE_CONTINUOUS (0x1005) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_PRESS (0x1006) // SV +#define HID_USAGE_HAPTICS_WAVEFORM_RELEASE (0x1007) // SV + +/* Page 0x0F: PID */ +#define HID_USAGE_PID_UNDEFINED (0x00) +#define HID_USAGE_PID_PHYSICAL_INTERFACE_DEVICE (0x01) +#define HID_USAGE_PID_NORMAL (0x20) +#define HID_USAGE_PID_SET_EFFECT_REPORT (0x21) +#define HID_USAGE_PID_EFFECT_BLOCK_INDEX (0x22) +#define HID_USAGE_PID_PARAMETER_BLOCK_OFFSET (0x23) +#define HID_USAGE_PID_ROM_FLAG (0x24) +#define HID_USAGE_PID_EFFECT_TYPE (0x25) +#define HID_USAGE_PID_ET_CONSTANT_FORCE (0x26) +#define HID_USAGE_PID_ET_RAMP (0x27) +#define HID_USAGE_PID_ET_CUSTOM_FORCE_DATA (0x28) +#define HID_USAGE_PID_ET_SQUARE (0x30) +#define HID_USAGE_PID_ET_SINE (0x31) +#define HID_USAGE_PID_ET_TRIANGLE (0x32) +#define HID_USAGE_PID_ET_SAWTOOTH_UP (0x33) +#define HID_USAGE_PID_ET_SAWTOOTH_DOWN (0x34) +#define HID_USAGE_PID_ET_SPRING (0x40) +#define HID_USAGE_PID_ET_DAMPER (0x41) +#define HID_USAGE_PID_ET_INERTIA (0x42) +#define HID_USAGE_PID_ET_FRICTION (0x43) +#define HID_USAGE_PID_DURATION (0x50) +#define HID_USAGE_PID_SAMPLE_PERIOD (0x51) +#define HID_USAGE_PID_GAIN (0x52) +#define HID_USAGE_PID_TRIGGER_BUTTON (0x53) +#define HID_USAGE_PID_TRIGGER_REPEAT_INTERVAL (0x54) +#define HID_USAGE_PID_AXES_ENABLE (0x55) +#define HID_USAGE_PID_DIRECTION_ENABLE (0x56) +#define HID_USAGE_PID_DIRECTION (0x57) +#define HID_USAGE_PID_TYPE_SPECIFIC_BLOCK_OFFSET (0x58) +#define HID_USAGE_PID_BLOCK_TYPE (0x59) +#define HID_USAGE_PID_SET_ENVELOPE_REPORT (0x5A) +#define HID_USAGE_PID_ATTACK_LEVEL (0x5B) +#define HID_USAGE_PID_ATTACK_TIME (0x5C) +#define HID_USAGE_PID_FADE_LEVEL (0x5D) +#define HID_USAGE_PID_FADE_TIME (0x5E) +#define HID_USAGE_PID_SET_CONDITION_REPORT (0x5F) +#define HID_USAGE_PID_CP_OFFSET (0x60) +#define HID_USAGE_PID_POSITIVE_COEFFICIENT (0x61) +#define HID_USAGE_PID_NEGATIVE_COEFFICIENT (0x62) +#define HID_USAGE_PID_POSITIVE_SATURATION (0x63) +#define HID_USAGE_PID_NEGATIVE_SATURATION (0x64) +#define HID_USAGE_PID_DEAD_BAND (0x65) +#define HID_USAGE_PID_DOWNLOAD_FORCE_SAMPLE (0x66) +#define HID_USAGE_PID_ISOCH_CUSTOM_FORCE_ENABLE (0x67) +#define HID_USAGE_PID_CUSTOM_FORCE_DATA_REPORT (0x68) +#define HID_USAGE_PID_CUSTOM_FORCE_DATA (0x69) +#define HID_USAGE_PID_CUSTOM_FORCE_VENDOR_DEFINED_DATA (0x6A) +#define HID_USAGE_PID_SET_CUSTOM_FORCE_REPORT (0x6B) +#define HID_USAGE_PID_CUSTOM_FORCE_DATA_OFFSET (0x6C) +#define HID_USAGE_PID_SAMPLE_COUNT (0x6D) +#define HID_USAGE_PID_SET_PERIODIC_REPORT (0x6E) +#define HID_USAGE_PID_OFFSET (0x6F) +#define HID_USAGE_PID_MAGNITUDE (0x70) +#define HID_USAGE_PID_PHASE (0x71) +#define HID_USAGE_PID_PERIOD (0x72) +#define HID_USAGE_PID_SET_CONSTANT_FORCE_REPORT (0x73) +#define HID_USAGE_PID_SET_RAMP_FORCE_REPORT (0x74) +#define HID_USAGE_PID_RAMP_START (0x75) +#define HID_USAGE_PID_RAMP_END (0x76) +#define HID_USAGE_PID_EFFECT_OPERATION_REPORT (0x77) +#define HID_USAGE_PID_EFFECT_OPERATION (0x78) +#define HID_USAGE_PID_OP_EFFECT_START (0x79) +#define HID_USAGE_PID_OP_EFFECT_START_SOLO (0x7A) +#define HID_USAGE_PID_OP_EFFECT_STOP (0x7B) +#define HID_USAGE_PID_LOOP_COUNT (0x7C) +#define HID_USAGE_PID_DEVICE_GAIN_REPORT (0x7D) +#define HID_USAGE_PID_DEVICE_GAIN (0x7E) +#define HID_USAGE_PID_PID_POOL_REPORT (0x7F) +#define HID_USAGE_PID_RAM_POOL_SIZE (0x80) +#define HID_USAGE_PID_ROM_POOL_SIZE (0x81) +#define HID_USAGE_PID_ROM_EFFECT_BLOCK_COUNT (0x82) +#define HID_USAGE_PID_SIMULTANEOUS_EFFECTS_MAX (0x83) +#define HID_USAGE_PID_POOL_ALIGNMENT (0x84) +#define HID_USAGE_PID_PID_POOL_MOVE_REPORT (0x85) +#define HID_USAGE_PID_MOVE_SOURCE (0x86) +#define HID_USAGE_PID_MOVE_DESTINATION (0x87) +#define HID_USAGE_PID_MOVE_LENGTH (0x88) +#define HID_USAGE_PID_PID_BLOCK_LOAD_REPORT (0x89) +#define HID_USAGE_PID_BLOCK_LOAD_STATUS (0x8B) +#define HID_USAGE_PID_BLOCK_LOAD_SUCCESS (0x8C) +#define HID_USAGE_PID_BLOCK_LOAD_FULL (0x8D) +#define HID_USAGE_PID_BLOCK_LOAD_ERROR (0x8E) +#define HID_USAGE_PID_BLOCK_HANDLE (0x8F) +#define HID_USAGE_PID_PID_BLOCK_FREE_REPORT (0x90) +#define HID_USAGE_PID_TYPE_SPECIFIC_BLOCK_HANDLE (0x91) +#define HID_USAGE_PID_PID_STATE_REPORT (0x92) +#define HID_USAGE_PID_EFFECT_PLAYING (0x94) +#define HID_USAGE_PID_PID_DEVICE_CONTROL_REPORT (0x95) +#define HID_USAGE_PID_PID_DEVICE_CONTROL (0x96) +#define HID_USAGE_PID_DC_ENABLE_ACTUATORS (0x97) +#define HID_USAGE_PID_DC_DISABLE_ACTUATORS (0x98) +#define HID_USAGE_PID_DC_STOP_ALL_EFFECTS (0x99) +#define HID_USAGE_PID_DC_DEVICE_RESET (0x9A) +#define HID_USAGE_PID_DC_DEVICE_PAUSE (0x9B) +#define HID_USAGE_PID_DC_DEVICE_CONTINUE (0x9C) +#define HID_USAGE_PID_DEVICE_PAUSED (0x9F) +#define HID_USAGE_PID_ACTUATORS_ENABLED (0xA0) +#define HID_USAGE_PID_SAFETY_SWITCH (0xA4) +#define HID_USAGE_PID_ACTUATOR_OVERRIDE_SWITCH (0xA5) +#define HID_USAGE_PID_ACTUATOR_POWER (0xA6) +#define HID_USAGE_PID_START_DELAY (0xA7) +#define HID_USAGE_PID_PARAMETER_BLOCK_SIZE (0xA8) +#define HID_USAGE_PID_DEVICE_MANAGED_POOL (0xA9) +#define HID_USAGE_PID_SHARED_PARAMETER_BLOCKS (0xAA) +#define HID_USAGE_PID_CREATE_NEW_EFFECT_REPORT (0xAB) +#define HID_USAGE_PID_RAM_POOL_AVAILABLE (0xAC) + +/* Page 0x12: Eye and Head Trackers */ +#define HID_USAGE_EHT_UNDEFINED (0x00) +#define HID_USAGE_EHT_EYE_TRACKER (0x01) // CA +#define HID_USAGE_EHT_HEAD_TRACKER (0x02) // CA +#define HID_USAGE_EHT_TRACKING_DATA (0x10) // CP +#define HID_USAGE_EHT_CAPABILITIES (0x11) // CL +#define HID_USAGE_EHT_CONFIGURATION (0x12) // CL +#define HID_USAGE_EHT_STATUS (0x13) // CL +#define HID_USAGE_EHT_CONTROL (0x14) // CL +#define HID_USAGE_EHT_SENSOR_TIMESTAMP (0x20) // DV +#define HID_USAGE_EHT_POSITION_X (0x21) // DV +#define HID_USAGE_EHT_POSITION_Y (0x22) // DV +#define HID_USAGE_EHT_POSITION_Z (0x23) // DV +#define HID_USAGE_EHT_GAZE_POINT (0x24) // CP +#define HID_USAGE_EHT_LEFT_EYE_POSITION (0x25) // CP +#define HID_USAGE_EHT_RIGHT_EYE_POSITION (0x26) // CP +#define HID_USAGE_EHT_HEAD_POSITION (0x27) // CP +#define HID_USAGE_EHT_HEAD_DIRECTION_POINT (0x28) // CP +#define HID_USAGE_EHT_ROTATION_ABOUT_X_AXIS (0x29) // DV +#define HID_USAGE_EHT_ROTATION_ABOUT_Y_AXIS (0x2A) // DV +#define HID_USAGE_EHT_ROTATION_ABOUT_Z_AXIS (0x2B) // DV +#define HID_USAGE_EHT_TRACKER_QUALITY (0x100) // SV +#define HID_USAGE_EHT_MINIMUM_TRACKING_DISTANCE (0x101) // SV +#define HID_USAGE_EHT_OPTIMUM_TRACKING_DISTANCE (0x102) // SV +#define HID_USAGE_EHT_MAXIMUM_TRACKING_DISTANCE (0x103) // SV +#define HID_USAGE_EHT_MAXIMUM_SCREEN_PLANE_WIDTH (0x104) // SV +#define HID_USAGE_EHT_MAXIMUM_SCREEN_PLANE_HEIGHT (0x105) // SV +#define HID_USAGE_EHT_DISPLAY_MANUFACTURER_ID (0x200) // SV +#define HID_USAGE_EHT_DISPLAY_PRODUCT_ID (0x201) // SV +#define HID_USAGE_EHT_DISPLAY_SERIAL_NUMBER (0x202) // SV +#define HID_USAGE_EHT_DISPLAY_MANUFACTURER_DATE (0x203) // SV +#define HID_USAGE_EHT_CALIBRATED_SCREEN_WIDTH (0x204) // SV +#define HID_USAGE_EHT_CALIBRATED_SCREEN_HEIGHT (0x205) // SV +#define HID_USAGE_EHT_SAMPLING_FREQUENCY (0x300) // DV +#define HID_USAGE_EHT_CONFIGURATION_STATUS (0x301) // DV +#define HID_USAGE_EHT_DEVICE_MODE_REQUEST (0x400) // DV + +/* Page 0x14: Auxiliary Display */ +#define HID_USAGE_AUXDISP_UNDEFINED (0x00) +#define HID_USAGE_AUXDISP_ALPHANUMERIC_DISPLAY (0x01) // CA +#define HID_USAGE_AUXDISP_AUXILIARY_DISPLAY (0x02) // CA +#define HID_USAGE_AUXDISP_DISPLAY_ATTRIBUTES_REPORT (0x20) // CL +#define HID_USAGE_AUXDISP_ASCII_CHARACTER_SET (0x21) // SF +#define HID_USAGE_AUXDISP_DATA_READ_BACK (0x22) // SF +#define HID_USAGE_AUXDISP_FONT_READ_BACK (0x23) // SF +#define HID_USAGE_AUXDISP_DISPLAY_CONTROL_REPORT (0x24) // CL +#define HID_USAGE_AUXDISP_CLEAR_DISPLAY (0x25) // DF +#define HID_USAGE_AUXDISP_DISPLAY_ENABLE (0x26) // DF +#define HID_USAGE_AUXDISP_SCREEN_SAVER_DELAY (0x27) // SV, DV +#define HID_USAGE_AUXDISP_SCREEN_SAVER_ENABLE (0x28) // DF +#define HID_USAGE_AUXDISP_VERTICAL_SCROLL (0x29) // SF, DF +#define HID_USAGE_AUXDISP_HORIZONTAL_SCROLL (0x2A) // SF, DF +#define HID_USAGE_AUXDISP_CHARACTER_REPORT (0x2B) // CL +#define HID_USAGE_AUXDISP_DISPLAY_DATA (0x2C) // DV +#define HID_USAGE_AUXDISP_DISPLAY_STATUS (0x2D) // CL +#define HID_USAGE_AUXDISP_STAT_NOT_READY (0x2E) // Sel +#define HID_USAGE_AUXDISP_STAT_READY (0x2F) // Sel +#define HID_USAGE_AUXDISP_ERR_NOT_A_LOADABLE_CHARACTER (0x30) // Sel +#define HID_USAGE_AUXDISP_ERR_FONT_DATA_CANNOT_BE_READ (0x31) // Sel +#define HID_USAGE_AUXDISP_CURSOR_POSITION_REPORT (0x32) // Sel +#define HID_USAGE_AUXDISP_ROW (0x33) // DV +#define HID_USAGE_AUXDISP_COLUMN (0x34) // DV +#define HID_USAGE_AUXDISP_ROWS (0x35) // SV +#define HID_USAGE_AUXDISP_COLUMNS (0x36) // SV +#define HID_USAGE_AUXDISP_CURSOR_PIXEL_POSITIONING (0x37) // SF +#define HID_USAGE_AUXDISP_CURSOR_MODE (0x38) // DF +#define HID_USAGE_AUXDISP_CURSOR_ENABLE (0x39) // DF +#define HID_USAGE_AUXDISP_CURSOR_BLINK (0x3A) // DF +#define HID_USAGE_AUXDISP_FONT_REPORT (0x3B) // CL +#define HID_USAGE_AUXDISP_FONT_DATA (0x3C) // Buffered Bytes +#define HID_USAGE_AUXDISP_CHARACTER_WIDTH (0x3D) // SV +#define HID_USAGE_AUXDISP_CHARACTER_HEIGHT (0x3E) // SV +#define HID_USAGE_AUXDISP_CHARACTER_SPACING_HORIZONTAL (0x3F) // SV +#define HID_USAGE_AUXDISP_CHARACTER_SPACING_VERTICAL (0x40) // SV +#define HID_USAGE_AUXDISP_UNICODE_CHARACTER_SET (0x41) // SF +#define HID_USAGE_AUXDISP_FONT_7_SEGMENT (0x42) // SF +#define HID_USAGE_AUXDISP_7_SEGMENT_DIRECT_MAP (0x43) // SF +#define HID_USAGE_AUXDISP_FONT_14_SEGMENT (0x44) // SF +#define HID_USAGE_AUXDISP_14_SEGMENT_DIRECT_MAP (0x45) // SF +#define HID_USAGE_AUXDISP_DISPLAY_BRIGHTNESS (0x46) // DV +#define HID_USAGE_AUXDISP_DISPLAY_CONTRAST (0x47) // DV +#define HID_USAGE_AUXDISP_CHARACTER_ATTRIBUTE (0x48) // CL +#define HID_USAGE_AUXDISP_ATTRIBUTE_READBACK (0x49) // SF +#define HID_USAGE_AUXDISP_ATTRIBUTE_DATA (0x4A) // DV +#define HID_USAGE_AUXDISP_CHAR_ATTR_ENHANCE (0x4B) // OOC +#define HID_USAGE_AUXDISP_CHAR_ATTR_UNDERLINE (0x4C) // OOC +#define HID_USAGE_AUXDISP_CHAR_ATTR_BLINK (0x4D) // OOC +#define HID_USAGE_AUXDISP_BITMAP_SIZE_X (0x80) // SV +#define HID_USAGE_AUXDISP_BITMAP_SIZE_Y (0x81) // SV +#define HID_USAGE_AUXDISP_MAX_BLIT_SIZE (0x82) // SV +#define HID_USAGE_AUXDISP_BIT_DEPTH_FORMAT (0x83) // SV +#define HID_USAGE_AUXDISP_DISPLAY_ORIENTATION (0x84) // DV +#define HID_USAGE_AUXDISP_PALETTE_REPORT (0x85) // CL +#define HID_USAGE_AUXDISP_PALETTE_DATA_SIZE (0x86) // SV +#define HID_USAGE_AUXDISP_PALETTE_DATA_OFFSET (0x87) // SV +#define HID_USAGE_AUXDISP_PALETTE_DATA (0x88) // Buffered Bytes +#define HID_USAGE_AUXDISP_BLIT_REPORT (0x8A) // CL +#define HID_USAGE_AUXDISP_BLIT_RECTANGLE_X1 (0x8B) // SV +#define HID_USAGE_AUXDISP_BLIT_RECTANGLE_Y1 (0x8C) // SV +#define HID_USAGE_AUXDISP_BLIT_RECTANGLE_X2 (0x8D) // SV +#define HID_USAGE_AUXDISP_BLIT_RECTANGLE_Y2 (0x8E) // SV +#define HID_USAGE_AUXDISP_BLIT_DATA (0x8F) // Buffered Bytes +#define HID_USAGE_AUXDISP_SOFT_BUTTON (0x90) // CL +#define HID_USAGE_AUXDISP_SOFT_BUTTON_ID (0x91) // SV +#define HID_USAGE_AUXDISP_SOFT_BUTTON_SIDE (0x92) // SV +#define HID_USAGE_AUXDISP_SOFT_BUTTON_OFFSET_1 (0x93) // SV +#define HID_USAGE_AUXDISP_SOFT_BUTTON_OFFSET_2 (0x94) // SV +#define HID_USAGE_AUXDISP_SOFT_BUTTON_REPORT (0x95) // SV +#define HID_USAGE_AUXDISP_SOFT_KEYS (0xC2) // SV +#define HID_USAGE_AUXDISP_DISPLAY_DATA_EXTENSIONS (0xCC) // SF +#define HID_USAGE_AUXDISP_CHARACTER_MAPPING (0xCF) // SV +#define HID_USAGE_AUXDISP_UNICODE_EQUIVALENT (0xDD) // SV +#define HID_USAGE_AUXDISP_CHARACTER_PAGE_MAPPING (0xDF) // SV +#define HID_USAGE_AUXDISP_REQUEST_REPORT (0xFF) // DV + +/* Page 0x20: Sensors */ +#define HID_USAGE_SENSORS_UNDEFINED (0x00) +#define HID_USAGE_SENSORS_SENSOR (0x01) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC (0x10) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_HUMAN_PRESENCE (0x11) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_HUMAN_PROXIMITY (0x12) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_HUMAN_TOUCH (0x13) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_BLOOD_PRESSURE (0x14) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_BODY_TEMPERATURE (0x15) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_HEART_RATE (0x16) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_HEART_RATE_VARIABILITY (0x17) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_PERIPHERAL_OXYGEN_SATURATION (0x18) // CA, CP +#define HID_USAGE_SENSORS_BIOMETRIC_RESPIRATORY_RATE (0x19) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL (0x20) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_CAPACITANCE (0x21) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_CURRENT (0x22) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_POWER (0x23) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_INDUCTANCE (0x24) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_RESISTANCE (0x25) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_VOLTAGE (0x26) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_POTENTIOMETER (0x27) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_FREQUENCY (0x28) // CA, CP +#define HID_USAGE_SENSORS_ELECTRICAL_PERIOD (0x29) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL (0x30) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_ATMOSPHERIC_PRESSURE (0x31) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_HUMIDITY (0x32) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_TEMPERATURE (0x33) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_WIND_DIRECTION (0x34) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_WIND_SPEED (0x35) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_AIR_QUALITY (0x36) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_HEAT_INDEX (0x37) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_SURFACE_TEMPERATURE (0x38) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_VOLATILE_ORGANIC_COMPOUNDS (0x39) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_OBJECT_PRESENCE (0x3A) // CA, CP +#define HID_USAGE_SENSORS_ENVIRONMENTAL_OBJECT_PROXIMITY (0x3B) // CA, CP +#define HID_USAGE_SENSORS_LIGHT (0x40) // CA, CP +#define HID_USAGE_SENSORS_LIGHT_AMBIENT_LIGHT (0x41) // CA, CP +#define HID_USAGE_SENSORS_LIGHT_CONSUMER_INFRARED (0x42) // CA, CP +#define HID_USAGE_SENSORS_LIGHT_INFRARED_LIGHT (0x43) // CA, CP +#define HID_USAGE_SENSORS_LIGHT_VISIBLE_LIGHT (0x44) // CA, CP +#define HID_USAGE_SENSORS_LIGHT_ULTRAVIOLET_LIGHT (0x45) // CA, CP +#define HID_USAGE_SENSORS_LOCATION (0x50) // CA, CP +#define HID_USAGE_SENSORS_LOCATION_BROADCAST (0x51) // CA, CP +#define HID_USAGE_SENSORS_LOCATION_DEAD_RECKONING (0x52) // CA, CP +#define HID_USAGE_SENSORS_LOCATION_GPS_GLOBAL_POSITIONING_SYSTEM (0x53) // CA, CP +#define HID_USAGE_SENSORS_LOCATION_LOOKUP (0x54) // CA, CP +#define HID_USAGE_SENSORS_LOCATION_OTHER (0x55) // CA, CP +#define HID_USAGE_SENSORS_LOCATION_STATIC (0x56) // CA, CP +#define HID_USAGE_SENSORS_LOCATION_TRIANGULATION (0x57) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL (0x60) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_BOOLEAN_SWITCH (0x61) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_BOOLEAN_SWITCH_ARRAY (0x62) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_MULTIVALUE_SWITCH (0x63) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_FORCE (0x64) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_PRESSURE (0x65) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_STRAIN (0x66) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_WEIGHT (0x67) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_HAPTIC_VIBRATOR (0x68) // CA, CP +#define HID_USAGE_SENSORS_MECHANICAL_HALL_EFFECT_SWITCH (0x69) // CA, CP +#define HID_USAGE_SENSORS_MOTION (0x70) // CA, CP +#define HID_USAGE_SENSORS_MOTION_ACCELEROMETER_1D (0x71) // CA, CP +#define HID_USAGE_SENSORS_MOTION_ACCELEROMETER_2D (0x72) // CA, CP +#define HID_USAGE_SENSORS_MOTION_ACCELEROMETER_3D (0x73) // CA, CP +#define HID_USAGE_SENSORS_MOTION_GYROMETER_1D (0x74) // CA, CP +#define HID_USAGE_SENSORS_MOTION_GYROMETER_2D (0x75) // CA, CP +#define HID_USAGE_SENSORS_MOTION_GYROMETER_3D (0x76) // CA, CP +#define HID_USAGE_SENSORS_MOTION_MOTION_DETECTOR (0x77) // CA, CP +#define HID_USAGE_SENSORS_MOTION_SPEEDOMETER (0x78) // CA, CP +#define HID_USAGE_SENSORS_MOTION_ACCELEROMETER (0x79) // CA, CP +#define HID_USAGE_SENSORS_MOTION_GYROMETER (0x7A) // CA, CP +#define HID_USAGE_SENSORS_MOTION_GRAVITY_VECTOR (0x7B) // CA, CP +#define HID_USAGE_SENSORS_MOTION_LINEAR_ACCELEROMETER (0x7C) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION (0x80) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_COMPASS_1D (0x81) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_COMPASS_2D (0x82) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_COMPASS_3D (0x83) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER_1D (0x84) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER_2D (0x85) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER_3D (0x86) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_DISTANCE_1D (0x87) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_DISTANCE_2D (0x88) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_DISTANCE_3D (0x89) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_DEVICE_ORIENTATION (0x8A) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_COMPASS (0x8B) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_INCLINOMETER (0x8C) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_DISTANCE (0x8D) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_RELATIVE_ORIENTATION (0x8E) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_SIMPLE_ORIENTATION (0x8F) // CA, CP +#define HID_USAGE_SENSORS_SCANNER (0x90) // CA, CP +#define HID_USAGE_SENSORS_SCANNER_BARCODE (0x91) // CA, CP +#define HID_USAGE_SENSORS_SCANNER_RFID (0x92) // CA, CP +#define HID_USAGE_SENSORS_SCANNER_NFC (0x93) // CA, CP +#define HID_USAGE_SENSORS_TIME (0xA0) // CA, CP +#define HID_USAGE_SENSORS_TIME_ALARM_TIMER (0xA1) // CA, CP +#define HID_USAGE_SENSORS_TIME_REAL_TIME_CLOCK (0xA2) // CA, CP +#define HID_USAGE_SENSORS_PERSONAL_ACTIVITY (0xB0) // CA, CP +#define HID_USAGE_SENSORS_PERSONAL_ACTIVITY_ACTIVITY_DETECTION (0xB1) // CA, CP +#define HID_USAGE_SENSORS_PERSONAL_ACTIVITY_DEVICE_POSITION (0xB2) // CA, CP +#define HID_USAGE_SENSORS_PERSONAL_ACTIVITY_PEDOMETER (0xB3) // CA, CP +#define HID_USAGE_SENSORS_PERSONAL_ACTIVITY_STEP_DETECTION (0xB4) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_EXTENDED (0xC0) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_EXTENDED_GEOMAGNETIC_ORIENTATION (0xC1) // CA, CP +#define HID_USAGE_SENSORS_ORIENTATION_EXTENDED_MAGNETOMETER (0xC2) // CA, CP +#define HID_USAGE_SENSORS_GESTURE (0xD0) // CA, CP +#define HID_USAGE_SENSORS_GESTURE_CHASSIS_FLIP_GESTURE (0xD1) // CA, CP +#define HID_USAGE_SENSORS_GESTURE_HINGE_FOLD_GESTURE (0xD2) // CA, CP +#define HID_USAGE_SENSORS_OTHER (0xE0) // CA, CP +#define HID_USAGE_SENSORS_OTHER_CUSTOM (0xE1) // CA, CP +#define HID_USAGE_SENSORS_OTHER_GENERIC (0xE2) // CA, CP +#define HID_USAGE_SENSORS_OTHER_GENERIC_ENUMERATOR (0xE3) // CA, CP +#define HID_USAGE_SENSORS_OTHER_HINGE_ANGLE (0xE4) // CA, CP +#define HID_USAGE_SENSORS_EVENT (0x200) // DV +#define HID_USAGE_SENSORS_EVENT_SENSOR_STATE (0x201) // NAry +#define HID_USAGE_SENSORS_EVENT_SENSOR_EVENT (0x202) // NAry +#define HID_USAGE_SENSORS_PROPERTY (0x300) // DV +#define HID_USAGE_SENSORS_PROPERTY_FRIENDLY_NAME (0x301) // SV +#define HID_USAGE_SENSORS_PROPERTY_PERSISTENT_UNIQUE_ID (0x302) // DV +#define HID_USAGE_SENSORS_PROPERTY_SENSOR_STATUS (0x303) // DV +#define HID_USAGE_SENSORS_PROPERTY_MINIMUM_REPORT_INTERVAL (0x304) // SV +#define HID_USAGE_SENSORS_PROPERTY_SENSOR_MANUFACTURER (0x305) // SV +#define HID_USAGE_SENSORS_PROPERTY_SENSOR_MODEL (0x306) // SV +#define HID_USAGE_SENSORS_PROPERTY_SENSOR_SERIAL_NUMBER (0x307) // SV +#define HID_USAGE_SENSORS_PROPERTY_SENSOR_DESCRIPTION (0x308) // SV +#define HID_USAGE_SENSORS_PROPERTY_SENSOR_CONNECTION_TYPE (0x309) // NAry +#define HID_USAGE_SENSORS_PROPERTY_SENSOR_DEVICE_PATH (0x30A) // DV +#define HID_USAGE_SENSORS_PROPERTY_HARDWARE_REVISION (0x30B) // SV +#define HID_USAGE_SENSORS_PROPERTY_FIRMWARE_VERSION (0x30C) // SV +#define HID_USAGE_SENSORS_PROPERTY_RELEASE_DATE (0x30D) // SV +#define HID_USAGE_SENSORS_PROPERTY_REPORT_INTERVAL (0x30E) // DV +#define HID_USAGE_SENSORS_PROPERTY_CHANGE_SENSITIVITY_ABSOLUTE (0x30F) // DV +#define HID_USAGE_SENSORS_PROPERTY_CHANGE_SENSITIVITY_PERCENT_OF_RANGE (0x310) // DV +#define HID_USAGE_SENSORS_PROPERTY_CHANGE_SENSITIVITY_PERCENT_RELATIVE (0x311) // DV +#define HID_USAGE_SENSORS_PROPERTY_ACCURACY (0x312) // DV +#define HID_USAGE_SENSORS_PROPERTY_RESOLUTION (0x313) // DV +#define HID_USAGE_SENSORS_PROPERTY_MAXIMUM (0x314) // DV +#define HID_USAGE_SENSORS_PROPERTY_MINIMUM (0x315) // DV +#define HID_USAGE_SENSORS_PROPERTY_REPORTING_STATE (0x316) // NAry +#define HID_USAGE_SENSORS_PROPERTY_SAMPLING_RATE (0x317) // DV +#define HID_USAGE_SENSORS_PROPERTY_RESPONSE_CURVE (0x318) // DV +#define HID_USAGE_SENSORS_PROPERTY_POWER_STATE (0x319) // NAry +#define HID_USAGE_SENSORS_PROPERTY_MAXIMUM_FIFO_EVENTS (0x31A) // SV +#define HID_USAGE_SENSORS_PROPERTY_REPORT_LATENCY (0x31B) // DV +#define HID_USAGE_SENSORS_PROPERTY_FLUSH_FIFO_EVENTS (0x31C) // DF +#define HID_USAGE_SENSORS_PROPERTY_MAXIMUM_POWER_CONSUMPTION (0x31D) // DV +#define HID_USAGE_SENSORS_PROPERTY_IS_PRIMARY (0x31E) // DF +#define HID_USAGE_SENSORS_DATA_FIELD_LOCATION (0x400) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_ANTENNA_SEA_LEVEL (0x402) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DIFFERENTIAL_REFERENCE_STATION_ID (0x403) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_ELLIPSOID_ERROR (0x404) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_ELLIPSOID (0x405) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_SEA_LEVEL_ERROR (0x406) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ALTITUDE_SEA_LEVEL (0x407) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DIFFERENTIAL_GPS_DATA_AGE (0x408) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ERROR_RADIUS (0x409) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_FIX_QUALITY (0x40A) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_FIX_TYPE (0x40B) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_GEOIDAL_SEPARATION (0x40C) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GPS_OPERATION_MODE (0x40D) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_GPS_SELECTION_MODE (0x40E) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_GPS_STATUS (0x40F) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_POSITION_DILUTION_OF_PRECISION (0x410) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HORIZONTAL_DILUTION_OF_PRECISION (0x411) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_VERTICAL_DILUTION_OF_PRECISION (0x412) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_LATITUDE (0x413) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_LONGITUDE (0x414) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TRUE_HEADING (0x415) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_HEADING (0x416) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_VARIATION (0x417) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SPEED (0x418) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW (0x419) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_AZIMUTH (0x41A) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_ELEVATION (0x41B) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_IDS (0x41C) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_PRNS (0x41D) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_IN_VIEW_S_N_RATIOS (0x41E) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_USED_COUNT (0x41F) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SATELLITES_USED_PRNS (0x420) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_NMEA_SENTENCE (0x421) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ADDRESS_LINE_1 (0x422) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ADDRESS_LINE_2 (0x423) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CITY (0x424) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_STATE_OR_PROVINCE (0x425) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_COUNTRY_OR_REGION (0x426) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_POSTAL_CODE (0x427) // SV +#define HID_USAGE_SENSORS_PROPERTY_LOCATION (0x42A) // DV +#define HID_USAGE_SENSORS_PROPERTY_LOCATION_DESIRED_ACCURACY (0x42B) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_ENVIRONMENTAL (0x430) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ATMOSPHERIC_PRESSURE (0x431) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_RELATIVE_HUMIDITY (0x433) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TEMPERATURE (0x434) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_WIND_DIRECTION (0x435) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_WIND_SPEED (0x436) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_AIR_QUALITY_INDEX (0x437) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_EQUIVALENT_CO2 (0x438) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_VOLATILE_ORGANIC_COMPOUND_CONCENTRATION (0x439) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_OBJECT_PRESENCE (0x43A) // SF +#define HID_USAGE_SENSORS_DATA_FIELD_OBJECT_PROXIMITY_RANGE (0x43B) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_OBJECT_PROXIMITY_OUT_OF_RANGE (0x43C) // SF +#define HID_USAGE_SENSORS_PROPERTY_ENVIRONMENTAL (0x440) // SV +#define HID_USAGE_SENSORS_PROPERTY_REFERENCE_PRESSURE (0x441) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MOTION (0x450) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_MOTION_STATE (0x451) // SF +#define HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION (0x452) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION_AXIS_X (0x453) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION_AXIS_Y (0x454) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ACCELERATION_AXIS_Z (0x455) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY (0x456) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY_ABOUT_X_AXIS (0x457) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY_ABOUT_Y_AXIS (0x458) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_VELOCITY_ABOUT_Z_AXIS (0x459) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION (0x45A) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION_ABOUT_X_AXIS (0x45B) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION_ABOUT_Y_AXIS (0x45C) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ANGULAR_POSITION_ABOUT_Z_AXIS (0x45D) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MOTION_SPEED (0x45E) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MOTION_INTENSITY (0x45F) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ORIENTATION (0x470) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING (0x471) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING_X_AXIS (0x472) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING_Y_AXIS (0x473) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING_Z_AXIS (0x474) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING_COMPENSATED_MAGNETIC_NORTH (0x475) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING_COMPENSATED_TRUE_NORTH (0x476) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING_MAGNETIC_NORTH (0x477) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEADING_TRUE_NORTH (0x478) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DISTANCE (0x479) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_X_AXIS (0x47A) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_Y_AXIS (0x47B) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_Z_AXIS (0x47C) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DISTANCE_OUT_OF_RANGE (0x47D) // SF +#define HID_USAGE_SENSORS_DATA_FIELD_TILT (0x47E) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TILT_X_AXIS (0x47F) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TILT_Y_AXIS (0x480) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TILT_Z_AXIS (0x481) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ROTATION_MATRIX (0x482) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_QUATERNION (0x483) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX (0x484) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX_X_AXIS (0x485) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX_Y_AXIS (0x486) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MAGNETIC_FLUX_Z_AXIS (0x487) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MAGNETOMETER_ACCURACY (0x488) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_SIMPLE_ORIENTATION_DIRECTION (0x489) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_MECHANICAL (0x490) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_BOOLEAN_SWITCH_STATE (0x491) // SF +#define HID_USAGE_SENSORS_DATA_FIELD_BOOLEAN_SWITCH_ARRAY_STATES (0x492) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MULTIVALUE_SWITCH_VALUE (0x493) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_FORCE (0x494) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ABSOLUTE_PRESSURE (0x495) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GAUGE_PRESSURE (0x496) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_STRAIN (0x497) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_WEIGHT (0x498) // SV +#define HID_USAGE_SENSORS_PROPERTY_MECHANICAL (0x4A0) // DV +#define HID_USAGE_SENSORS_PROPERTY_VIBRATION_STATE (0x4A1) // DF +#define HID_USAGE_SENSORS_PROPERTY_FORWARD_VIBRATION_SPEED (0x4A2) // DV +#define HID_USAGE_SENSORS_PROPERTY_BACKWARD_VIBRATION_SPEED (0x4A3) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_BIOMETRIC (0x4B0) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_HUMAN_PRESENCE (0x4B1) // SF +#define HID_USAGE_SENSORS_DATA_FIELD_HUMAN_PROXIMITY_RANGE (0x4B2) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HUMAN_PROXIMITY_OUT_OF_RANGE (0x4B3) // SF +#define HID_USAGE_SENSORS_DATA_FIELD_HUMAN_TOUCH_STATE (0x4B4) // SF +#define HID_USAGE_SENSORS_DATA_FIELD_BLOOD_PRESSURE (0x4B5) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_BLOOD_PRESSURE_DIASTOLIC (0x4B6) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_BLOOD_PRESSURE_SYSTOLIC (0x4B7) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEART_RATE (0x4B8) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_RESTING_HEART_RATE (0x4B9) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HEARTBEAT_INTERVAL (0x4BA) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_RESPIRATORY_RATE (0x4BB) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SPO2 (0x4BC) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_LIGHT (0x4D0) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_ILLUMINANCE (0x4D1) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_COLOR_TEMPERATURE (0x4D2) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CHROMATICITY (0x4D3) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CHROMATICITY_X (0x4D4) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CHROMATICITY_Y (0x4D5) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CONSUMER_IR_SENTENCE_RECEIVE (0x4D6) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_INFRARED_LIGHT (0x4D7) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_RED_LIGHT (0x4D8) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GREEN_LIGHT (0x4D9) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_BLUE_LIGHT (0x4DA) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ULTRAVIOLET_A_LIGHT (0x4DB) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ULTRAVIOLET_B_LIGHT (0x4DC) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ULTRAVIOLET_INDEX (0x4DD) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_NEAR_INFRARED_LIGHT (0x4DE) // SV +#define HID_USAGE_SENSORS_PROPERTY_LIGHT (0x4DF) // DV +#define HID_USAGE_SENSORS_PROPERTY_CONSUMER_IR_SENTENCE_SEND (0x4E0) // DV +#define HID_USAGE_SENSORS_PROPERTY_AUTO_BRIGHTNESS_PREFERRED (0x4E2) // DF +#define HID_USAGE_SENSORS_PROPERTY_AUTO_COLOR_PREFERRED (0x4E3) // DF +#define HID_USAGE_SENSORS_DATA_FIELD_SCANNER (0x4F0) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_RFID_TAG_40_BIT (0x4F1) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_NFC_SENTENCE_RECEIVE (0x4F2) // SV +#define HID_USAGE_SENSORS_PROPERTY_SCANNER (0x4F8) // DV +#define HID_USAGE_SENSORS_PROPERTY_NFC_SENTENCE_SEND (0x4F9) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ELECTRICAL (0x500) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CAPACITANCE (0x501) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CURRENT (0x502) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ELECTRICAL_POWER (0x503) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_INDUCTANCE (0x504) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_RESISTANCE (0x505) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_VOLTAGE (0x506) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_FREQUENCY (0x507) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_PERIOD (0x508) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_PERCENT_OF_RANGE (0x509) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TIME (0x520) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_YEAR (0x521) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MONTH (0x522) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DAY (0x523) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_DAY_OF_WEEK (0x524) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_HOUR (0x525) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MINUTE (0x526) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_SECOND (0x527) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_MILLISECOND (0x528) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TIMESTAMP (0x529) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_JULIAN_DAY_OF_YEAR (0x52A) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_TIME_SINCE_SYSTEM_BOOT (0x52B) // SV +#define HID_USAGE_SENSORS_PROPERTY_TIME (0x530) // DV +#define HID_USAGE_SENSORS_PROPERTY_TIME_ZONE_OFFSET_FROM_UTC (0x531) // DV +#define HID_USAGE_SENSORS_PROPERTY_TIME_ZONE_NAME (0x532) // DV +#define HID_USAGE_SENSORS_PROPERTY_DAYLIGHT_SAVINGS_TIME_OBSERVED (0x533) // DF +#define HID_USAGE_SENSORS_PROPERTY_TIME_TRIM_ADJUSTMENT (0x534) // DV +#define HID_USAGE_SENSORS_PROPERTY_ARM_ALARM (0x535) // DF +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM (0x540) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_USAGE (0x541) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_BOOLEAN_ARRAY (0x542) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE (0x543) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_1 (0x544) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_2 (0x545) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_3 (0x546) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_4 (0x547) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_5 (0x548) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_6 (0x549) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_7 (0x54A) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_8 (0x54B) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_9 (0x54C) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_10 (0x54D) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_11 (0x54E) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_12 (0x54F) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_13 (0x550) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_14 (0x551) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_15 (0x552) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_16 (0x553) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_17 (0x554) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_18 (0x555) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_19 (0x556) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_20 (0x557) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_21 (0x558) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_22 (0x559) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_23 (0x55A) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_24 (0x55B) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_25 (0x55C) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_26 (0x55D) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_27 (0x55E) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_VALUE_28 (0x55F) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC (0x560) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_GUID_OR_PROPERTYKEY (0x561) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_CATEGORY_GUID (0x562) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_TYPE_GUID (0x563) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_EVENT_PROPERTYKEY (0x564) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_PROPERTY_PROPERTYKEY (0x565) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_DATA_FIELD_PROPERTYKEY (0x566) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_EVENT (0x567) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_PROPERTY (0x568) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_DATA_FIELD (0x569) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ENUMERATOR_TABLE_ROW_INDEX (0x56A) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_ENUMERATOR_TABLE_ROW_COUNT (0x56B) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_GUID_OR_PROPERTYKEY_KIND (0x56C) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_GUID (0x56D) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_PROPERTYKEY (0x56E) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_TOP_LEVEL_COLLECTION_ID (0x56F) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_ID (0x570) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_ITEM_POSITION_INDEX (0x571) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_FIRMWARE_VARTYPE (0x572) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_UNIT_OF_MEASURE (0x573) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_UNIT_EXPONENT (0x574) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_SIZE (0x575) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_GENERIC_REPORT_COUNT (0x576) // SV +#define HID_USAGE_SENSORS_PROPERTY_GENERIC (0x580) // DV +#define HID_USAGE_SENSORS_PROPERTY_ENUMERATOR_TABLE_ROW_INDEX (0x581) // DV +#define HID_USAGE_SENSORS_PROPERTY_ENUMERATOR_TABLE_ROW_COUNT (0x582) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_PERSONAL_ACTIVITY (0x590) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_ACTIVITY_TYPE (0x591) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_ACTIVITY_STATE (0x592) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_DEVICE_POSITION (0x593) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_STEP_COUNT (0x594) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_STEP_COUNT_RESET (0x595) // DF +#define HID_USAGE_SENSORS_DATA_FIELD_STEP_DURATION (0x596) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_STEP_TYPE (0x597) // NAry +#define HID_USAGE_SENSORS_PROPERTY_MINIMUM_ACTIVITY_DETECTION_INTERVAL (0x5A0) // DV +#define HID_USAGE_SENSORS_PROPERTY_SUPPORTED_ACTIVITY_TYPES (0x5A1) // NAry +#define HID_USAGE_SENSORS_PROPERTY_SUBSCRIBED_ACTIVITY_TYPES (0x5A2) // NAry +#define HID_USAGE_SENSORS_PROPERTY_SUPPORTED_STEP_TYPES (0x5A3) // NAry +#define HID_USAGE_SENSORS_PROPERTY_SUBSCRIBED_STEP_TYPES (0x5A4) // NAry +#define HID_USAGE_SENSORS_PROPERTY_FLOOR_HEIGHT (0x5A5) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_CUSTOM_TYPE_ID (0x5B0) // SV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM (0x5C0) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_1 (0x5C1) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_2 (0x5C2) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_3 (0x5C3) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_4 (0x5C4) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_5 (0x5C5) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_6 (0x5C6) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_7 (0x5C7) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_8 (0x5C8) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_9 (0x5C9) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_10 (0x5CA) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_11 (0x5CB) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_12 (0x5CC) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_13 (0x5CD) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_14 (0x5CE) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_15 (0x5CF) // DV +#define HID_USAGE_SENSORS_PROPERTY_CUSTOM_VALUE_16 (0x5D0) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_HINGE (0x5E0) // SV, DV +#define HID_USAGE_SENSORS_DATA_FIELD_HINGE_ANGLE (0x5E1) // SV, DV +#define HID_USAGE_SENSORS_DATA_FIELD_GESTURE_SENSOR (0x5F0) // DV +#define HID_USAGE_SENSORS_DATA_FIELD_GESTURE_STATE (0x5F1) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_INITIAL_ANGLE (0x5F2) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_FINAL_ANGLE (0x5F3) // SV +#define HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_CONTRIBUTING_PANEL (0x5F4) // NAry +#define HID_USAGE_SENSORS_DATA_FIELD_HINGE_FOLD_TYPE (0x5F5) // NAry +#define HID_USAGE_SENSORS_SENSOR_STATE_UNDEFINED (0x800) // Sel +#define HID_USAGE_SENSORS_SENSOR_STATE_READY (0x801) // Sel +#define HID_USAGE_SENSORS_SENSOR_STATE_NOT_AVAILABLE (0x802) // Sel +#define HID_USAGE_SENSORS_SENSOR_STATE_NO_DATA (0x803) // Sel +#define HID_USAGE_SENSORS_SENSOR_STATE_INITIALIZING (0x804) // Sel +#define HID_USAGE_SENSORS_SENSOR_STATE_ACCESS_DENIED (0x805) // Sel +#define HID_USAGE_SENSORS_SENSOR_STATE_ERROR (0x806) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_UNKNOWN (0x810) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_STATE_CHANGED (0x811) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_PROPERTY_CHANGED (0x812) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_DATA_UPDATED (0x813) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_POLL_RESPONSE (0x814) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_CHANGE_SENSITIVITY (0x815) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_RANGE_MAXIMUM_REACHED (0x816) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_RANGE_MINIMUM_REACHED (0x817) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_HIGH_THRESHOLD_CROSS_UPWARD (0x818) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_HIGH_THRESHOLD_CROSS_DOWNWARD (0x819) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_LOW_THRESHOLD_CROSS_UPWARD (0x81A) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_LOW_THRESHOLD_CROSS_DOWNWARD (0x81B) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_ZERO_THRESHOLD_CROSS_UPWARD (0x81C) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_ZERO_THRESHOLD_CROSS_DOWNWARD (0x81D) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_PERIOD_EXCEEDED (0x81E) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_FREQUENCY_EXCEEDED (0x81F) // Sel +#define HID_USAGE_SENSORS_SENSOR_EVENT_COMPLEX_TRIGGER (0x820) // Sel +#define HID_USAGE_SENSORS_CONNECTION_TYPE_PC_INTEGRATED (0x830) // Sel +#define HID_USAGE_SENSORS_CONNECTION_TYPE_PC_ATTACHED (0x831) // Sel +#define HID_USAGE_SENSORS_CONNECTION_TYPE_PC_EXTERNAL (0x832) // Sel +#define HID_USAGE_SENSORS_REPORTING_STATE_REPORT_NO_EVENTS (0x840) // Sel +#define HID_USAGE_SENSORS_REPORTING_STATE_REPORT_ALL_EVENTS (0x841) // Sel +#define HID_USAGE_SENSORS_REPORTING_STATE_REPORT_THRESHOLD_EVENTS (0x842) // Sel +#define HID_USAGE_SENSORS_REPORTING_STATE_WAKE_ON_NO_EVENTS (0x843) // Sel +#define HID_USAGE_SENSORS_REPORTING_STATE_WAKE_ON_ALL_EVENTS (0x844) // Sel +#define HID_USAGE_SENSORS_REPORTING_STATE_WAKE_ON_THRESHOLD_EVENTS (0x845) // Sel +#define HID_USAGE_SENSORS_POWER_STATE_UNDEFINED (0x850) // Sel +#define HID_USAGE_SENSORS_POWER_STATE_D0_FULL_POWER (0x851) // Sel +#define HID_USAGE_SENSORS_POWER_STATE_D1_LOW_POWER (0x852) // Sel +#define HID_USAGE_SENSORS_POWER_STATE_D2_STANDBY_POWER_WITH_WAKEUP (0x853) // Sel +#define HID_USAGE_SENSORS_POWER_STATE_D3_SLEEP_WITH_WAKEUP (0x854) // Sel +#define HID_USAGE_SENSORS_POWER_STATE_D4_POWER_OFF (0x855) // Sel +#define HID_USAGE_SENSORS_FIX_QUALITY_NO_FIX (0x870) // Sel +#define HID_USAGE_SENSORS_FIX_QUALITY_GPS (0x871) // Sel +#define HID_USAGE_SENSORS_FIX_QUALITY_DGPS (0x872) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_NO_FIX (0x880) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_GPS_SPS_MODE_FIX_VALID (0x881) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_DGPS_SPS_MODE_FIX_VALID (0x882) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_GPS_PPS_MODE_FIX_VALID (0x883) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_REAL_TIME_KINEMATIC (0x884) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_FLOAT_RTK (0x885) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_ESTIMATED_DEAD_RECKONED (0x886) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_MANUAL_INPUT_MODE (0x887) // Sel +#define HID_USAGE_SENSORS_FIX_TYPE_SIMULATOR_MODE (0x888) // Sel +#define HID_USAGE_SENSORS_GPS_OPERATION_MODE_MANUAL (0x890) // Sel +#define HID_USAGE_SENSORS_GPS_OPERATION_MODE_AUTOMATIC (0x891) // Sel +#define HID_USAGE_SENSORS_GPS_SELECTION_MODE_AUTONOMOUS (0x8A0) // Sel +#define HID_USAGE_SENSORS_GPS_SELECTION_MODE_DGPS (0x8A1) // Sel +#define HID_USAGE_SENSORS_GPS_SELECTION_MODE_ESTIMATED_DEAD_RECKONED (0x8A2) // Sel +#define HID_USAGE_SENSORS_GPS_SELECTION_MODE_MANUAL_INPUT (0x8A3) // Sel +#define HID_USAGE_SENSORS_GPS_SELECTION_MODE_SIMULATOR (0x8A4) // Sel +#define HID_USAGE_SENSORS_GPS_SELECTION_MODE_DATA_NOT_VALID (0x8A5) // Sel +#define HID_USAGE_SENSORS_GPS_STATUS_DATA_VALID (0x8B0) // Sel +#define HID_USAGE_SENSORS_GPS_STATUS_DATA_NOT_VALID (0x8B1) // Sel +#define HID_USAGE_SENSORS_ACCURACY_DEFAULT (0x860) // Sel +#define HID_USAGE_SENSORS_ACCURACY_HIGH (0x861) // Sel +#define HID_USAGE_SENSORS_ACCURACY_MEDIUM (0x862) // Sel +#define HID_USAGE_SENSORS_ACCURACY_LOW (0x863) // Sel +#define HID_USAGE_SENSORS_DAY_OF_WEEK_SUNDAY (0x8C0) // Sel +#define HID_USAGE_SENSORS_DAY_OF_WEEK_MONDAY (0x8C1) // Sel +#define HID_USAGE_SENSORS_DAY_OF_WEEK_TUESDAY (0x8C2) // Sel +#define HID_USAGE_SENSORS_DAY_OF_WEEK_WEDNESDAY (0x8C3) // Sel +#define HID_USAGE_SENSORS_DAY_OF_WEEK_THURSDAY (0x8C4) // Sel +#define HID_USAGE_SENSORS_DAY_OF_WEEK_FRIDAY (0x8C5) // Sel +#define HID_USAGE_SENSORS_DAY_OF_WEEK_SATURDAY (0x8C6) // Sel +#define HID_USAGE_SENSORS_KIND_CATEGORY (0x8D0) // Sel +#define HID_USAGE_SENSORS_KIND_TYPE (0x8D1) // Sel +#define HID_USAGE_SENSORS_KIND_EVENT (0x8D2) // Sel +#define HID_USAGE_SENSORS_KIND_PROPERTY (0x8D3) // Sel +#define HID_USAGE_SENSORS_KIND_DATA_FIELD (0x8D4) // Sel +#define HID_USAGE_SENSORS_MAGNETOMETER_ACCURACY_LOW (0x8E0) // Sel +#define HID_USAGE_SENSORS_MAGNETOMETER_ACCURACY_MEDIUM (0x8E1) // Sel +#define HID_USAGE_SENSORS_MAGNETOMETER_ACCURACY_HIGH (0x8E2) // Sel +#define HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_NOT_ROTATED (0x8F0) // Sel +#define HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_ROTATED_90_DEGREES_CCW (0x8F1) // Sel +#define HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_ROTATED_180_DEGREES_CCW (0x8F2) // Sel +#define HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_ROTATED_270_DEGREES_CCW (0x8F3) // Sel +#define HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_FACE_UP (0x8F4) // Sel +#define HID_USAGE_SENSORS_SIMPLE_ORIENTATION_DIRECTION_FACE_DOWN (0x8F5) // Sel +#define HID_USAGE_SENSORS_VT_NULL (0x900) // Sel +#define HID_USAGE_SENSORS_VT_BOOL (0x901) // Sel +#define HID_USAGE_SENSORS_VT_UI1 (0x902) // Sel +#define HID_USAGE_SENSORS_VT_I1 (0x903) // Sel +#define HID_USAGE_SENSORS_VT_UI2 (0x904) // Sel +#define HID_USAGE_SENSORS_VT_I2 (0x905) // Sel +#define HID_USAGE_SENSORS_VT_UI4 (0x906) // Sel +#define HID_USAGE_SENSORS_VT_I4 (0x907) // Sel +#define HID_USAGE_SENSORS_VT_UI8 (0x908) // Sel +#define HID_USAGE_SENSORS_VT_I8 (0x909) // Sel +#define HID_USAGE_SENSORS_VT_R4 (0x90A) // Sel +#define HID_USAGE_SENSORS_VT_R8 (0x90B) // Sel +#define HID_USAGE_SENSORS_VT_WSTR (0x90C) // Sel +#define HID_USAGE_SENSORS_VT_STR (0x90D) // Sel +#define HID_USAGE_SENSORS_VT_CLSID (0x90E) // Sel +#define HID_USAGE_SENSORS_VT_VECTOR_VT_UI1 (0x90F) // Sel +#define HID_USAGE_SENSORS_VT_F16E0 (0x910) // Sel +#define HID_USAGE_SENSORS_VT_F16E1 (0x911) // Sel +#define HID_USAGE_SENSORS_VT_F16E2 (0x912) // Sel +#define HID_USAGE_SENSORS_VT_F16E3 (0x913) // Sel +#define HID_USAGE_SENSORS_VT_F16E4 (0x914) // Sel +#define HID_USAGE_SENSORS_VT_F16E5 (0x915) // Sel +#define HID_USAGE_SENSORS_VT_F16E6 (0x916) // Sel +#define HID_USAGE_SENSORS_VT_F16E7 (0x917) // Sel +#define HID_USAGE_SENSORS_VT_F16E8 (0x918) // Sel +#define HID_USAGE_SENSORS_VT_F16E9 (0x919) // Sel +#define HID_USAGE_SENSORS_VT_F16EA (0x91A) // Sel +#define HID_USAGE_SENSORS_VT_F16EB (0x91B) // Sel +#define HID_USAGE_SENSORS_VT_F16EC (0x91C) // Sel +#define HID_USAGE_SENSORS_VT_F16ED (0x91D) // Sel +#define HID_USAGE_SENSORS_VT_F16EE (0x91E) // Sel +#define HID_USAGE_SENSORS_VT_F16EF (0x91F) // Sel +#define HID_USAGE_SENSORS_VT_F32E0 (0x920) // Sel +#define HID_USAGE_SENSORS_VT_F32E1 (0x921) // Sel +#define HID_USAGE_SENSORS_VT_F32E2 (0x922) // Sel +#define HID_USAGE_SENSORS_VT_F32E3 (0x923) // Sel +#define HID_USAGE_SENSORS_VT_F32E4 (0x924) // Sel +#define HID_USAGE_SENSORS_VT_F32E5 (0x925) // Sel +#define HID_USAGE_SENSORS_VT_F32E6 (0x926) // Sel +#define HID_USAGE_SENSORS_VT_F32E7 (0x927) // Sel +#define HID_USAGE_SENSORS_VT_F32E8 (0x928) // Sel +#define HID_USAGE_SENSORS_VT_F32E9 (0x929) // Sel +#define HID_USAGE_SENSORS_VT_F32EA (0x92A) // Sel +#define HID_USAGE_SENSORS_VT_F32EB (0x92B) // Sel +#define HID_USAGE_SENSORS_VT_F32EC (0x92C) // Sel +#define HID_USAGE_SENSORS_VT_F32ED (0x92D) // Sel +#define HID_USAGE_SENSORS_VT_F32EE (0x92E) // Sel +#define HID_USAGE_SENSORS_VT_F32EF (0x92F) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_UNKNOWN (0x930) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_STATIONARY (0x931) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_FIDGETING (0x932) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_WALKING (0x933) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_RUNNING (0x934) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_IN_VEHICLE (0x935) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_BIKING (0x936) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_TYPE_IDLE (0x937) // Sel +#define HID_USAGE_SENSORS_UNIT_NOT_SPECIFIED (0x940) // Sel +#define HID_USAGE_SENSORS_UNIT_LUX (0x941) // Sel +#define HID_USAGE_SENSORS_UNIT_DEGREES_KELVIN (0x942) // Sel +#define HID_USAGE_SENSORS_UNIT_DEGREES_CELSIUS (0x943) // Sel +#define HID_USAGE_SENSORS_UNIT_PASCAL (0x944) // Sel +#define HID_USAGE_SENSORS_UNIT_NEWTON (0x945) // Sel +#define HID_USAGE_SENSORS_UNIT_METERS_SECOND (0x946) // Sel +#define HID_USAGE_SENSORS_UNIT_KILOGRAM (0x947) // Sel +#define HID_USAGE_SENSORS_UNIT_METER (0x948) // Sel +#define HID_USAGE_SENSORS_UNIT_METERS_SECOND_SECOND (0x949) // Sel +#define HID_USAGE_SENSORS_UNIT_FARAD (0x94A) // Sel +#define HID_USAGE_SENSORS_UNIT_AMPERE (0x94B) // Sel +#define HID_USAGE_SENSORS_UNIT_WATT (0x94C) // Sel +#define HID_USAGE_SENSORS_UNIT_HENRY (0x94D) // Sel +#define HID_USAGE_SENSORS_UNIT_OHM (0x94E) // Sel +#define HID_USAGE_SENSORS_UNIT_VOLT (0x94F) // Sel +#define HID_USAGE_SENSORS_UNIT_HERTZ (0x950) // Sel +#define HID_USAGE_SENSORS_UNIT_BAR (0x951) // Sel +#define HID_USAGE_SENSORS_UNIT_DEGREES_ANTI_CLOCKWISE (0x952) // Sel +#define HID_USAGE_SENSORS_UNIT_DEGREES_CLOCKWISE (0x953) // Sel +#define HID_USAGE_SENSORS_UNIT_DEGREES (0x954) // Sel +#define HID_USAGE_SENSORS_UNIT_DEGREES_SECOND (0x955) // Sel +#define HID_USAGE_SENSORS_UNIT_DEGREES_SECOND_SECOND (0x956) // Sel +#define HID_USAGE_SENSORS_UNIT_KNOT (0x957) // Sel +#define HID_USAGE_SENSORS_UNIT_PERCENT (0x958) // Sel +#define HID_USAGE_SENSORS_UNIT_SECOND (0x959) // Sel +#define HID_USAGE_SENSORS_UNIT_MILLISECOND (0x95A) // Sel +#define HID_USAGE_SENSORS_UNIT_G (0x95B) // Sel +#define HID_USAGE_SENSORS_UNIT_BYTES (0x95C) // Sel +#define HID_USAGE_SENSORS_UNIT_MILLIGAUSS (0x95D) // Sel +#define HID_USAGE_SENSORS_UNIT_BITS (0x95E) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_STATE_NO_STATE_CHANGE (0x960) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_STATE_START_ACTIVITY (0x961) // Sel +#define HID_USAGE_SENSORS_ACTIVITY_STATE_END_ACTIVITY (0x962) // Sel +#define HID_USAGE_SENSORS_EXPONENT_0 (0x970) // Sel +#define HID_USAGE_SENSORS_EXPONENT_1 (0x971) // Sel +#define HID_USAGE_SENSORS_EXPONENT_2 (0x972) // Sel +#define HID_USAGE_SENSORS_EXPONENT_3 (0x973) // Sel +#define HID_USAGE_SENSORS_EXPONENT_4 (0x974) // Sel +#define HID_USAGE_SENSORS_EXPONENT_5 (0x975) // Sel +#define HID_USAGE_SENSORS_EXPONENT_6 (0x976) // Sel +#define HID_USAGE_SENSORS_EXPONENT_7 (0x977) // Sel +#define HID_USAGE_SENSORS_EXPONENT_8 (0x978) // Sel +#define HID_USAGE_SENSORS_EXPONENT_9 (0x979) // Sel +#define HID_USAGE_SENSORS_EXPONENT_A (0x97A) // Sel +#define HID_USAGE_SENSORS_EXPONENT_B (0x97B) // Sel +#define HID_USAGE_SENSORS_EXPONENT_C (0x97C) // Sel +#define HID_USAGE_SENSORS_EXPONENT_D (0x97D) // Sel +#define HID_USAGE_SENSORS_EXPONENT_E (0x97E) // Sel +#define HID_USAGE_SENSORS_EXPONENT_F (0x97F) // Sel +#define HID_USAGE_SENSORS_DEVICE_POSITION_UNKNOWN (0x980) // Sel +#define HID_USAGE_SENSORS_DEVICE_POSITION_UNCHANGED (0x981) // Sel +#define HID_USAGE_SENSORS_DEVICE_POSITION_ON_DESK (0x982) // Sel +#define HID_USAGE_SENSORS_DEVICE_POSITION_IN_HAND (0x983) // Sel +#define HID_USAGE_SENSORS_DEVICE_POSITION_MOVING_IN_BAG (0x984) // Sel +#define HID_USAGE_SENSORS_DEVICE_POSITION_STATIONARY_IN_BAG (0x985) // Sel +#define HID_USAGE_SENSORS_STEP_TYPE_UNKNOWN (0x990) // Sel +#define HID_USAGE_SENSORS_STEP_TYPE_RUNNING (0x991) // Sel +#define HID_USAGE_SENSORS_STEP_TYPE_WALKING (0x992) // Sel +#define HID_USAGE_SENSORS_GESTURE_STATE_UNKNOWN (0x9A0) // Sel +#define HID_USAGE_SENSORS_GESTURE_STATE_STARTED (0x9A1) // Sel +#define HID_USAGE_SENSORS_GESTURE_STATE_COMPLETED (0x9A2) // Sel +#define HID_USAGE_SENSORS_GESTURE_STATE_CANCELLED (0x9A3) // Sel +#define HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_UNKNOWN (0x9B0) // Sel +#define HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_PANEL_1 (0x9B1) // Sel +#define HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_PANEL_2 (0x9B2) // Sel +#define HID_USAGE_SENSORS_HINGE_FOLD_CONTRIBUTING_PANEL_BOTH (0x9B3) // Sel +#define HID_USAGE_SENSORS_HINGE_FOLD_TYPE_UNKNOWN (0x9B4) // Sel +#define HID_USAGE_SENSORS_HINGE_FOLD_TYPE_INCREASING (0x9B5) // Sel +#define HID_USAGE_SENSORS_HINGE_FOLD_TYPE_DECREASING (0x9B6) // Sel +#define HID_USAGE_SENSORS_MODIFIER_CHANGE_SENSITIVITY_ABSOLUTE (0x1000) // US +#define HID_USAGE_SENSORS_MODIFIER_MAXIMUM (0x2000) // US +#define HID_USAGE_SENSORS_MODIFIER_MINIMUM (0x3000) // US +#define HID_USAGE_SENSORS_MODIFIER_ACCURACY (0x4000) // US +#define HID_USAGE_SENSORS_MODIFIER_RESOLUTION (0x5000) // US +#define HID_USAGE_SENSORS_MODIFIER_THRESHOLD_HIGH (0x6000) // US +#define HID_USAGE_SENSORS_MODIFIER_THRESHOLD_LOW (0x7000) // US +#define HID_USAGE_SENSORS_MODIFIER_CALIBRATION_OFFSET (0x8000) // US +#define HID_USAGE_SENSORS_MODIFIER_CALIBRATION_MULTIPLIER (0x9000) // US +#define HID_USAGE_SENSORS_MODIFIER_REPORT_INTERVAL (0xA000) // US +#define HID_USAGE_SENSORS_MODIFIER_FREQUENCY_MAX (0xB000) // US +#define HID_USAGE_SENSORS_MODIFIER_PERIOD_MAX (0xC000) // US +#define HID_USAGE_SENSORS_MODIFIER_CHANGE_SENSITIVITY_PERCENT_OF_RANGE (0xD000) // US +#define HID_USAGE_SENSORS_MODIFIER_CHANGE_SENSITIVITY_PERCENT_RELATIVE (0xE000) // US + +/* Page 0x40: Medical Instrument */ +#define HID_USAGE_MEDICAL_UNDEFINED (0x00) +#define HID_USAGE_MEDICAL_MEDICAL_ULTRASOUND (0x01) // CA +#define HID_USAGE_MEDICAL_VCR_ACQUISITION (0x20) // OOC +#define HID_USAGE_MEDICAL_FREEZE_THAW (0x21) // OOC +#define HID_USAGE_MEDICAL_CLIP_STORE (0x22) // OSC +#define HID_USAGE_MEDICAL_UPDATE (0x23) // OSC +#define HID_USAGE_MEDICAL_NEXT (0x24) // OSC +#define HID_USAGE_MEDICAL_SAVE (0x25) // OSC +#define HID_USAGE_MEDICAL_PRINT (0x26) // OSC +#define HID_USAGE_MEDICAL_MICROPHONE_ENABLE (0x27) // OSC +#define HID_USAGE_MEDICAL_CINE (0x40) // LC +#define HID_USAGE_MEDICAL_TRANSMIT_POWER (0x41) // LC +#define HID_USAGE_MEDICAL_VOLUME (0x42) // LC +#define HID_USAGE_MEDICAL_FOCUS (0x43) // LC +#define HID_USAGE_MEDICAL_DEPTH (0x44) // LC +#define HID_USAGE_MEDICAL_SOFT_STEP_MINUS_PRIMARY (0x60) // LC +#define HID_USAGE_MEDICAL_SOFT_STEP_MINUS_SECONDARY (0x61) // LC +#define HID_USAGE_MEDICAL_DEPTH_GAIN_COMPENSATION (0x70) // LC +#define HID_USAGE_MEDICAL_ZOOM_SELECT (0x80) // OSC +#define HID_USAGE_MEDICAL_ZOOM_ADJUST (0x81) // LC +#define HID_USAGE_MEDICAL_SPECTRAL_DOPPLER_MODE_SELECT (0x82) // OSC +#define HID_USAGE_MEDICAL_SPECTRAL_DOPPLER_ADJUST (0x83) // LC +#define HID_USAGE_MEDICAL_COLOR_DOPPLER_MODE_SELECT (0x84) // OSC +#define HID_USAGE_MEDICAL_COLOR_DOPPLER_ADJUST (0x85) // LC +#define HID_USAGE_MEDICAL_MOTION_MODE_SELECT (0x86) // OSC +#define HID_USAGE_MEDICAL_MOTION_MODE_ADJUST (0x87) // LC +#define HID_USAGE_MEDICAL_2_D_MODE_SELECT (0x88) // OSC +#define HID_USAGE_MEDICAL_2_D_MODE_ADJUST (0x89) // LC +#define HID_USAGE_MEDICAL_SOFT_CONTROL_SELECT (0xA0) // OSC +#define HID_USAGE_MEDICAL_SOFT_CONTROL_ADJUST (0xA1) // LC + +/* Page 0x41: Braille Display */ +#define HID_USAGE_BRAILLE_UNDEFINED (0x00) +#define HID_USAGE_BRAILLE_BRAILLE_DISPLAY (0x01) // CA +#define HID_USAGE_BRAILLE_BRAILLE_ROW (0x02) // NAry +#define HID_USAGE_BRAILLE_8_DOT_BRAILLE_CELL (0x03) // DV +#define HID_USAGE_BRAILLE_6_DOT_BRAILLE_CELL (0x04) // DV +#define HID_USAGE_BRAILLE_NUMBER_OF_BRAILLE_CELLS (0x05) // DV +#define HID_USAGE_BRAILLE_SCREEN_READER_CONTROL (0x06) // NAry +#define HID_USAGE_BRAILLE_SCREEN_READER_IDENTIFIER (0x07) // DV +#define HID_USAGE_BRAILLE_ROUTER_SET_1 (0xFA) // NAry +#define HID_USAGE_BRAILLE_ROUTER_SET_2 (0xFB) // NAry +#define HID_USAGE_BRAILLE_ROUTER_SET_3 (0xFC) // Nary +#define HID_USAGE_BRAILLE_ROUTER_KEY (0x100) // Sel +#define HID_USAGE_BRAILLE_ROW_ROUTER_KEY (0x101) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_BUTTONS (0x200) // NAry +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_1 (0x201) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_2 (0x202) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_3 (0x203) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_4 (0x204) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_5 (0x205) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_6 (0x206) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_7 (0x207) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_DOT_8 (0x208) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_SPACE (0x209) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_LEFT_SPACE (0x20A) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_KEYBOARD_RIGHT_SPACE (0x20B) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_FACE_CONTROLS (0x20C) // NAry +#define HID_USAGE_BRAILLE_BRAILLE_LEFT_CONTROLS (0x20D) // NAry +#define HID_USAGE_BRAILLE_BRAILLE_RIGHT_CONTROLS (0x20E) // NAry +#define HID_USAGE_BRAILLE_BRAILLE_TOP_CONTROLS (0x20F) // NAry +#define HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_CENTER (0x210) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_UP (0x211) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_DOWN (0x212) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_LEFT (0x213) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_JOYSTICK_RIGHT (0x214) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_D_PAD_CENTER (0x215) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_D_PAD_UP (0x216) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_D_PAD_DOWN (0x217) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_D_PAD_LEFT (0x218) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_D_PAD_RIGHT (0x219) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_PAN_LEFT (0x21A) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_PAN_RIGHT (0x21B) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_ROCKER_UP (0x21C) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_ROCKER_DOWN (0x21D) // Sel +#define HID_USAGE_BRAILLE_BRAILLE_ROCKER_PRESS (0x21E) // Sel + +/* Page 0x59: Lighting And Illumination */ +#define HID_USAGE_LIGHT_UNDEFINED (0x00) +#define HID_USAGE_LIGHT_LAMP_ARRAY (0x01) // CA +#define HID_USAGE_LIGHT_LAMP_ARRAY_ATTRIBUTES_REPORT (0x02) // CL +#define HID_USAGE_LIGHT_LAMP_COUNT (0x03) // SV, DV +#define HID_USAGE_LIGHT_BOUNDING_BOX_WIDTH_IN_MICROMETERS (0x04) // SV +#define HID_USAGE_LIGHT_BOUNDING_BOX_HEIGHT_IN_MICROMETERS (0x05) // SV +#define HID_USAGE_LIGHT_BOUNDING_BOX_DEPTH_IN_MICROMETERS (0x06) // SV +#define HID_USAGE_LIGHT_LAMP_ARRAY_KIND (0x07) // SV +#define HID_USAGE_LIGHT_MIN_UPDATE_INTERVAL_IN_MICROSECONDS (0x08) // SV +#define HID_USAGE_LIGHT_LAMP_ATTRIBUTES_REQUEST_REPORT (0x20) // CL +#define HID_USAGE_LIGHT_LAMP_ID (0x21) // SV, DV +#define HID_USAGE_LIGHT_LAMP_ATTRIBUTES_RESPONSE_REPORT (0x22) // CL +#define HID_USAGE_LIGHT_POSITION_X_IN_MICROMETERS (0x23) // DV +#define HID_USAGE_LIGHT_POSITION_Y_IN_MICROMETERS (0x24) // DV +#define HID_USAGE_LIGHT_POSITION_Z_IN_MICROMETERS (0x25) // DV +#define HID_USAGE_LIGHT_LAMP_PURPOSES (0x26) // DV +#define HID_USAGE_LIGHT_UPDATE_LATENCY_IN_MICROSECONDS (0x27) // DV +#define HID_USAGE_LIGHT_RED_LEVEL_COUNT (0x28) // DV +#define HID_USAGE_LIGHT_GREEN_LEVEL_COUNT (0x29) // DV +#define HID_USAGE_LIGHT_BLUE_LEVEL_COUNT (0x2A) // DV +#define HID_USAGE_LIGHT_INTENSITY_LEVEL_COUNT (0x2B) // DV +#define HID_USAGE_LIGHT_IS_PROGRAMMABLE (0x2C) // DV +#define HID_USAGE_LIGHT_INPUT_BINDING (0x2D) // DV +#define HID_USAGE_LIGHT_LAMP_MULTI_UPDATE_REPORT (0x50) // CL +#define HID_USAGE_LIGHT_RED_UPDATE_CHANNEL (0x51) // DV +#define HID_USAGE_LIGHT_GREEN_UPDATE_CHANNEL (0x52) // DV +#define HID_USAGE_LIGHT_BLUE_UPDATE_CHANNEL (0x53) // DV +#define HID_USAGE_LIGHT_INTENSITY_UPDATE_CHANNEL (0x54) // DV +#define HID_USAGE_LIGHT_LAMP_UPDATE_FLAGS (0x55) // DV +#define HID_USAGE_LIGHT_LAMP_RANGE_UPDATE_REPORT (0x60) // CL +#define HID_USAGE_LIGHT_LAMP_ID_START (0x61) // DV +#define HID_USAGE_LIGHT_LAMP_ID_END (0x62) // DV +#define HID_USAGE_LIGHT_LAMP_ARRAY_CONTROL_REPORT (0x70) // CL +#define HID_USAGE_LIGHT_AUTONOMOUS_MODE (0x71) // DV + +/* Page 0x80: USB Monitor */ +#define HID_USAGE_MONITOR_MONITOR_CONTROL (0x01) +#define HID_USAGE_MONITOR_EDID_INFORMATION (0x02) +#define HID_USAGE_MONITOR_VDIF_INFORMATION (0x03) +#define HID_USAGE_MONITOR_VESA_VERSION (0x04) + +/* Page 0x82: VESA Virtual Control */ +#define HID_USAGE_MONITOR_VESA_BRIGHTNESS (0x10) +#define HID_USAGE_MONITOR_VESA_CONTRAST (0x12) +#define HID_USAGE_MONITOR_VESA_RED_VIDEO_GAIN (0x16) +#define HID_USAGE_MONITOR_VESA_GREEN_VIDEO_GAIN (0x18) +#define HID_USAGE_MONITOR_VESA_BLUE_VIDEO_GAIN (0x1A) +#define HID_USAGE_MONITOR_VESA_FOCUS (0x1C) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_POSITION (0x20) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_SIZE (0x22) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_PINCUSHION (0x24) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_PINCUSHION_BALANCE (0x26) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_MISCONVERGENCE (0x28) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_LINEARITY (0x2A) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_LINEARITY_BALANCE (0x2C) +#define HID_USAGE_MONITOR_VESA_VERTICAL_POSITION (0x30) +#define HID_USAGE_MONITOR_VESA_VERTICAL_SIZE (0x32) +#define HID_USAGE_MONITOR_VESA_VERTICAL_PINCUSHION (0x34) +#define HID_USAGE_MONITOR_VESA_VERTICAL_PINCUSHION_BALANCE (0x36) +#define HID_USAGE_MONITOR_VESA_VERTICAL_MISCONVERGENCE (0x38) +#define HID_USAGE_MONITOR_VESA_VERTICAL_LINEARITY (0x3A) +#define HID_USAGE_MONITOR_VESA_VERTICAL_LINEARITY_BALANCE (0x3C) +#define HID_USAGE_MONITOR_VESA_PARALLELOGRAM_DISTORTION_KEY_BALANCE (0x40) +#define HID_USAGE_MONITOR_VESA_TRAPEZOIDAL_DISTORTION_KEY (0x42) +#define HID_USAGE_MONITOR_VESA_TILT_ROTATION (0x44) +#define HID_USAGE_MONITOR_VESA_TOP_CORNER_DISTORTION_CONTROL (0x46) +#define HID_USAGE_MONITOR_VESA_TOP_CORNER_DISTORTION_BALANCE (0x48) +#define HID_USAGE_MONITOR_VESA_BOTTOM_CORNER_DISTORTION_CONTROL (0x4A) +#define HID_USAGE_MONITOR_VESA_BOTTOM_CORNER_DISTORTION_BALANCE (0x4C) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_MOIR (0x56) +#define HID_USAGE_MONITOR_VESA_VERTICAL_MOIR (0x58) +#define HID_USAGE_MONITOR_VESA_RED_VIDEO_BLACK_LEVEL (0x6C) +#define HID_USAGE_MONITOR_VESA_GREEN_VIDEO_BLACK_LEVEL (0x6E) +#define HID_USAGE_MONITOR_VESA_BLUE_VIDEO_BLACK_LEVEL (0x70) +#define HID_USAGE_MONITOR_VESA_INPUT_LEVEL_SELECT (0x5E) +#define HID_USAGE_MONITOR_VESA_INPUT_SOURCE_SELECT (0x60) +#define HID_USAGE_MONITOR_VESA_ON_SCREEN_DISPLAY (0xCA) +#define HID_USAGE_MONITOR_VESA_STEREOMODE (0xD4) +#define HID_USAGE_MONITOR_VESA_AUTO_SIZE_CENTER (0xA2) +#define HID_USAGE_MONITOR_VESA_POLARITY_HORIZONTAL_SYNCHRONIZATION (0xA4) +#define HID_USAGE_MONITOR_VESA_POLARITY_VERTICAL_SYNCHRONIZATION (0xA6) +#define HID_USAGE_MONITOR_VESA_SYNCHRONIZATION_TYPE (0xA8) +#define HID_USAGE_MONITOR_VESA_SCREEN_ORIENTATION (0xAA) +#define HID_USAGE_MONITOR_VESA_HORIZONTAL_FREQUENCY (0xAC) +#define HID_USAGE_MONITOR_VESA_VERTICAL_FREQUENCY (0xAE) +#define HID_USAGE_MONITOR_VESA_DEGAUSS (0x01) +#define HID_USAGE_MONITOR_VESA_SETTINGS (0xB0) + +/* Page 0x8C: Bar Code Scanner */ +#define HID_USAGE_POS_BARCODE_UNDEFINED (0x00) +#define HID_USAGE_POS_BARCODE_BAR_CODE_BADGE_READER (0x01) // CA +#define HID_USAGE_POS_BARCODE_BAR_CODE_SCANNER (0x02) // CA +#define HID_USAGE_POS_BARCODE_DUMB_BAR_CODE_SCANNER (0x03) // CA +#define HID_USAGE_POS_BARCODE_CORDLESS_SCANNER_BASE (0x04) // CA +#define HID_USAGE_POS_BARCODE_BAR_CODE_SCANNER_CRADLE (0x05) // CA +#define HID_USAGE_POS_BARCODE_ATTRIBUTE_REPORT (0x10) // CL +#define HID_USAGE_POS_BARCODE_SETTINGS_REPORT (0x11) // CL +#define HID_USAGE_POS_BARCODE_SCANNED_DATA_REPORT (0x12) // CL +#define HID_USAGE_POS_BARCODE_RAW_SCANNED_DATA_REPORT (0x13) // CL +#define HID_USAGE_POS_BARCODE_TRIGGER_REPORT (0x14) // CL +#define HID_USAGE_POS_BARCODE_STATUS_REPORT (0x15) // CL +#define HID_USAGE_POS_BARCODE_UPC_EAN_CONTROL_REPORT (0x16) // CL +#define HID_USAGE_POS_BARCODE_EAN_2_3_LABEL_CONTROL_REPORT (0x17) // CL +#define HID_USAGE_POS_BARCODE_CODE_39_CONTROL_REPORT (0x18) // CL +#define HID_USAGE_POS_BARCODE_INTERLEAVED_2_OF_5_CONTROL_REPORT (0x19) // CL +#define HID_USAGE_POS_BARCODE_STANDARD_2_OF_5_CONTROL_REPORT (0x1A) // CL +#define HID_USAGE_POS_BARCODE_MSI_PLESSEY_CONTROL_REPORT (0x1B) // CL +#define HID_USAGE_POS_BARCODE_CODABAR_CONTROL_REPORT (0x1C) // CL +#define HID_USAGE_POS_BARCODE_CODE_128_CONTROL_REPORT (0x1D) // CL +#define HID_USAGE_POS_BARCODE_MISC_1D_CONTROL_REPORT (0x1E) // CL +#define HID_USAGE_POS_BARCODE_2D_CONTROL_REPORT (0x1F) // CL +#define HID_USAGE_POS_BARCODE_AIMING_POINTER_MODE (0x30) // SF +#define HID_USAGE_POS_BARCODE_BAR_CODE_PRESENT_SENSOR (0x31) // SF +#define HID_USAGE_POS_BARCODE_CLASS_1A_LASER (0x32) // SF +#define HID_USAGE_POS_BARCODE_CLASS_2_LASER (0x33) // SF +#define HID_USAGE_POS_BARCODE_HEATER_PRESENT (0x34) // SF +#define HID_USAGE_POS_BARCODE_CONTACT_SCANNER (0x35) // SF +#define HID_USAGE_POS_BARCODE_ELECTRONIC_ARTICLE_SURVEILLANCE_NOTIFICATION (0x36) // SF +#define HID_USAGE_POS_BARCODE_CONSTANT_ELECTRONIC_ARTICLE_SURVEILLANCE (0x37) // SF +#define HID_USAGE_POS_BARCODE_ERROR_INDICATION (0x38) // SF +#define HID_USAGE_POS_BARCODE_FIXED_BEEPER (0x39) // SF +#define HID_USAGE_POS_BARCODE_GOOD_DECODE_INDICATION (0x3A) // SF +#define HID_USAGE_POS_BARCODE_HANDS_FREE_SCANNING (0x3B) // SF +#define HID_USAGE_POS_BARCODE_INTRINSICALLY_SAFE (0x3C) // SF +#define HID_USAGE_POS_BARCODE_KLASSE_EINS_LASER (0x3D) // SF +#define HID_USAGE_POS_BARCODE_LONG_RANGE_SCANNER (0x3E) // SF +#define HID_USAGE_POS_BARCODE_MIRROR_SPEED_CONTROL (0x3F) // SF +#define HID_USAGE_POS_BARCODE_NOT_ON_FILE_INDICATION (0x40) // SF +#define HID_USAGE_POS_BARCODE_PROGRAMMABLE_BEEPER (0x41) // SF +#define HID_USAGE_POS_BARCODE_TRIGGERLESS (0x42) // SF +#define HID_USAGE_POS_BARCODE_WAND (0x43) // SF +#define HID_USAGE_POS_BARCODE_WATER_RESISTANT (0x44) // SF +#define HID_USAGE_POS_BARCODE_MULTI_RANGE_SCANNER (0x45) // SF +#define HID_USAGE_POS_BARCODE_PROXIMITY_SENSOR (0x46) // SF +#define HID_USAGE_POS_BARCODE_FRAGMENT_DECODING (0x4D) // DF +#define HID_USAGE_POS_BARCODE_SCANNER_READ_CONFIDENCE (0x4E) // DV +#define HID_USAGE_POS_BARCODE_DATA_PREFIX (0x4F) // NAry +#define HID_USAGE_POS_BARCODE_PREFIX_AIMI (0x50) // SEL +#define HID_USAGE_POS_BARCODE_PREFIX_NONE (0x51) // SEL +#define HID_USAGE_POS_BARCODE_PREFIX_PROPRIETARY (0x52) // SEL +#define HID_USAGE_POS_BARCODE_ACTIVE_TIME (0x55) // DV +#define HID_USAGE_POS_BARCODE_AIMING_LASER_PATTERN (0x56) // DF +#define HID_USAGE_POS_BARCODE_BAR_CODE_PRESENT (0x57) // OOC +#define HID_USAGE_POS_BARCODE_BEEPER_STATE (0x58) // OOC +#define HID_USAGE_POS_BARCODE_LASER_ON_TIME (0x59) // DV +#define HID_USAGE_POS_BARCODE_LASER_STATE (0x5A) // OOC +#define HID_USAGE_POS_BARCODE_LOCKOUT_TIME (0x5B) // DV +#define HID_USAGE_POS_BARCODE_MOTOR_STATE (0x5C) // OOC +#define HID_USAGE_POS_BARCODE_MOTOR_TIMEOUT (0x5D) // DV +#define HID_USAGE_POS_BARCODE_POWER_ON_RESET_SCANNER (0x5E) // DF +#define HID_USAGE_POS_BARCODE_PREVENT_READ_OF_BARCODES (0x5F) // DF +#define HID_USAGE_POS_BARCODE_INITIATE_BARCODE_READ (0x60) // DF +#define HID_USAGE_POS_BARCODE_TRIGGER_STATE (0x61) // OOC +#define HID_USAGE_POS_BARCODE_TRIGGER_MODE (0x62) // NAry +#define HID_USAGE_POS_BARCODE_TRIGGER_MODE_BLINKING_LASER_ON (0x63) // SEL +#define HID_USAGE_POS_BARCODE_TRIGGER_MODE_CONTINUOUS_LASER_ON (0x64) // SEL +#define HID_USAGE_POS_BARCODE_TRIGGER_MODE_LASER_ON_WHILE_PULLED (0x65) // SEL +#define HID_USAGE_POS_BARCODE_TRIGGER_MODE_LASER_STAYS_ON_AFTER_TRIGGER_RELEASE (0x66) // SEL +#define HID_USAGE_POS_BARCODE_COMMIT_PARAMETERS_TO_NVM (0x6D) // DF +#define HID_USAGE_POS_BARCODE_PARAMETER_SCANNING (0x6E) // DF +#define HID_USAGE_POS_BARCODE_PARAMETERS_CHANGED (0x6F) // OOC +#define HID_USAGE_POS_BARCODE_SET_PARAMETER_DEFAULT_VALUES (0x70) // DF +#define HID_USAGE_POS_BARCODE_SCANNER_IN_CRADLE (0x75) // OOC +#define HID_USAGE_POS_BARCODE_SCANNER_IN_RANGE (0x76) // OOC +#define HID_USAGE_POS_BARCODE_AIM_DURATION (0x7A) // DV +#define HID_USAGE_POS_BARCODE_GOOD_READ_LAMP_DURATION (0x7B) // DV +#define HID_USAGE_POS_BARCODE_GOOD_READ_LAMP_INTENSITY (0x7C) // DV +#define HID_USAGE_POS_BARCODE_GOOD_READ_LED (0x7D) // DF +#define HID_USAGE_POS_BARCODE_GOOD_READ_TONE_FREQUENCY (0x7E) // DV +#define HID_USAGE_POS_BARCODE_GOOD_READ_TONE_LENGTH (0x7F) // DV +#define HID_USAGE_POS_BARCODE_GOOD_READ_TONE_VOLUME (0x80) // DV +#define HID_USAGE_POS_BARCODE_NO_READ_MESSAGE (0x82) // DF +#define HID_USAGE_POS_BARCODE_NOT_ON_FILE_VOLUME (0x83) // DV +#define HID_USAGE_POS_BARCODE_POWERUP_BEEP (0x84) // DF +#define HID_USAGE_POS_BARCODE_SOUND_ERROR_BEEP (0x85) // DF +#define HID_USAGE_POS_BARCODE_SOUND_GOOD_READ_BEEP (0x86) // DF +#define HID_USAGE_POS_BARCODE_SOUND_NOT_ON_FILE_BEEP (0x87) // DF +#define HID_USAGE_POS_BARCODE_GOOD_READ_WHEN_TO_WRITE (0x88) // NAry +#define HID_USAGE_POS_BARCODE_GRWTI_AFTER_DECODE (0x89) // SEL +#define HID_USAGE_POS_BARCODE_GRWTI_BEEP_LAMP_AFTER_TRANSMIT (0x8A) // SEL +#define HID_USAGE_POS_BARCODE_GRWTI_NO_BEEP_LAMP_USE_AT_ALL (0x8B) // SEL +#define HID_USAGE_POS_BARCODE_BOOKLAND_EAN (0x91) // DF +#define HID_USAGE_POS_BARCODE_CONVERT_EAN_8_TO_13_TYPE (0x92) // DF +#define HID_USAGE_POS_BARCODE_CONVERT_UPC_A_TO_EAN_13 (0x93) // DF +#define HID_USAGE_POS_BARCODE_CONVERT_UPC_E_TO_A (0x94) // DF +#define HID_USAGE_POS_BARCODE_EAN_13 (0x95) // DF +#define HID_USAGE_POS_BARCODE_EAN_8 (0x96) // DF +#define HID_USAGE_POS_BARCODE_EAN_99_128_MANDATORY (0x97) // DF +#define HID_USAGE_POS_BARCODE_EAN_99_P5_128_OPTIONAL (0x98) // DF +#define HID_USAGE_POS_BARCODE_UPC_EAN (0x9A) // DF +#define HID_USAGE_POS_BARCODE_UPC_EAN_COUPON_CODE (0x9B) // DF +#define HID_USAGE_POS_BARCODE_UPC_EAN_PERIODICALS (0x9C) // DV +#define HID_USAGE_POS_BARCODE_UPC_A (0x9D) // DF +#define HID_USAGE_POS_BARCODE_UPC_A_WITH_128_MANDATORY (0x9E) // DF +#define HID_USAGE_POS_BARCODE_UPC_A_WITH_128_OPTIONAL (0x9F) // DF +#define HID_USAGE_POS_BARCODE_UPC_A_WITH_P5_OPTIONAL (0xA0) // DF +#define HID_USAGE_POS_BARCODE_UPC_E (0xA1) // DF +#define HID_USAGE_POS_BARCODE_UPC_E1 (0xA2) // DF +#define HID_USAGE_POS_BARCODE_PERIODICAL (0xA9) // NAry +#define HID_USAGE_POS_BARCODE_PERIODICAL_AUTO_DISCRIMINATE_PLUS_2 (0xAA) // SEL +#define HID_USAGE_POS_BARCODE_PERIODICAL_ONLY_DECODE_WITH_PLUS_2 (0xAB) // SEL +#define HID_USAGE_POS_BARCODE_PERIODICAL_IGNORE_PLUS_2 (0xAC) // SEL +#define HID_USAGE_POS_BARCODE_PERIODICAL_AUTO_DISCRIMINATE_PLUS_5 (0xAD) // SEL +#define HID_USAGE_POS_BARCODE_PERIODICAL_ONLY_DECODE_WITH_PLUS_5 (0xAE) // SEL +#define HID_USAGE_POS_BARCODE_PERIODICAL_IGNORE_PLUS_5 (0xAF) // SEL +#define HID_USAGE_POS_BARCODE_CHECK (0xB0) // NAry +#define HID_USAGE_POS_BARCODE_CHECK_DISABLE_PRICE (0xB1) // SEL +#define HID_USAGE_POS_BARCODE_CHECK_ENABLE_4_DIGIT_PRICE (0xB2) // SEL +#define HID_USAGE_POS_BARCODE_CHECK_ENABLE_5_DIGIT_PRICE (0xB3) // SEL +#define HID_USAGE_POS_BARCODE_CHECK_ENABLE_EUROPEAN_4_DIGIT_PRICE (0xB4) // SEL +#define HID_USAGE_POS_BARCODE_CHECK_ENABLE_EUROPEAN_5_DIGIT_PRICE (0xB5) // SEL +#define HID_USAGE_POS_BARCODE_EAN_TWO_LABEL (0xB7) // DF +#define HID_USAGE_POS_BARCODE_EAN_THREE_LABEL (0xB8) // DF +#define HID_USAGE_POS_BARCODE_EAN_8_FLAG_DIGIT_1 (0xB9) // DV +#define HID_USAGE_POS_BARCODE_EAN_8_FLAG_DIGIT_2 (0xBA) // DV +#define HID_USAGE_POS_BARCODE_EAN_8_FLAG_DIGIT_3 (0xBB) // DV +#define HID_USAGE_POS_BARCODE_EAN_13_FLAG_DIGIT_1 (0xBC) // DV +#define HID_USAGE_POS_BARCODE_EAN_13_FLAG_DIGIT_2 (0xBD) // DV +#define HID_USAGE_POS_BARCODE_TRANSMIT_CHECK_DIGIT (0xF0) // NAry +#define HID_USAGE_POS_BARCODE_DISABLE_CHECK_DIGIT_TRANSMIT (0xF1) // SEL +#define HID_USAGE_POS_BARCODE_ENABLE_CHECK_DIGIT_TRANSMIT (0xF2) // SEL +#define HID_USAGE_POS_BARCODE_SYMBOLOGY_IDENTIFIER_1 (0xFB) // DV +#define HID_USAGE_POS_BARCODE_SYMBOLOGY_IDENTIFIER_2 (0xFC) // DV +#define HID_USAGE_POS_BARCODE_SYMBOLOGY_IDENTIFIER_3 (0xFD) // DV +#define HID_USAGE_POS_BARCODE_DECODED_DATA (0xFE) // DV +#define HID_USAGE_POS_BARCODE_DECODE_DATA_CONTINUED (0xFF) // DF +#define HID_USAGE_POS_BARCODE_BAR_SPACE_DATA (0x100) // DV +#define HID_USAGE_POS_BARCODE_SCANNER_DATA_ACCURACY (0x101) // DV +#define HID_USAGE_POS_BARCODE_RAW_DATA_POLARITY (0x102) // NAry +#define HID_USAGE_POS_BARCODE_POLARITY_INVERTED_BAR_CODE (0x103) // SEL +#define HID_USAGE_POS_BARCODE_POLARITY_NORMAL_BAR_CODE (0x104) // SEL +#define HID_USAGE_POS_BARCODE_MINIMUM_LENGTH_TO_DECODE (0x106) // DV +#define HID_USAGE_POS_BARCODE_MAXIMUM_LENGTH_TO_DECODE (0x107) // DV +#define HID_USAGE_POS_BARCODE_FIRST_DISCRETE_LENGTH_TO_DECODE (0x108) // DV +#define HID_USAGE_POS_BARCODE_SECOND_DISCRETE_LENGTH_TO_DECODE (0x109) // DV +#define HID_USAGE_POS_BARCODE_DATA_LENGTH_METHOD (0x10A) // NAry +#define HID_USAGE_POS_BARCODE_DL_METHOD_READ_ANY (0x10B) // SEL +#define HID_USAGE_POS_BARCODE_DL_METHOD_CHECK_IN_RANGE (0x10C) // SEL +#define HID_USAGE_POS_BARCODE_DL_METHOD_CHECK_FOR_DISCRETE (0x10D) // SEL +#define HID_USAGE_POS_BARCODE_AZTEC_CODE (0x110) // DF +#define HID_USAGE_POS_BARCODE_BC412 (0x111) // DF +#define HID_USAGE_POS_BARCODE_CHANNEL_CODE (0x112) // DF +#define HID_USAGE_POS_BARCODE_CODE_16 (0x113) // DF +#define HID_USAGE_POS_BARCODE_CODE_32 (0x114) // DF +#define HID_USAGE_POS_BARCODE_CODE_49 (0x115) // DF +#define HID_USAGE_POS_BARCODE_CODE_ONE (0x116) // DF +#define HID_USAGE_POS_BARCODE_COLORCODE (0x117) // DF +#define HID_USAGE_POS_BARCODE_DATA_MATRIX (0x118) // DF +#define HID_USAGE_POS_BARCODE_MAXICODE (0x119) // DF +#define HID_USAGE_POS_BARCODE_MICROPDF (0x11A) // DF +#define HID_USAGE_POS_BARCODE_PDF_417 (0x11B) // DF +#define HID_USAGE_POS_BARCODE_POSICODE (0x11C) // DF +#define HID_USAGE_POS_BARCODE_QR_CODE (0x11D) // DF +#define HID_USAGE_POS_BARCODE_SUPERCODE (0x11E) // DF +#define HID_USAGE_POS_BARCODE_ULTRACODE (0x11F) // DF +#define HID_USAGE_POS_BARCODE_USD_5_SLUG_CODE (0x120) // DF +#define HID_USAGE_POS_BARCODE_VERICODE (0x121) // DF + +/* Page 0x8D: Scale */ +#define HID_USAGE_POS_SCALE_UNDEFINED (0x00) +#define HID_USAGE_POS_SCALE_WEIGHING_DEVICE (0x01) // CA +#define HID_USAGE_POS_SCALE_SCALE_DEVICE (0x20) // CL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_I_METRIC (0x21) // CL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_I_METRIC_2 (0x22) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_II_METRIC (0x23) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_III_METRIC (0x24) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_IIIL_METRIC (0x25) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_IV_METRIC (0x26) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_III_ENGLISH (0x27) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_IIIL_ENGLISH (0x28) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_IV_ENGLISH (0x29) // SEL +#define HID_USAGE_POS_SCALE_SCALE_CLASS_GENERIC (0x2A) // SEL +#define HID_USAGE_POS_SCALE_SCALE_ATTRIBUTE_REPORT (0x30) // CL +#define HID_USAGE_POS_SCALE_SCALE_CONTROL_REPORT (0x31) // CL +#define HID_USAGE_POS_SCALE_SCALE_DATA_REPORT (0x32) // CL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_REPORT (0x33) // CL +#define HID_USAGE_POS_SCALE_SCALE_WEIGHT_LIMIT_REPORT (0x34) // CL +#define HID_USAGE_POS_SCALE_SCALE_STATISTICS_REPORT (0x35) // CL +#define HID_USAGE_POS_SCALE_DATA_WEIGHT (0x40) // DV +#define HID_USAGE_POS_SCALE_DATA_SCALING (0x41) // CV +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT (0x50) // CL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_MILLIGRAM (0x51) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_GRAM (0x52) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_KILOGRAM (0x53) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_CARATS (0x54) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_TAELS (0x55) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_GRAINS (0x56) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_PENNYWEIGHTS (0x57) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_METRIC_TON (0x58) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_AVOIR_TON (0x59) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_TROY_OUNCE (0x5A) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_OUNCE (0x5B) // SEL +#define HID_USAGE_POS_SCALE_WEIGHT_UNIT_POUND (0x5C) // SEL +#define HID_USAGE_POS_SCALE_CALIBRATION_COUNT (0x60) // DV +#define HID_USAGE_POS_SCALE_RE_ZERO_COUNT (0x61) // DV +#define HID_USAGE_POS_SCALE_SCALE_STATUS (0x70) // CL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_FAULT (0x71) // SEL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_STABLE_AT_CENTER_OF_ZERO (0x72) // SEL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_IN_MOTION (0x73) // SEL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_WEIGHT_STABLE (0x74) // SEL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_UNDER_ZERO (0x75) // SEL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_OVER_WEIGHT_LIMIT (0x76) // SEL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_REQUIRES_CALIBRATION (0x77) // SEL +#define HID_USAGE_POS_SCALE_SCALE_STATUS_REQUIRES_RE_ZEROING (0x78) // SEL +#define HID_USAGE_POS_SCALE_ZERO_SCALE (0x80) // OOC +#define HID_USAGE_POS_SCALE_ENFORCED_ZERO_RETURN (0x81) // OOC + +/* Page 0x8E: Magnetic Stripe Reading (MSR) Devices */ +#define HID_USAGE_POS_MSR_UNDEFINED (0x00) +#define HID_USAGE_POS_MSR_MSR_DEVICE_READ_ONLY (0x01) // CA +#define HID_USAGE_POS_MSR_TRACK_1_LENGTH (0x11) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_2_LENGTH (0x12) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_3_LENGTH (0x13) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_JIS_LENGTH (0x14) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_DATA (0x20) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_1_DATA (0x21) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_2_DATA (0x22) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_3_DATA (0x23) // SF, DF, SEL +#define HID_USAGE_POS_MSR_TRACK_JIS_DATA (0x24) // SF, DF, SEL + +/* Page 0x90: Camera Control */ +#define HID_USAGE_CAMERA_UNDEFINED (0x00) +#define HID_USAGE_CAMERA_CAMERA_AUTO_FOCUS (0x20) // OSC +#define HID_USAGE_CAMERA_CAMERA_SHUTTER (0x21) // OSC + +/* Page 0xF1D0: FIDO Alliance */ +#define HID_USAGE_FIDO_UNDEFINED (0x00) +#define HID_USAGE_FIDO_U2F_AUTHENTICATOR_DEVICE (0x01) // CA +#define HID_USAGE_FIDO_INPUT_REPORT_DATA (0x20) // DV +#define HID_USAGE_FIDO_OUTPUT_REPORT_DATA (0x21) // DV \ No newline at end of file diff --git a/app/include/dt-bindings/zmk/hid_usage_pages.h b/app/include/dt-bindings/zmk/hid_usage_pages.h new file mode 100644 index 00000000..a551087d --- /dev/null +++ b/app/include/dt-bindings/zmk/hid_usage_pages.h @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + * + * Based on HID Usage Tables 1.21, + * Copyright © 1996-2020, USB Implementers Forum, + * https://www.usb.org/sites/default/files/hut1_21.pdf + */ + +#pragma once + +#define HID_USAGE_GD (0x01) // Generic Desktop +#define HID_USAGE_SIM (0x02) // Simulation Controls +#define HID_USAGE_VR (0x03) // VR Controls +#define HID_USAGE_SPORT (0x04) // Sport Controls +#define HID_USAGE_GAME (0x05) // Game Controls +#define HID_USAGE_GDV (0x06) // Generic Device Controls +#define HID_USAGE_KEY (0x07) // Keyboard/Keypad +#define HID_USAGE_LED (0x08) // LED +#define HID_USAGE_TELEPHONY (0x0B) // Telephony Device +#define HID_USAGE_CONSUMER (0x0C) // Consumer +#define HID_USAGE_DIGITIZERS (0x0D) // Digitizers +#define HID_USAGE_HAPTICS (0x0E) // Haptics +#define HID_USAGE_PID (0x0F) // PID +#define HID_USAGE_EHT (0x12) // Eye and Head Trackers +#define HID_USAGE_AUXDISP (0x14) // Auxiliary Display +#define HID_USAGE_SENSORS (0x20) // Sensors +#define HID_USAGE_MEDICAL (0x40) // Medical Instrument +#define HID_USAGE_BRAILLE (0x41) // Braille Display +#define HID_USAGE_LIGHT (0x59) // Lighting And Illumination +#define HID_USAGE_MONITOR (0x80) // USB Monitor +#define HID_USAGE_MONITOR_VALUES (0x81) // Monitor Enumerated Values +#define HID_USAGE_MONITOR_VESA (0x82) // VESA Virtual Control +#define HID_USAGE_POWER (0x84) // Power +#define HID_USAGE_POS_BARCODE (0x8C) // Bar Code Scanner +#define HID_USAGE_POS_SCALE (0x8D) // Scale +#define HID_USAGE_POS_MSR (0x8E) // Magnetic Stripe Reading (MSR) Devices +#define HID_USAGE_POS_RESV (0x8F) // Reserved Point of Sale +#define HID_USAGE_CAMERA (0x90) // Camera Control +#define HID_USAGE_ARCADE (0x91) // Arcade +#define HID_USAGE_GAMING (0x92) // Gaming Device +#define HID_USAGE_FIDO (0xF1D0) // FIDO Alliance \ No newline at end of file