mikroSDK Reference Manual
Human Interface Device (HID)

Topics

 Common Definitions
 
 Gamepad
 
 Mouse
 
 Keyboard
 

Macros

#define HID_KEY_NONE   0x00
 
#define HID_KEY_A   0x04
 
#define HID_KEY_B   0x05
 
#define HID_KEY_C   0x06
 
#define HID_KEY_D   0x07
 
#define HID_KEY_E   0x08
 
#define HID_KEY_F   0x09
 
#define HID_KEY_G   0x0A
 
#define HID_KEY_H   0x0B
 
#define HID_KEY_I   0x0C
 
#define HID_KEY_J   0x0D
 
#define HID_KEY_K   0x0E
 
#define HID_KEY_L   0x0F
 
#define HID_KEY_M   0x10
 
#define HID_KEY_N   0x11
 
#define HID_KEY_O   0x12
 
#define HID_KEY_P   0x13
 
#define HID_KEY_Q   0x14
 
#define HID_KEY_R   0x15
 
#define HID_KEY_S   0x16
 
#define HID_KEY_T   0x17
 
#define HID_KEY_U   0x18
 
#define HID_KEY_V   0x19
 
#define HID_KEY_W   0x1A
 
#define HID_KEY_X   0x1B
 
#define HID_KEY_Y   0x1C
 
#define HID_KEY_Z   0x1D
 
#define HID_KEY_1   0x1E
 
#define HID_KEY_2   0x1F
 
#define HID_KEY_3   0x20
 
#define HID_KEY_4   0x21
 
#define HID_KEY_5   0x22
 
#define HID_KEY_6   0x23
 
#define HID_KEY_7   0x24
 
#define HID_KEY_8   0x25
 
#define HID_KEY_9   0x26
 
#define HID_KEY_0   0x27
 
#define HID_KEY_ENTER   0x28
 
#define HID_KEY_ESCAPE   0x29
 
#define HID_KEY_BACKSPACE   0x2A
 
#define HID_KEY_TAB   0x2B
 
#define HID_KEY_SPACE   0x2C
 
#define HID_KEY_MINUS   0x2D
 
#define HID_KEY_EQUAL   0x2E
 
#define HID_KEY_BRACKET_LEFT   0x2F
 
#define HID_KEY_BRACKET_RIGHT   0x30
 
#define HID_KEY_BACKSLASH   0x31
 
#define HID_KEY_EUROPE_1   0x32
 
#define HID_KEY_SEMICOLON   0x33
 
#define HID_KEY_APOSTROPHE   0x34
 
#define HID_KEY_GRAVE   0x35
 
#define HID_KEY_COMMA   0x36
 
#define HID_KEY_PERIOD   0x37
 
#define HID_KEY_SLASH   0x38
 
#define HID_KEY_CAPS_LOCK   0x39
 
#define HID_KEY_F1   0x3A
 
#define HID_KEY_F2   0x3B
 
#define HID_KEY_F3   0x3C
 
#define HID_KEY_F4   0x3D
 
#define HID_KEY_F5   0x3E
 
#define HID_KEY_F6   0x3F
 
#define HID_KEY_F7   0x40
 
#define HID_KEY_F8   0x41
 
#define HID_KEY_F9   0x42
 
#define HID_KEY_F10   0x43
 
#define HID_KEY_F11   0x44
 
#define HID_KEY_F12   0x45
 
#define HID_KEY_PRINT_SCREEN   0x46
 
#define HID_KEY_SCROLL_LOCK   0x47
 
#define HID_KEY_PAUSE   0x48
 
#define HID_KEY_INSERT   0x49
 
#define HID_KEY_HOME   0x4A
 
#define HID_KEY_PAGE_UP   0x4B
 
#define HID_KEY_DELETE   0x4C
 
#define HID_KEY_END   0x4D
 
#define HID_KEY_PAGE_DOWN   0x4E
 
#define HID_KEY_ARROW_RIGHT   0x4F
 
#define HID_KEY_ARROW_LEFT   0x50
 
#define HID_KEY_ARROW_DOWN   0x51
 
#define HID_KEY_ARROW_UP   0x52
 
#define HID_KEY_NUM_LOCK   0x53
 
#define HID_KEY_KEYPAD_DIVIDE   0x54
 
