/*! \file usbh_hid_core.h \brief header file for the usbh_hid_core.c \version 2020-08-01, V3.0.0, firmware for GD32F30x */ /* Copyright (c) 2020, GigaDevice Semiconductor Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef __USDH_HID_USAGE_H #define __USDH_HID_USAGE_H /* HID 1.11 usage pages */ #define HID_USAGE_PAGE_UNDEFINED uint16_t (0x00) /* Undefined */ /* top level pages */ #define HID_USAGE_PAGE_GEN_DES uint16_t (0x01) /* Generic Desktop Controls*/ #define HID_USAGE_PAGE_SIM_CTR uint16_t (0x02) /* Simulation Controls */ #define HID_USAGE_PAGE_VR_CTR uint16_t (0x03) /* VR Controls */ #define HID_USAGE_PAGE_SPORT_CTR uint16_t (0x04) /* Sport Controls */ #define HID_USAGE_PAGE_GAME_CTR uint16_t (0x05) /* Game Controls */ #define HID_USAGE_PAGE_GEN_DEV uint16_t (0x06) /* Generic Device Controls */ #define HID_USAGE_PAGE_KEYB uint16_t (0x07) /* Keyboard/Keypad */ #define HID_USAGE_PAGE_LED uint16_t (0x08) /* LEDs */ #define HID_USAGE_PAGE_BUTTON uint16_t (0x09) /* Button */ #define HID_USAGE_PAGE_ORDINAL uint16_t (0x0A) /* Ordinal */ #define HID_USAGE_PAGE_PHONE uint16_t (0x0B) /* Telephony */ #define HID_USAGE_PAGE_CONSUMER uint16_t (0x0C) /* Consumer */ #define HID_USAGE_PAGE_DIGITIZER uint16_t (0x0D) /* Digitizer*/ #define HID_USAGE_PAGE_PID uint16_t (0x0F) /* PID Page (force feedback and related devices) */ #define HID_USAGE_PAGE_UNICODE uint16_t (0x10) /* Unicode */ #define HID_USAGE_PAGE_ALNUM_DISP uint16_t (0x14) /* Alphanumeric Display */ /* end of top level pages */ #define HID_USAGE_PAGE_MEDICAL uint16_t (0x40) /* Medical Instruments */ /* 80-83 Monitor pages USB Device Class Definition for Monitor Devices */ /* 84-87 Power pages USB Device Class Definition for Power Devices */ #define HID_USAGE_PAGE_BARCODE uint16_t (0x8C) /* Bar Code Scanner page */ #define HID_USAGE_PAGE_SCALE uint16_t (0x8D) /* Scale page */ #define HID_USAGE_PAGE_MSR uint16_t (0x8E) /* Magnetic Stripe Reading (MSR) Devices */ #define HID_USAGE_PAGE_POS uint16_t (0x8F) /* Reserved Point of Sale pages */ #define HID_USAGE_PAGE_CAMERA_CTR uint16_t (0x90) /* Camera Control Page */ #define HID_USAGE_PAGE_ARCADE uint16_t (0x91) /* Arcade Page */ /* usage definitions for the "generic desktop" page */ #define HID_USAGE_UNDEFINED uint16_t (0x00) /* Undefined */ #define HID_USAGE_POINTER uint16_t (0x01) /* Pointer (Physical Collection) */ #define HID_USAGE_MOUSE uint16_t (0x02) /* Mouse (Application Collection) */ #define HID_USAGE_JOYSTICK uint16_t (0x04) /* Joystick (Application Collection) */ #define HID_USAGE_GAMEPAD uint16_t (0x05) /* Game Pad (Application Collection) */ #define HID_USAGE_KBD uint16_t (0x06) /* Keyboard (Application Collection) */ #define HID_USAGE_KEYPAD uint16_t (0x07) /* Keypad (Application Collection) */ #define HID_USAGE_MAX_CTR uint16_t (0x08) /* Multi-axis Controller (Application Collection) */ #define HID_USAGE_X uint16_t (0x30) /* X (Dynamic Value) */ #define HID_USAGE_Y uint16_t (0x31) /* Y (Dynamic Value) */ #define HID_USAGE_Z uint16_t (0x32) /* Z (Dynamic Value) */ #define HID_USAGE_RX uint16_t (0x33) /* Rx (Dynamic Value) */ #define HID_USAGE_RY uint16_t (0x34) /* Ry (Dynamic Value) */ #define HID_USAGE_RZ uint16_t (0x35) /* Rz (Dynamic Value) */ #define HID_USAGE_SLIDER uint16_t (0x36) /* Slider (Dynamic Value) */ #define HID_USAGE_DIAL uint16_t (0x37) /* Dial (Dynamic Value) */ #define HID_USAGE_WHEEL uint16_t (0x38) /* Wheel (Dynamic Value) */ #define HID_USAGE_HATSW uint16_t (0x39) /* Hat switch (Dynamic Value) */ #define HID_USAGE_COUNTEDBUF uint16_t (0x3A) /* Counted Buffer (Logical Collection) */ #define HID_USAGE_BYTECOUNT uint16_t (0x3B) /* Byte Count (Dynamic Value) */ #define HID_USAGE_MOTIONWAKE uint16_t (0x3C) /* Motion Wakeup (One Shot Control) */ #define HID_USAGE_START uint16_t (0x3D) /* Start (On/Off Control) */ #define HID_USAGE_SELECT uint16_t (0x3E) /* Select (On/Off Control) */ #define HID_USAGE_VX uint16_t (0x40) /* Vx (Dynamic Value) */ #define HID_USAGE_VY uint16_t (0x41) /* Vy (Dynamic Value) */ #define HID_USAGE_VZ uint16_t (0x42) /* Vz (Dynamic Value) */ #define HID_USAGE_VBRX uint16_t (0x43) /* Vbrx (Dynamic Value) */ #define HID_USAGE_VBRY uint16_t (0x44) /* Vbry (Dynamic Value) */ #define HID_USAGE_VBRZ uint16_t (0x45) /* Vbrz (Dynamic Value) */ #define HID_USAGE_VNO uint16_t (0x46) /* Vno (Dynamic Value) */ #define HID_USAGE_FEATNOTIF uint16_t (0x47) /* Feature Notification (Dynamic Value),(Dynamic Flag) */ #define HID_USAGE_SYSCTL uint16_t (0x80) /* System Control (Application Collection) */ #define HID_USAGE_PWDOWN uint16_t (0x81) /* System Power Down (One Shot Control) */ #define HID_USAGE_SLEEP uint16_t (0x82) /* System Sleep (One Shot Control) */ #define HID_USAGE_WAKEUP uint16_t (0x83) /* System Wake Up (One Shot Control) */ #define HID_USAGE_CONTEXTM uint16_t (0x84) /* System Context Menu (One Shot Control) */ #define HID_USAGE_MAINM uint16_t (0x85) /* System Main Menu (One Shot Control) */ #define HID_USAGE_APPM uint16_t (0x86) /* System App Menu (One Shot Control) */ #define HID_USAGE_MENUHELP uint16_t (0x87) /* System Menu Help (One Shot Control) */ #define HID_USAGE_MENUEXIT uint16_t (0x88) /* System Menu Exit (One Shot Control) */ #define HID_USAGE_MENUSELECT uint16_t (0x89) /* System Menu Select (One Shot Control) */ #define HID_USAGE_SYSM_RIGHT uint16_t (0x8A) /* System Menu Right (Re-Trigger Control) */ #define HID_USAGE_SYSM_LEFT uint16_t (0x8B) /* System Menu Left (Re-Trigger Control) */ #define HID_USAGE_SYSM_UP uint16_t (0x8C) /* System Menu Up (Re-Trigger Control) */ #define HID_USAGE_SYSM_DOWN uint16_t (0x8D) /* System Menu Down (Re-Trigger Control) */ #define HID_USAGE_COLDRESET uint16_t (0x8E) /* System Cold Restart (One Shot Control) */ #define HID_USAGE_WARMRESET uint16_t (0x8F) /* System Warm Restart (One Shot Control) */ #define HID_USAGE_DUP uint16_t (0x90) /* D-pad Up (On/Off Control) */ #define HID_USAGE_DDOWN uint16_t (0x91) /* D-pad Down (On/Off Control) */ #define HID_USAGE_DRIGHT uint16_t (0x92) /* D-pad Right (On/Off Control) */ #define HID_USAGE_DLEFT uint16_t (0x93) /* D-pad Left (On/Off Control) */ #define HID_USAGE_SYS_DOCK uint16_t (0xA0) /* System Dock (One Shot Control) */ #define HID_USAGE_SYS_UNDOCK uint16_t (0xA1) /* System Undock (One Shot Control) */ #define HID_USAGE_SYS_SETUP uint16_t (0xA2) /* System Setup (One Shot Control) */ #define HID_USAGE_SYS_BREAK uint16_t (0xA3) /* System Break (One Shot Control) */ #define HID_USAGE_SYS_DBGBRK uint16_t (0xA4) /* System Debugger Break (One Shot Control) */ #define HID_USAGE_APP_BRK uint16_t (0xA5) /* Application Break (One Shot Control) */ #define HID_USAGE_APP_DBGBRK uint16_t (0xA6) /* Application Debugger Break (One Shot Control) */ #define HID_USAGE_SYS_SPKMUTE uint16_t (0xA7) /* System Speaker Mute (One Shot Control) */ #define HID_USAGE_SYS_HIBERN uint16_t (0xA8) /* System Hibernate (One Shot Control) */ #define HID_USAGE_SYS_SIDPINV uint16_t (0xB0) /* System Display Invert (One Shot Control) */ #define HID_USAGE_SYS_DISPINT uint16_t (0xB1) /* System Display Internal (One Shot Control) */ #define HID_USAGE_SYS_DISPEXT uint16_t (0xB2) /* System Display External (One Shot Control) */ #define HID_USAGE_SYS_DISPBOTH uint16_t (0xB3) /* System Display Both (One Shot Control) */ #define HID_USAGE_SYS_DISPDUAL uint16_t (0xB4) /* System Display Dual (One Shot Control) */ #define HID_USAGE_SYS_DISPTGLIE uint16_t (0xB5) /* System Display Toggle Int/Ext (One Shot Control) */ #define HID_USAGE_SYS_DISP_SWAP uint16_t (0xB6) /* System Display Swap Primary/Secondary (One Shot Control) */ #define HID_USAGE_SYS_DIPS_LCDA uint16_t (0xB7) /* System Display LCD Autoscale (One Shot Control) */ #endif /* __USDH_HID_USAGE_H */