#define HID_KEY_KEYPAD_MULTIPLY   0x55
 
#define HID_KEY_KEYPAD_SUBTRACT   0x56
 
#define HID_KEY_KEYPAD_ADD   0x57
 
#define HID_KEY_KEYPAD_ENTER   0x58
 
#define HID_KEY_KEYPAD_1   0x59
 
#define HID_KEY_KEYPAD_2   0x5A
 
#define HID_KEY_KEYPAD_3   0x5B
 
#define HID_KEY_KEYPAD_4   0x5C
 
#define HID_KEY_KEYPAD_5   0x5D
 
#define HID_KEY_KEYPAD_6   0x5E
 
#define HID_KEY_KEYPAD_7   0x5F
 
#define HID_KEY_KEYPAD_8   0x60
 
#define HID_KEY_KEYPAD_9   0x61
 
#define HID_KEY_KEYPAD_0   0x62
 
#define HID_KEY_KEYPAD_DECIMAL   0x63
 
#define HID_KEY_EUROPE_2   0x64
 
#define HID_KEY_APPLICATION   0x65
 
#define HID_KEY_POWER   0x66
 
#define HID_KEY_KEYPAD_EQUAL   0x67
 
#define HID_KEY_F13   0x68
 
#define HID_KEY_F14   0x69
 
#define HID_KEY_F15   0x6A
 
#define HID_KEY_F16   0x6B
 
#define HID_KEY_F17   0x6C
 
#define HID_KEY_F18   0x6D
 
#define HID_KEY_F19   0x6E
 
#define HID_KEY_F20   0x6F
 
#define HID_KEY_F21   0x70
 
#define HID_KEY_F22   0x71
 
#define HID_KEY_F23   0x72
 
#define HID_KEY_F24   0x73
 
#define HID_KEY_EXECUTE   0x74
 
#define HID_KEY_HELP   0x75
 
#define HID_KEY_MENU   0x76
 
#define HID_KEY_SELECT   0x77
 
#define HID_KEY_STOP   0x78
 
#define HID_KEY_AGAIN   0x79
 
#define HID_KEY_UNDO   0x7A
 
#define HID_KEY_CUT   0x7B
 
#define HID_KEY_COPY   0x7C
 
#define HID_KEY_PASTE   0x7D
 
#define HID_KEY_FIND   0x7E
 
#define HID_KEY_MUTE   0x7F
 
#define HID_KEY_VOLUME_UP   0x80
 
#define HID_KEY_VOLUME_DOWN   0x81
 
#define HID_KEY_LOCKING_CAPS_LOCK   0x82
 
#define HID_KEY_LOCKING_NUM_LOCK   0x83
 
#define HID_KEY_LOCKING_SCROLL_LOCK   0x84
 
#define HID_KEY_KEYPAD_COMMA   0x85
 
#define HID_KEY_KEYPAD_EQUAL_SIGN   0x86
 
#define HID_KEY_KANJI1   0x87
 
#define HID_KEY_KANJI2   0x88
 
#define HID_KEY_KANJI3   0x89
 
#define HID_KEY_KANJI4   0x8A
 
#define HID_KEY_KANJI5   0x8B
 
#define HID_KEY_KANJI6   0x8C
 
#define HID_KEY_KANJI7   0x8D
 
#define HID_KEY_KANJI8   0x8E
 
#define HID_KEY_KANJI9   0x8F
 
#define HID_KEY_LANG1   0x90
 
#define HID_KEY_LANG2   0x91
 
#define HID_KEY_LANG3   0x92
 
#define HID_KEY_LANG4   0x93
 
#define HID_KEY_LANG5   0x94
 
#define HID_KEY_LANG6   0x95
 
#define HID_KEY_LANG7   0x96
 
#define HID_KEY_LANG8   0x97
 
#define HID_KEY_LANG9   0x98
 
#define HID_KEY_ALTERNATE_ERASE   0x99
 
#define HID_KEY_SYSREQ_ATTENTION   0x9A
 
#define HID_KEY_CANCEL   0x9B
 
#define HID_KEY_CLEAR   0x9C
 
#define HID_KEY_PRIOR   0x9D
 
#define HID_KEY_RETURN   0x9E
 
#define HID_KEY_SEPARATOR   0x9F
 
#define HID_KEY_OUT   0xA0
 
#define HID_KEY_OPER   0xA1
 
#define HID_KEY_CLEAR_AGAIN   0xA2
 
#define HID_KEY_CRSEL_PROPS   0xA3
 
#define HID_KEY_EXSEL   0xA4
 
#define HID_KEY_CONTROL_LEFT   0xE0
 
#define HID_KEY_SHIFT_LEFT   0xE1
 
#define HID_KEY_ALT_LEFT   0xE2
 
#define HID_KEY_GUI_LEFT   0xE3
 
#define HID_KEY_CONTROL_RIGHT   0xE4
 
#define HID_KEY_SHIFT_RIGHT   0xE5
 
#define HID_KEY_ALT_RIGHT   0xE6
 
#define HID_KEY_GUI_RIGHT   0xE7
 
#define HID_REPORT_DATA_0(data)
 
#define HID_REPORT_DATA_1(data)   , data
 
#define HID_REPORT_DATA_2(data)   , U16_TO_U8S_LE(data)
 
#define HID_REPORT_DATA_3(data)   , U32_TO_U8S_LE(data)
 
#define HID_REPORT_ITEM(data, tag, type, size)    (((tag) << 4) | ((type) << 2) | (size)) HID_REPORT_DATA_##size(data)
 
#define HID_INPUT(x)   HID_REPORT_ITEM(x, RI_MAIN_INPUT , RI_TYPE_MAIN, 1)
 
#define HID_OUTPUT(x)   HID_REPORT_ITEM(x, RI_MAIN_OUTPUT , RI_TYPE_MAIN, 1)
 
#define HID_COLLECTION(x)   HID_REPORT_ITEM(x, RI_MAIN_COLLECTION , RI_TYPE_MAIN, 1)
 
#define HID_FEATURE(x)   HID_REPORT_ITEM(x, RI_MAIN_FEATURE , RI_TYPE_MAIN, 1)
 
#define HID_COLLECTION_END   HID_REPORT_ITEM(x, RI_MAIN_COLLECTION_END, RI_TYPE_MAIN, 0)
 
#define HID_DATA   (0<<0)
 
#define HID_CONSTANT   (1<<0)
 
#define HID_ARRAY   (0<<1)
 
#define HID_VARIABLE   (1<<1)
 
#define HID_ABSOLUTE   (0<<2)
 
#define HID_RELATIVE   (1<<2)
 
#define HID_WRAP_NO   (0<<3)
 
#define HID_WRAP   (1<<3)
 
#define HID_LINEAR   (0<<4)
 
#define HID_NONLINEAR   (1<<4)
 
#define HID_PREFERRED_STATE   (0<<5)
 
#define HID_PREFERRED_NO   (1<<5)
 
#define HID_NO_NULL_POSITION   (0<<6)
 
#define HID_NULL_STATE   (1<<6)
 
#define HID_NON_VOLATILE   (0<<7)
 
#define HID_VOLATILE   (1<<7)
 
#define HID_BITFIELD   (0<<8)
 
#define HID_BUFFERED_BYTES   (1<<8)
 
#define HID_USAGE_PAGE(x)   HID_REPORT_ITEM(x, RI_GLOBAL_USAGE_PAGE, RI_TYPE_GLOBAL, 1)
 
#define HID_USAGE_PAGE_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_USAGE_PAGE, RI_TYPE_GLOBAL, n)
 
#define HID_LOGICAL_MIN(x)   HID_REPORT_ITEM(x, RI_GLOBAL_LOGICAL_MIN, RI_TYPE_GLOBAL, 1)
 
#define HID_LOGICAL_MIN_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_LOGICAL_MIN, RI_TYPE_GLOBAL, n)
 
#define HID_LOGICAL_MAX(x)   HID_REPORT_ITEM(x, RI_GLOBAL_LOGICAL_MAX, RI_TYPE_GLOBAL, 1)
 
#define HID_LOGICAL_MAX_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_LOGICAL_MAX, RI_TYPE_GLOBAL, n)
 
#define HID_PHYSICAL_MIN(x)   HID_REPORT_ITEM(x, RI_GLOBAL_PHYSICAL_MIN, RI_TYPE_GLOBAL, 1)
 
#define HID_PHYSICAL_MIN_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_PHYSICAL_MIN, RI_TYPE_GLOBAL, n)
 
#define HID_PHYSICAL_MAX(x)   HID_REPORT_ITEM(x, RI_GLOBAL_PHYSICAL_MAX, RI_TYPE_GLOBAL, 1)
 
#define HID_PHYSICAL_MAX_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_PHYSICAL_MAX, RI_TYPE_GLOBAL, n)
 
#define HID_UNIT_EXPONENT(x)   HID_REPORT_ITEM(x, RI_GLOBAL_UNIT_EXPONENT, RI_TYPE_GLOBAL, 1)
 
#define HID_UNIT_EXPONENT_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_UNIT_EXPONENT, RI_TYPE_GLOBAL, n)
 
#define HID_UNIT(x)   HID_REPORT_ITEM(x, RI_GLOBAL_UNIT, RI_TYPE_GLOBAL, 1)
 
#define HID_UNIT_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_UNIT, RI_TYPE_GLOBAL, n)
 
#define HID_REPORT_SIZE(x)   HID_REPORT_ITEM(x, RI_GLOBAL_REPORT_SIZE, RI_TYPE_GLOBAL, 1)
 
#define HID_REPORT_SIZE_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_REPORT_SIZE, RI_TYPE_GLOBAL, n)
 
#define HID_REPORT_ID(x)   HID_REPORT_ITEM(x, RI_GLOBAL_REPORT_ID, RI_TYPE_GLOBAL, 1),
 
#define HID_REPORT_ID_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_REPORT_ID, RI_TYPE_GLOBAL, n),
 
#define HID_REPORT_COUNT(x)   HID_REPORT_ITEM(x, RI_GLOBAL_REPORT_COUNT, RI_TYPE_GLOBAL, 1)
 
#define HID_REPORT_COUNT_N(x, n)   HID_REPORT_ITEM(x, RI_GLOBAL_REPORT_COUNT, RI_TYPE_GLOBAL, n)
 
#define HID_PUSH   HID_REPORT_ITEM(x, RI_GLOBAL_PUSH, RI_TYPE_GLOBAL, 0)
 
#define HID_POP   HID_REPORT_ITEM(x, RI_GLOBAL_POP, RI_TYPE_GLOBAL, 0)
 
#define HID_USAGE(x)   HID_REPORT_ITEM(x, RI_LOCAL_USAGE, RI_TYPE_LOCAL, 1)
 
#define HID_USAGE_N(x, n)   HID_REPORT_ITEM(x, RI_LOCAL_USAGE, RI_TYPE_LOCAL, n)
 
#define HID_USAGE_MIN(x)   HID_REPORT_ITEM(x, RI_LOCAL_USAGE_MIN, RI_TYPE_LOCAL, 1)
 
#define HID_USAGE_MIN_N(x, n)   HID_REPORT_ITEM(x, RI_LOCAL_USAGE_MIN, RI_TYPE_LOCAL, n)
 
#define HID_USAGE_MAX(x)   HID_REPORT_ITEM(x, RI_LOCAL_USAGE_MAX, RI_TYPE_LOCAL, 1)
 
#define HID_USAGE_MAX_N(x, n)   HID_REPORT_ITEM(x, RI_LOCAL_USAGE_MAX, RI_TYPE_LOCAL, n)
 
#define HID_ASCII_TO_KEYCODE
 
#define HID_KEYCODE_TO_ASCII
 

Enumerations

enum  { RI_TYPE_MAIN = 0 , RI_TYPE_GLOBAL = 1 , RI_TYPE_LOCAL = 2 }
 
enum  {
  RI_MAIN_INPUT = 8 , RI_MAIN_OUTPUT = 9 , RI_MAIN_COLLECTION = 10 , RI_MAIN_FEATURE = 11 ,
  RI_MAIN_COLLECTION_END = 12
}
 
enum  {
  HID_COLLECTION_PHYSICAL = 0 , HID_COLLECTION_APPLICATION , HID_COLLECTION_LOGICAL , HID_COLLECTION_REPORT ,
  HID_COLLECTION_NAMED_ARRAY , HID_COLLECTION_USAGE_SWITCH , HID_COLLECTION_USAGE_MODIFIER
}
 
enum  {
  RI_GLOBAL_USAGE_PAGE = 0 , RI_GLOBAL_LOGICAL_MIN = 1 , RI_GLOBAL_LOGICAL_MAX = 2 , RI_GLOBAL_PHYSICAL_MIN = 3 ,
  RI_GLOBAL_PHYSICAL_MAX = 4 , RI_GLOBAL_UNIT_EXPONENT = 5 , RI_GLOBAL_UNIT = 6 , RI_GLOBAL_REPORT_SIZE = 7 ,
  RI_GLOBAL_REPORT_ID = 8 , RI_GLOBAL_REPORT_COUNT = 9 , RI_GLOBAL_PUSH = 10 , RI_GLOBAL_POP = 11
}
 
enum  {
  RI_LOCAL_USAGE = 0 , RI_LOCAL_USAGE_MIN = 1 , RI_LOCAL_USAGE_MAX = 2 , RI_LOCAL_DESIGNATOR_INDEX = 3 ,
  RI_LOCAL_DESIGNATOR_MIN = 4 , RI_LOCAL_DESIGNATOR_MAX = 5 , RI_LOCAL_STRING_INDEX = 7 , RI_LOCAL_STRING_MIN = 8 ,
  RI_LOCAL_STRING_MAX = 9 , RI_LOCAL_DELIMITER = 10
}
 
enum  {
  HID_USAGE_PAGE_DESKTOP = 0x01 , HID_USAGE_PAGE_SIMULATE = 0x02 , HID_USAGE_PAGE_VIRTUAL_REALITY = 0x03 , HID_USAGE_PAGE_SPORT = 0x04 ,
  HID_USAGE_PAGE_GAME = 0x05 , HID_USAGE_PAGE_GENERIC_DEVICE = 0x06 , HID_USAGE_PAGE_KEYBOARD = 0x07 , HID_USAGE_PAGE_LED = 0x08 ,
  HID_USAGE_PAGE_BUTTON = 0x09 , HID_USAGE_PAGE_ORDINAL = 0x0a , HID_USAGE_PAGE_TELEPHONY = 0x0b , HID_USAGE_PAGE_CONSUMER = 0x0c ,
  HID_USAGE_PAGE_DIGITIZER = 0x0d , HID_USAGE_PAGE_PID = 0x0f , HID_USAGE_PAGE_UNICODE = 0x10 , HID_USAGE_PAGE_ALPHA_DISPLAY = 0x14 ,
  HID_USAGE_PAGE_MEDICAL = 0x40 , HID_USAGE_PAGE_MONITOR = 0x80 , HID_USAGE_PAGE_POWER = 0x84 , HID_USAGE_PAGE_BARCODE_SCANNER = 0x8c ,
  HID_USAGE_PAGE_SCALE = 0x8d , HID_USAGE_PAGE_MSR = 0x8e , HID_USAGE_PAGE_CAMERA = 0x90 , HID_USAGE_PAGE_ARCADE = 0x91 ,
  HID_USAGE_PAGE_FIDO = 0xF1D0 , HID_USAGE_PAGE_VENDOR = 0xFF00
}
 HID Usage Table - Table 1: Usage Page Summary.
 
enum  {
  HID_USAGE_DESKTOP_POINTER = 0x01 , HID_USAGE_DESKTOP_MOUSE = 0x02 , HID_USAGE_DESKTOP_JOYSTICK = 0x04 , HID_USAGE_DESKTOP_GAMEPAD = 0x05 ,
  HID_USAGE_DESKTOP_KEYBOARD = 0x06 , HID_USAGE_DESKTOP_KEYPAD = 0x07 , HID_USAGE_DESKTOP_MULTI_AXIS_CONTROLLER = 0x08 , HID_USAGE_DESKTOP_TABLET_PC_SYSTEM = 0x09 ,
  HID_USAGE_DESKTOP_X = 0x30 , HID_USAGE_DESKTOP_Y = 0x31 , HID_USAGE_DESKTOP_Z = 0x32 , HID_USAGE_DESKTOP_RX = 0x33 ,
  HID_USAGE_DESKTOP_RY = 0x34 , HID_USAGE_DESKTOP_RZ = 0x35 , HID_USAGE_DESKTOP_SLIDER = 0x36 , HID_USAGE_DESKTOP_DIAL = 0x37 ,
  HID_USAGE_DESKTOP_WHEEL = 0x38 , HID_USAGE_DESKTOP_HAT_SWITCH = 0x39 , HID_USAGE_DESKTOP_COUNTED_BUFFER = 0x3a , HID_USAGE_DESKTOP_BYTE_COUNT = 0x3b ,
  HID_USAGE_DESKTOP_MOTION_WAKEUP = 0x3c , HID_USAGE_DESKTOP_START = 0x3d , HID_USAGE_DESKTOP_SELECT = 0x3e , HID_USAGE_DESKTOP_VX = 0x40 ,
  HID_USAGE_DESKTOP_VY = 0x41 , HID_USAGE_DESKTOP_VZ = 0x42 , HID_USAGE_DESKTOP_VBRX = 0x43 , HID_USAGE_DESKTOP_VBRY = 0x44 ,
  HID_USAGE_DESKTOP_VBRZ = 0x45 , HID_USAGE_DESKTOP_VNO = 0x46 , HID_USAGE_DESKTOP_FEATURE_NOTIFICATION = 0x47 , HID_USAGE_DESKTOP_RESOLUTION_MULTIPLIER = 0x48 ,
  HID_USAGE_DESKTOP_SYSTEM_CONTROL = 0x80 , HID_USAGE_DESKTOP_SYSTEM_POWER_DOWN = 0x81 , HID_USAGE_DESKTOP_SYSTEM_SLEEP = 0x82 , HID_USAGE_DESKTOP_SYSTEM_WAKE_UP = 0x83 ,
  HID_USAGE_DESKTOP_SYSTEM_CONTEXT_MENU = 0x84 , HID_USAGE_DESKTOP_SYSTEM_MAIN_MENU = 0x85 , HID_USAGE_DESKTOP_SYSTEM_APP_MENU = 0x86 , HID_USAGE_DESKTOP_SYSTEM_MENU_HELP = 0x87 ,
  HID_USAGE_DESKTOP_SYSTEM_MENU_EXIT = 0x88 , HID_USAGE_DESKTOP_SYSTEM_MENU_SELECT = 0x89 , HID_USAGE_DESKTOP_SYSTEM_MENU_RIGHT = 0x8A , HID_USAGE_DESKTOP_SYSTEM_MENU_LEFT = 0x8B ,
  HID_USAGE_DESKTOP_SYSTEM_MENU_UP = 0x8C , HID_USAGE_DESKTOP_SYSTEM_MENU_DOWN = 0x8D , HID_USAGE_DESKTOP_SYSTEM_COLD_RESTART = 0x8E , HID_USAGE_DESKTOP_SYSTEM_WARM_RESTART = 0x8F ,
  HID_USAGE_DESKTOP_DPAD_UP = 0x90 , HID_USAGE_DESKTOP_DPAD_DOWN = 0x91 , HID_USAGE_DESKTOP_DPAD_RIGHT = 0x92 , HID_USAGE_DESKTOP_DPAD_LEFT = 0x93 ,
  HID_USAGE_DESKTOP_SYSTEM_DOCK = 0xA0 , HID_USAGE_DESKTOP_SYSTEM_UNDOCK = 0xA1 , HID_USAGE_DESKTOP_SYSTEM_SETUP = 0xA2 , HID_USAGE_DESKTOP_SYSTEM_BREAK = 0xA3 ,
  HID_USAGE_DESKTOP_SYSTEM_DEBUGGER_BREAK = 0xA4 , HID_USAGE_DESKTOP_APPLICATION_BREAK = 0xA5 , HID_USAGE_DESKTOP_APPLICATION_DEBUGGER_BREAK = 0xA6 , HID_USAGE_DESKTOP_SYSTEM_SPEAKER_MUTE = 0xA7 ,
  HID_USAGE_DESKTOP_SYSTEM_HIBERNATE = 0xA8 , HID_USAGE_DESKTOP_SYSTEM_DISPLAY_INVERT = 0xB0 , HID_USAGE_DESKTOP_SYSTEM_DISPLAY_INTERNAL = 0xB1 , HID_USAGE_DESKTOP_SYSTEM_DISPLAY_EXTERNAL = 0xB2 ,
  HID_USAGE_DESKTOP_SYSTEM_DISPLAY_BOTH = 0xB3 , HID_USAGE_DESKTOP_SYSTEM_DISPLAY_DUAL = 0xB4 , HID_USAGE_DESKTOP_SYSTEM_DISPLAY_TOGGLE_INT_EXT = 0xB5 , HID_USAGE_DESKTOP_SYSTEM_DISPLAY_SWAP_PRIMARY_SECONDARY = 0xB6 ,
  HID_USAGE_DESKTOP_SYSTEM_DISPLAY_LCD_AUTOSCALE = 0xB7
}
 HID Usage Table - Table 6: Generic Desktop Page.
 
enum  {
  HID_USAGE_CONSUMER_CONTROL = 0x0001 , HID_USAGE_CONSUMER_POWER = 0x0030 , HID_USAGE_CONSUMER_RESET = 0x0031 , HID_USAGE_CONSUMER_SLEEP = 0x0032 ,
  HID_USAGE_CONSUMER_BRIGHTNESS_INCREMENT = 0x006F , HID_USAGE_CONSUMER_BRIGHTNESS_DECREMENT = 0x0070 , HID_USAGE_CONSUMER_WIRELESS_RADIO_CONTROLS = 0x000C , HID_USAGE_CONSUMER_WIRELESS_RADIO_BUTTONS = 0x00C6 ,
  HID_USAGE_CONSUMER_WIRELESS_RADIO_LED = 0x00C7 , HID_USAGE_CONSUMER_WIRELESS_RADIO_SLIDER_SWITCH = 0x00C8 , HID_USAGE_CONSUMER_PLAY_PAUSE = 0x00CD , HID_USAGE_CONSUMER_SCAN_NEXT = 0x00B5 ,
  HID_USAGE_CONSUMER_SCAN_PREVIOUS = 0x00B6 , HID_USAGE_CONSUMER_STOP = 0x00B7 , HID_USAGE_CONSUMER_VOLUME = 0x00E0 , HID_USAGE_CONSUMER_MUTE = 0x00E2 ,
  HID_USAGE_CONSUMER_BASS = 0x00E3 , HID_USAGE_CONSUMER_TREBLE = 0x00E4 , HID_USAGE_CONSUMER_BASS_BOOST = 0x00E5 , HID_USAGE_CONSUMER_VOLUME_INCREMENT = 0x00E9 ,
  HID_USAGE_CONSUMER_VOLUME_DECREMENT = 0x00EA , HID_USAGE_CONSUMER_BASS_INCREMENT = 0x0152 , HID_USAGE_CONSUMER_BASS_DECREMENT = 0x0153 , HID_USAGE_CONSUMER_TREBLE_INCREMENT = 0x0154 ,
  HID_USAGE_CONSUMER_TREBLE_DECREMENT = 0x0155 , HID_USAGE_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION = 0x0183 , HID_USAGE_CONSUMER_AL_EMAIL_READER = 0x018A , HID_USAGE_CONSUMER_AL_CALCULATOR = 0x0192 ,
  HID_USAGE_CONSUMER_AL_LOCAL_BROWSER = 0x0194 , HID_USAGE_CONSUMER_AC_SEARCH = 0x0221 , HID_USAGE_CONSUMER_AC_HOME = 0x0223 , HID_USAGE_CONSUMER_AC_BACK = 0x0224 ,
  HID_USAGE_CONSUMER_AC_FORWARD = 0x0225 , HID_USAGE_CONSUMER_AC_STOP = 0x0226 , HID_USAGE_CONSUMER_AC_REFRESH = 0x0227 , HID_USAGE_CONSUMER_AC_BOOKMARKS = 0x022A ,
  HID_USAGE_CONSUMER_AC_PAN = 0x0238
}
 
enum  { HID_USAGE_FIDO_U2FHID = 0x01 , HID_USAGE_FIDO_DATA_IN = 0x20 , HID_USAGE_FIDO_DATA_OUT = 0x21 }
 HID Usage Table: FIDO Alliance Page (0xF1D0)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

HID Usage Table: Consumer Page (0x0C) Only contains controls that supported by Windows (whole list is too long)