LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
HID Class Function Driver

Data Structures

struct  USB_HID_REPORT_T
 HID report descriptor data structure. More...
 
struct  USBD_HID_INIT_PARAM_T
 USB descriptors data structure. More...
 
struct  USBD_HID_API_T
 HID class API functions structure.This structure contains pointers to all the function exposed by HID function driver module. More...
 

Macros

#define HID_DESC_SIZE   (sizeof(HID_DESCRIPTOR))
 

Functions

uint32_t CALLBACK_UsbdHid_Register_InterfaceDescriptor (void)
 
uint32_t CALLBACK_UsbdHid_Register_ReportDescriptor (uint8_t **dest)
 
uint32_t CALLBACK_UsbdHid_Register_ReportInBuffer (uint8_t **dest)
 
void CALLBACK_UsbdHid_SetReport (uint8_t **reportoutbuffer, uint32_t reportoutsize)
 
void CALLBACK_UsbdHid_SetReportChange (bool newstate)
 
bool CALLBACK_UsbdHid_IsReportChanged (void)
 
#define HID_SUBCLASS_NONE   0x00
 
#define HID_SUBCLASS_BOOT   0x01
 
#define HID_PROTOCOL_NONE   0x00
 
#define HID_PROTOCOL_KEYBOARD   0x01
 
#define HID_PROTOCOL_MOUSE   0x02
 
#define HID_HID_DESCRIPTOR_TYPE   0x21
 
#define HID_REPORT_DESCRIPTOR_TYPE   0x22
 
#define HID_PHYSICAL_DESCRIPTOR_TYPE   0x23
 
#define HID_REQUEST_GET_REPORT   0x01
 
#define HID_REQUEST_GET_IDLE   0x02
 
#define HID_REQUEST_GET_PROTOCOL   0x03
 
#define HID_REQUEST_SET_REPORT   0x09
 
#define HID_REQUEST_SET_IDLE   0x0A
 
#define HID_REQUEST_SET_PROTOCOL   0x0B
 
#define HID_REPORT_INPUT   0x01
 
#define HID_REPORT_OUTPUT   0x02
 
#define HID_REPORT_FEATURE   0x03
 
#define HID_USAGE_PAGE_UNDEFINED   0x00
 
#define HID_USAGE_PAGE_GENERIC   0x01
 
#define HID_USAGE_PAGE_SIMULATION   0x02
 
#define HID_USAGE_PAGE_VR   0x03
 
#define HID_USAGE_PAGE_SPORT   0x04
 
#define HID_USAGE_PAGE_GAME   0x05
 
#define HID_USAGE_PAGE_DEV_CONTROLS   0x06
 
#define HID_USAGE_PAGE_KEYBOARD   0x07
 
#define HID_USAGE_PAGE_LED   0x08
 
#define HID_USAGE_PAGE_BUTTON   0x09
 
#define HID_USAGE_PAGE_ORDINAL   0x0A
 
#define HID_USAGE_PAGE_TELEPHONY   0x0B
 
#define HID_USAGE_PAGE_CONSUMER   0x0C
 
#define HID_USAGE_PAGE_DIGITIZER   0x0D
 
#define HID_USAGE_PAGE_UNICODE   0x10
 
#define HID_USAGE_PAGE_ALPHANUMERIC   0x14
 
#define HID_USAGE_GENERIC_POINTER   0x01
 
#define HID_USAGE_GENERIC_MOUSE   0x02
 
#define HID_USAGE_GENERIC_JOYSTICK   0x04
 
#define HID_USAGE_GENERIC_GAMEPAD   0x05
 
#define HID_USAGE_GENERIC_KEYBOARD   0x06
 
#define HID_USAGE_GENERIC_KEYPAD   0x07
 
#define HID_USAGE_GENERIC_X   0x30
 
#define HID_USAGE_GENERIC_Y   0x31
 
#define HID_USAGE_GENERIC_Z   0x32
 
#define HID_USAGE_GENERIC_RX   0x33
 
#define HID_USAGE_GENERIC_RY   0x34
 
#define HID_USAGE_GENERIC_RZ   0x35
 
#define HID_USAGE_GENERIC_SLIDER   0x36
 
#define HID_USAGE_GENERIC_DIAL   0x37
 
#define HID_USAGE_GENERIC_WHEEL   0x38
 
#define HID_USAGE_GENERIC_HATSWITCH   0x39
 
#define HID_USAGE_GENERIC_COUNTED_BUFFER   0x3A
 
#define HID_USAGE_GENERIC_BYTE_COUNT   0x3B
 
#define HID_USAGE_GENERIC_MOTION_WAKEUP   0x3C
 
#define HID_USAGE_GENERIC_VX   0x40
 
#define HID_USAGE_GENERIC_VY   0x41
 
#define HID_USAGE_GENERIC_VZ   0x42
 
#define HID_USAGE_GENERIC_VBRX   0x43
 
#define HID_USAGE_GENERIC_VBRY   0x44
 
#define HID_USAGE_GENERIC_VBRZ   0x45
 
#define HID_USAGE_GENERIC_VNO   0x46
 
#define HID_USAGE_GENERIC_SYSTEM_CTL   0x80
 
#define HID_USAGE_GENERIC_SYSCTL_POWER   0x81
 
#define HID_USAGE_GENERIC_SYSCTL_SLEEP   0x82
 
#define HID_USAGE_GENERIC_SYSCTL_WAKE   0x83
 
#define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU   0x84
 
#define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU   0x85
 
#define HID_USAGE_GENERIC_SYSCTL_APP_MENU   0x86
 
#define HID_USAGE_GENERIC_SYSCTL_HELP_MENU   0x87
 
#define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT   0x88
 
#define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT   0x89
 
#define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT   0x8A
 
#define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT   0x8B
 
#define HID_USAGE_GENERIC_SYSCTL_MENU_UP   0x8C
 
#define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN   0x8D
 
#define HID_USAGE_SIMULATION_RUDDER   0xBA
 
#define HID_USAGE_SIMULATION_THROTTLE   0xBB
 
#define HID_USAGE_KEYBOARD_NOEVENT   0x00
 
#define HID_USAGE_KEYBOARD_ROLLOVER   0x01
 
#define HID_USAGE_KEYBOARD_POSTFAIL   0x02
 
#define HID_USAGE_KEYBOARD_UNDEFINED   0x03
 
#define HID_USAGE_KEYBOARD_aA   0x04
 
#define HID_USAGE_KEYBOARD_zZ   0x1D
 
#define HID_USAGE_KEYBOARD_ONE   0x1E
 
#define HID_USAGE_KEYBOARD_ZERO   0x27
 
#define HID_USAGE_KEYBOARD_RETURN   0x28
 
#define HID_USAGE_KEYBOARD_ESCAPE   0x29
 
#define HID_USAGE_KEYBOARD_DELETE   0x2A
 
#define HID_USAGE_KEYBOARD_F1   0x3A
 
#define HID_USAGE_KEYBOARD_F12   0x45
 
#define HID_USAGE_KEYBOARD_PRINT_SCREEN   0x46
 
#define HID_USAGE_KEYBOARD_LCTRL   0xE0
 
#define HID_USAGE_KEYBOARD_LSHFT   0xE1
 
#define HID_USAGE_KEYBOARD_LALT   0xE2
 
#define HID_USAGE_KEYBOARD_LGUI   0xE3
 
#define HID_USAGE_KEYBOARD_RCTRL   0xE4
 
#define HID_USAGE_KEYBOARD_RSHFT   0xE5
 
#define HID_USAGE_KEYBOARD_RALT   0xE6
 
#define HID_USAGE_KEYBOARD_RGUI   0xE7
 
#define HID_USAGE_KEYBOARD_SCROLL_LOCK   0x47
 
#define HID_USAGE_KEYBOARD_NUM_LOCK   0x53
 
#define HID_USAGE_KEYBOARD_CAPS_LOCK   0x39
 
#define HID_USAGE_LED_NUM_LOCK   0x01
 
#define HID_USAGE_LED_CAPS_LOCK   0x02
 
#define HID_USAGE_LED_SCROLL_LOCK   0x03
 
#define HID_USAGE_LED_COMPOSE   0x04
 
#define HID_USAGE_LED_KANA   0x05
 
#define HID_USAGE_LED_POWER   0x06
 
#define HID_USAGE_LED_SHIFT   0x07
 
#define HID_USAGE_LED_DO_NOT_DISTURB   0x08
 
#define HID_USAGE_LED_MUTE   0x09
 
#define HID_USAGE_LED_TONE_ENABLE   0x0A
 
#define HID_USAGE_LED_HIGH_CUT_FILTER   0x0B
 
#define HID_USAGE_LED_LOW_CUT_FILTER   0x0C
 
#define HID_USAGE_LED_EQUALIZER_ENABLE   0x0D
 
#define HID_USAGE_LED_SOUND_FIELD_ON   0x0E
 
#define HID_USAGE_LED_SURROUND_FIELD_ON   0x0F
 
#define HID_USAGE_LED_REPEAT   0x10
 
#define HID_USAGE_LED_STEREO   0x11
 
#define HID_USAGE_LED_SAMPLING_RATE_DETECT   0x12
 
#define HID_USAGE_LED_SPINNING   0x13
 
#define HID_USAGE_LED_CAV   0x14
 
#define HID_USAGE_LED_CLV   0x15
 
#define HID_USAGE_LED_RECORDING_FORMAT_DET   0x16
 
#define HID_USAGE_LED_OFF_HOOK   0x17
 
#define HID_USAGE_LED_RING   0x18
 
#define HID_USAGE_LED_MESSAGE_WAITING   0x19
 
#define HID_USAGE_LED_DATA_MODE   0x1A
 
#define HID_USAGE_LED_BATTERY_OPERATION   0x1B
 
#define HID_USAGE_LED_BATTERY_OK   0x1C
 
#define HID_USAGE_LED_BATTERY_LOW   0x1D
 
#define HID_USAGE_LED_SPEAKER   0x1E
 
#define HID_USAGE_LED_HEAD_SET   0x1F
 
#define HID_USAGE_LED_HOLD   0x20
 
#define HID_USAGE_LED_MICROPHONE   0x21
 
#define HID_USAGE_LED_COVERAGE   0x22
 
#define HID_USAGE_LED_NIGHT_MODE   0x23
 
#define HID_USAGE_LED_SEND_CALLS   0x24
 
#define HID_USAGE_LED_CALL_PICKUP   0x25
 
#define HID_USAGE_LED_CONFERENCE   0x26
 
#define HID_USAGE_LED_STAND_BY   0x27
 
#define HID_USAGE_LED_CAMERA_ON   0x28
 
#define HID_USAGE_LED_CAMERA_OFF   0x29
 
#define HID_USAGE_LED_ON_LINE   0x2A
 
#define HID_USAGE_LED_OFF_LINE   0x2B
 
#define HID_USAGE_LED_BUSY   0x2C
 
#define HID_USAGE_LED_READY   0x2D
 
#define HID_USAGE_LED_PAPER_OUT   0x2E
 
#define HID_USAGE_LED_PAPER_JAM   0x2F
 
#define HID_USAGE_LED_REMOTE   0x30
 
#define HID_USAGE_LED_FORWARD   0x31
 
#define HID_USAGE_LED_REVERSE   0x32
 
#define HID_USAGE_LED_STOP   0x33
 
#define HID_USAGE_LED_REWIND   0x34
 
#define HID_USAGE_LED_FAST_FORWARD   0x35
 
#define HID_USAGE_LED_PLAY   0x36
 
#define HID_USAGE_LED_PAUSE   0x37
 
#define HID_USAGE_LED_RECORD   0x38
 
#define HID_USAGE_LED_ERROR   0x39
 
#define HID_USAGE_LED_SELECTED_INDICATOR   0x3A
 
#define HID_USAGE_LED_IN_USE_INDICATOR   0x3B
 
#define HID_USAGE_LED_MULTI_MODE_INDICATOR   0x3C
 
#define HID_USAGE_LED_INDICATOR_ON   0x3D
 
#define HID_USAGE_LED_INDICATOR_FLASH   0x3E
 
#define HID_USAGE_LED_INDICATOR_SLOW_BLINK   0x3F
 
#define HID_USAGE_LED_INDICATOR_FAST_BLINK   0x40
 
#define HID_USAGE_LED_INDICATOR_OFF   0x41
 
#define HID_USAGE_LED_FLASH_ON_TIME   0x42
 
#define HID_USAGE_LED_SLOW_BLINK_ON_TIME   0x43
 
#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME   0x44
 
#define HID_USAGE_LED_FAST_BLINK_ON_TIME   0x45
 
#define HID_USAGE_LED_FAST_BLINK_OFF_TIME   0x46
 
#define HID_USAGE_LED_INDICATOR_COLOR   0x47
 
#define HID_USAGE_LED_RED   0x48
 
#define HID_USAGE_LED_GREEN   0x49
 
#define HID_USAGE_LED_AMBER   0x4A
 
#define HID_USAGE_LED_GENERIC_INDICATOR   0x4B
 
#define HID_USAGE_TELEPHONY_PHONE   0x01
 
#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE   0x02
 
#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS   0x03
 
#define HID_USAGE_TELEPHONY_HANDSET   0x04
 
#define HID_USAGE_TELEPHONY_HEADSET   0x05
 
#define HID_USAGE_TELEPHONY_KEYPAD   0x06
 
#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON   0x07
 
#define HID_USAGE_CONSUMER_CONTROL   0x01
 
#define HID_USAGE_CONSUMER_FAST_FORWARD   0xB3
 
#define HID_USAGE_CONSUMER_REWIND   0xB4
 
#define HID_USAGE_CONSUMER_PLAY_PAUSE   0xCD
 
#define HID_USAGE_CONSUMER_VOLUME_INCREMENT   0xE9
 
#define HID_USAGE_CONSUMER_VOLUME_DECREMENT   0xEA
 
#define HID_Input(x)   0x81,x
 
#define HID_Output(x)   0x91,x
 
#define HID_Feature(x)   0xB1,x
 
#define HID_Collection(x)   0xA1,x
 
#define HID_EndCollection   0xC0
 
#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_NoWrap   0<<3
 
#define HID_Wrap   1<<3
 
#define HID_Linear   0<<4
 
#define HID_NonLinear   1<<4
 
#define HID_PreferredState   0<<5
 
#define HID_NoPreferred   1<<5
 
#define HID_NoNullPosition   0<<6
 
#define HID_NullState   1<<6
 
#define HID_NonVolatile   0<<7
 
#define HID_Volatile   1<<7
 
#define HID_Physical   0x00
 
#define HID_Application   0x01
 
#define HID_Logical   0x02
 
#define HID_Report   0x03
 
#define HID_NamedArray   0x04
 
#define HID_UsageSwitch   0x05
 
#define HID_UsageModifier   0x06
 
#define HID_UsagePage(x)   0x05,x
 
#define HID_UsagePageVendor(x)   0x06,x,0xFF
 
#define HID_LogicalMin(x)   0x15,x
 
#define HID_LogicalMinS(x)   0x16,(x&0xFF),((x>>8)&0xFF)
 
#define HID_LogicalMinL(x)   0x17,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)
 
#define HID_LogicalMax(x)   0x25,x
 
#define HID_LogicalMaxS(x)   0x26,(x&0xFF),((x>>8)&0xFF)
 
#define HID_LogicalMaxL(x)   0x27,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)
 
#define HID_PhysicalMin(x)   0x35,x
 
#define HID_PhysicalMinS(x)   0x36,(x&0xFF),((x>>8)&0xFF)
 
#define HID_PhysicalMinL(x)   0x37,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)
 
#define HID_PhysicalMax(x)   0x45,x
 
#define HID_PhysicalMaxS(x)   0x46,(x&0xFF),((x>>8)&0xFF)
 
#define HID_PhysicalMaxL(x)   0x47,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)
 
#define HID_UnitExponent(x)   0x55,x
 
#define HID_Unit(x)   0x65,x
 
#define HID_UnitS(x)   0x66,(x&0xFF),((x>>8)&0xFF)
 
#define HID_UnitL(x)   0x67,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)
 
#define HID_ReportSize(x)   0x75,x
 
#define HID_ReportID(x)   0x85,x
 
#define HID_ReportCount(x)   0x95,x
 
#define HID_Push   0xA0
 
#define HID_Pop   0xB0
 
#define HID_Usage(x)   0x09,x
 
#define HID_UsageMin(x)   0x19,x
 
#define HID_UsageMax(x)   0x29,x
 

Detailed Description

Module Description

HID Class Function Driver module. This module contains an internal implementation of the USB HID Class. User applications can use this class driver instead of implementing the HID class manually via the low-level HW and core APIs.

This module is designed to simplify the user code by exposing only the required interface needed to interface with Devices using the USB HID Class.

Common definitions and declarations for the library USB HID Class driver.

Macro Definition Documentation

#define HID_Absolute   0<<2

Definition at line 380 of file usbd_hid.h.

#define HID_Application   0x01

Definition at line 395 of file usbd_hid.h.

#define HID_Array   0<<1

Definition at line 378 of file usbd_hid.h.

#define HID_Collection (   x)    0xA1,x

Definition at line 372 of file usbd_hid.h.

#define HID_Constant   1<<0

Definition at line 377 of file usbd_hid.h.

#define HID_Data   0<<0

Data (Input, Output, Feature)

Definition at line 376 of file usbd_hid.h.

#define HID_DESC_SIZE   (sizeof(HID_DESCRIPTOR))

Definition at line 98 of file usbd_hid.h.

#define HID_EndCollection   0xC0

Definition at line 373 of file usbd_hid.h.

#define HID_Feature (   x)    0xB1,x

Definition at line 371 of file usbd_hid.h.

#define HID_HID_DESCRIPTOR_TYPE   0x21

Descriptor TypesDescriptor header type value, to indicate a HID class HID descriptor.

Definition at line 69 of file usbd_hid.h.

#define HID_Input (   x)    0x81,x

HID Report Item MacrosMain Items

Definition at line 369 of file usbd_hid.h.

#define HID_Linear   0<<4

Definition at line 384 of file usbd_hid.h.

#define HID_Logical   0x02

Definition at line 396 of file usbd_hid.h.

#define HID_LogicalMax (   x)    0x25,x

Definition at line 408 of file usbd_hid.h.

#define HID_LogicalMaxL (   x)    0x27,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)

Definition at line 410 of file usbd_hid.h.

#define HID_LogicalMaxS (   x)    0x26,(x&0xFF),((x>>8)&0xFF)

Definition at line 409 of file usbd_hid.h.

#define HID_LogicalMin (   x)    0x15,x

Definition at line 405 of file usbd_hid.h.

#define HID_LogicalMinL (   x)    0x17,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)

Definition at line 407 of file usbd_hid.h.

#define HID_LogicalMinS (   x)    0x16,(x&0xFF),((x>>8)&0xFF)

Definition at line 406 of file usbd_hid.h.

#define HID_NamedArray   0x04

Definition at line 398 of file usbd_hid.h.

#define HID_NonLinear   1<<4

Definition at line 385 of file usbd_hid.h.

#define HID_NoNullPosition   0<<6

Definition at line 388 of file usbd_hid.h.

#define HID_NonVolatile   0<<7

Definition at line 390 of file usbd_hid.h.

#define HID_NoPreferred   1<<5

Definition at line 387 of file usbd_hid.h.

#define HID_NoWrap   0<<3

Definition at line 382 of file usbd_hid.h.

#define HID_NullState   1<<6

Definition at line 389 of file usbd_hid.h.

#define HID_Output (   x)    0x91,x

Definition at line 370 of file usbd_hid.h.

#define HID_Physical   0x00

Collection Data

Definition at line 394 of file usbd_hid.h.

#define HID_PHYSICAL_DESCRIPTOR_TYPE   0x23

Descriptor header type value, to indicate a HID class HID Physical descriptor.

Definition at line 73 of file usbd_hid.h.

#define HID_PhysicalMax (   x)    0x45,x

Definition at line 414 of file usbd_hid.h.

#define HID_PhysicalMaxL (   x)    0x47,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)

Definition at line 416 of file usbd_hid.h.

#define HID_PhysicalMaxS (   x)    0x46,(x&0xFF),((x>>8)&0xFF)

Definition at line 415 of file usbd_hid.h.

#define HID_PhysicalMin (   x)    0x35,x

Definition at line 411 of file usbd_hid.h.

#define HID_PhysicalMinL (   x)    0x37,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)

Definition at line 413 of file usbd_hid.h.

#define HID_PhysicalMinS (   x)    0x36,(x&0xFF),((x>>8)&0xFF)

Definition at line 412 of file usbd_hid.h.

#define HID_Pop   0xB0

Definition at line 425 of file usbd_hid.h.

#define HID_PreferredState   0<<5

Definition at line 386 of file usbd_hid.h.

#define HID_PROTOCOL_KEYBOARD   0x01

Descriptor Protocol value indicating that the device or interface belongs to the Keyboard HID boot protocol.

Definition at line 58 of file usbd_hid.h.

#define HID_PROTOCOL_MOUSE   0x02

Descriptor Protocol value indicating that the device or interface belongs to the Mouse HID boot protocol.

Definition at line 60 of file usbd_hid.h.

#define HID_PROTOCOL_NONE   0x00

HID Protocol CodesDescriptor Protocol value indicating that the device or interface does not belong to a HID boot protocol.

Definition at line 56 of file usbd_hid.h.

#define HID_Push   0xA0

Definition at line 424 of file usbd_hid.h.

#define HID_Relative   1<<2

Definition at line 381 of file usbd_hid.h.

#define HID_Report   0x03

Definition at line 397 of file usbd_hid.h.

#define HID_REPORT_DESCRIPTOR_TYPE   0x22

Descriptor header type value, to indicate a HID class HID report descriptor.

Definition at line 71 of file usbd_hid.h.

#define HID_REPORT_FEATURE   0x03

Definition at line 116 of file usbd_hid.h.

#define HID_REPORT_INPUT   0x01

HID Report Types

Definition at line 114 of file usbd_hid.h.

#define HID_REPORT_OUTPUT   0x02

Definition at line 115 of file usbd_hid.h.

#define HID_ReportCount (   x)    0x95,x

Definition at line 423 of file usbd_hid.h.

#define HID_ReportID (   x)    0x85,x

Definition at line 422 of file usbd_hid.h.

#define HID_ReportSize (   x)    0x75,x

Definition at line 421 of file usbd_hid.h.

#define HID_REQUEST_GET_IDLE   0x02

Definition at line 104 of file usbd_hid.h.

#define HID_REQUEST_GET_PROTOCOL   0x03

Definition at line 105 of file usbd_hid.h.

#define HID_REQUEST_GET_REPORT   0x01

HID Request Codes

Definition at line 103 of file usbd_hid.h.

#define HID_REQUEST_SET_IDLE   0x0A

Definition at line 107 of file usbd_hid.h.

#define HID_REQUEST_SET_PROTOCOL   0x0B

Definition at line 108 of file usbd_hid.h.

#define HID_REQUEST_SET_REPORT   0x09

Definition at line 106 of file usbd_hid.h.

#define HID_SUBCLASS_BOOT   0x01

Descriptor Subclass value indicating that the device or interface implements a HID boot protocol.

Definition at line 49 of file usbd_hid.h.

#define HID_SUBCLASS_NONE   0x00

HID Subclass CodesDescriptor Subclass value indicating that the device or interface does not implement a HID boot protocol.

Definition at line 47 of file usbd_hid.h.

#define HID_Unit (   x)    0x65,x

Definition at line 418 of file usbd_hid.h.

#define HID_UnitExponent (   x)    0x55,x

Definition at line 417 of file usbd_hid.h.

#define HID_UnitL (   x)    0x67,(x&0xFF),((x>>8)&0xFF),((x>>16)&0xFF),((x>>24)&0xFF)

Definition at line 420 of file usbd_hid.h.

#define HID_UnitS (   x)    0x66,(x&0xFF),((x>>8)&0xFF)

Definition at line 419 of file usbd_hid.h.

#define HID_Usage (   x)    0x09,x

Local Items

Definition at line 428 of file usbd_hid.h.

#define HID_USAGE_CONSUMER_CONTROL   0x01

Consumer Page (0x0C)

Definition at line 353 of file usbd_hid.h.

#define HID_USAGE_CONSUMER_FAST_FORWARD   0xB3

Definition at line 354 of file usbd_hid.h.

#define HID_USAGE_CONSUMER_PLAY_PAUSE   0xCD

Definition at line 356 of file usbd_hid.h.

#define HID_USAGE_CONSUMER_REWIND   0xB4

Definition at line 355 of file usbd_hid.h.

#define HID_USAGE_CONSUMER_VOLUME_DECREMENT   0xEA

Definition at line 358 of file usbd_hid.h.

#define HID_USAGE_CONSUMER_VOLUME_INCREMENT   0xE9

Definition at line 357 of file usbd_hid.h.

#define HID_USAGE_GENERIC_BYTE_COUNT   0x3B

Definition at line 162 of file usbd_hid.h.

#define HID_USAGE_GENERIC_COUNTED_BUFFER   0x3A

Definition at line 161 of file usbd_hid.h.

#define HID_USAGE_GENERIC_DIAL   0x37

Definition at line 158 of file usbd_hid.h.

#define HID_USAGE_GENERIC_GAMEPAD   0x05

Definition at line 148 of file usbd_hid.h.

#define HID_USAGE_GENERIC_HATSWITCH   0x39

Definition at line 160 of file usbd_hid.h.

#define HID_USAGE_GENERIC_JOYSTICK   0x04

Definition at line 147 of file usbd_hid.h.

#define HID_USAGE_GENERIC_KEYBOARD   0x06

Definition at line 149 of file usbd_hid.h.

#define HID_USAGE_GENERIC_KEYPAD   0x07

Definition at line 150 of file usbd_hid.h.

#define HID_USAGE_GENERIC_MOTION_WAKEUP   0x3C

Definition at line 163 of file usbd_hid.h.

#define HID_USAGE_GENERIC_MOUSE   0x02

Definition at line 146 of file usbd_hid.h.

#define HID_USAGE_GENERIC_POINTER   0x01

Generic Desktop Page (0x01)

Definition at line 145 of file usbd_hid.h.

#define HID_USAGE_GENERIC_RX   0x33

Definition at line 154 of file usbd_hid.h.

#define HID_USAGE_GENERIC_RY   0x34

Definition at line 155 of file usbd_hid.h.

#define HID_USAGE_GENERIC_RZ   0x35

Definition at line 156 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SLIDER   0x36

Definition at line 157 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_APP_MENU   0x86

Definition at line 177 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU   0x84

Definition at line 175 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_HELP_MENU   0x87

Definition at line 178 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU   0x85

Definition at line 176 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN   0x8D

Definition at line 184 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT   0x88

Definition at line 179 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT   0x8B

Definition at line 182 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT   0x8A

Definition at line 181 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT   0x89

Definition at line 180 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_MENU_UP   0x8C

Definition at line 183 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_POWER   0x81

Definition at line 172 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_SLEEP   0x82

Definition at line 173 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSCTL_WAKE   0x83

Definition at line 174 of file usbd_hid.h.

#define HID_USAGE_GENERIC_SYSTEM_CTL   0x80

Definition at line 171 of file usbd_hid.h.

#define HID_USAGE_GENERIC_VBRX   0x43

Definition at line 167 of file usbd_hid.h.

#define HID_USAGE_GENERIC_VBRY   0x44

Definition at line 168 of file usbd_hid.h.

#define HID_USAGE_GENERIC_VBRZ   0x45

Definition at line 169 of file usbd_hid.h.

#define HID_USAGE_GENERIC_VNO   0x46

Definition at line 170 of file usbd_hid.h.

#define HID_USAGE_GENERIC_VX   0x40

Definition at line 164 of file usbd_hid.h.

#define HID_USAGE_GENERIC_VY   0x41

Definition at line 165 of file usbd_hid.h.

#define HID_USAGE_GENERIC_VZ   0x42

Definition at line 166 of file usbd_hid.h.

#define HID_USAGE_GENERIC_WHEEL   0x38

Definition at line 159 of file usbd_hid.h.

#define HID_USAGE_GENERIC_X   0x30

Definition at line 151 of file usbd_hid.h.

#define HID_USAGE_GENERIC_Y   0x31

Definition at line 152 of file usbd_hid.h.

#define HID_USAGE_GENERIC_Z   0x32

Definition at line 153 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_aA   0x04

Letters

Definition at line 216 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_CAPS_LOCK   0x39

Definition at line 244 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_DELETE   0x2A

Definition at line 225 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_ESCAPE   0x29

Definition at line 224 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_F1   0x3A

Funtion keys

Definition at line 228 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_F12   0x45

Definition at line 229 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_LALT   0xE2

Definition at line 236 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_LCTRL   0xE0

Modifier Keys

Definition at line 234 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_LGUI   0xE3

Definition at line 237 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_LSHFT   0xE1

Definition at line 235 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_NOEVENT   0x00

Keyboard/Keypad Page (0x07)Error "keys"

Definition at line 210 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_NUM_LOCK   0x53

Definition at line 243 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_ONE   0x1E

Numbers

Definition at line 220 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_POSTFAIL   0x02

Definition at line 212 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_PRINT_SCREEN   0x46

Definition at line 231 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_RALT   0xE6

Definition at line 240 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_RCTRL   0xE4

Definition at line 238 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_RETURN   0x28

Definition at line 223 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_RGUI   0xE7

Definition at line 241 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_ROLLOVER   0x01

Definition at line 211 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_RSHFT   0xE5

Definition at line 239 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_SCROLL_LOCK   0x47

Definition at line 242 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_UNDEFINED   0x03

Definition at line 213 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_ZERO   0x27

Definition at line 221 of file usbd_hid.h.

#define HID_USAGE_KEYBOARD_zZ   0x1D

Definition at line 217 of file usbd_hid.h.

#define HID_USAGE_LED_AMBER   0x4A

Definition at line 325 of file usbd_hid.h.

#define HID_USAGE_LED_BATTERY_LOW   0x1D

Definition at line 280 of file usbd_hid.h.

#define HID_USAGE_LED_BATTERY_OK   0x1C

Definition at line 279 of file usbd_hid.h.

#define HID_USAGE_LED_BATTERY_OPERATION   0x1B

Definition at line 278 of file usbd_hid.h.

#define HID_USAGE_LED_BUSY   0x2C

Definition at line 295 of file usbd_hid.h.

#define HID_USAGE_LED_CALL_PICKUP   0x25

Definition at line 288 of file usbd_hid.h.

#define HID_USAGE_LED_CAMERA_OFF   0x29

Definition at line 292 of file usbd_hid.h.

#define HID_USAGE_LED_CAMERA_ON   0x28

Definition at line 291 of file usbd_hid.h.

#define HID_USAGE_LED_CAPS_LOCK   0x02

Definition at line 253 of file usbd_hid.h.

#define HID_USAGE_LED_CAV   0x14

Definition at line 271 of file usbd_hid.h.

#define HID_USAGE_LED_CLV   0x15

Definition at line 272 of file usbd_hid.h.

#define HID_USAGE_LED_COMPOSE   0x04

Definition at line 255 of file usbd_hid.h.

#define HID_USAGE_LED_CONFERENCE   0x26

Definition at line 289 of file usbd_hid.h.

#define HID_USAGE_LED_COVERAGE   0x22

Definition at line 285 of file usbd_hid.h.

#define HID_USAGE_LED_DATA_MODE   0x1A

Definition at line 277 of file usbd_hid.h.

#define HID_USAGE_LED_DO_NOT_DISTURB   0x08

Definition at line 259 of file usbd_hid.h.

#define HID_USAGE_LED_EQUALIZER_ENABLE   0x0D

Definition at line 264 of file usbd_hid.h.

#define HID_USAGE_LED_ERROR   0x39

Definition at line 308 of file usbd_hid.h.

#define HID_USAGE_LED_FAST_BLINK_OFF_TIME   0x46

Definition at line 321 of file usbd_hid.h.

#define HID_USAGE_LED_FAST_BLINK_ON_TIME   0x45

Definition at line 320 of file usbd_hid.h.

#define HID_USAGE_LED_FAST_FORWARD   0x35

Definition at line 304 of file usbd_hid.h.

#define HID_USAGE_LED_FLASH_ON_TIME   0x42

Definition at line 317 of file usbd_hid.h.

#define HID_USAGE_LED_FORWARD   0x31

Definition at line 300 of file usbd_hid.h.

#define HID_USAGE_LED_GENERIC_INDICATOR   0x4B

Definition at line 326 of file usbd_hid.h.

#define HID_USAGE_LED_GREEN   0x49

Definition at line 324 of file usbd_hid.h.

#define HID_USAGE_LED_HEAD_SET   0x1F

Definition at line 282 of file usbd_hid.h.

#define HID_USAGE_LED_HIGH_CUT_FILTER   0x0B

Definition at line 262 of file usbd_hid.h.

#define HID_USAGE_LED_HOLD   0x20

Definition at line 283 of file usbd_hid.h.

#define HID_USAGE_LED_IN_USE_INDICATOR   0x3B

Definition at line 310 of file usbd_hid.h.

#define HID_USAGE_LED_INDICATOR_COLOR   0x47

Definition at line 322 of file usbd_hid.h.

#define HID_USAGE_LED_INDICATOR_FAST_BLINK   0x40

Definition at line 315 of file usbd_hid.h.

#define HID_USAGE_LED_INDICATOR_FLASH   0x3E

Definition at line 313 of file usbd_hid.h.

#define HID_USAGE_LED_INDICATOR_OFF   0x41

Definition at line 316 of file usbd_hid.h.

#define HID_USAGE_LED_INDICATOR_ON   0x3D

Definition at line 312 of file usbd_hid.h.

#define HID_USAGE_LED_INDICATOR_SLOW_BLINK   0x3F

Definition at line 314 of file usbd_hid.h.

#define HID_USAGE_LED_KANA   0x05

Definition at line 256 of file usbd_hid.h.

#define HID_USAGE_LED_LOW_CUT_FILTER   0x0C

Definition at line 263 of file usbd_hid.h.

#define HID_USAGE_LED_MESSAGE_WAITING   0x19

Definition at line 276 of file usbd_hid.h.

#define HID_USAGE_LED_MICROPHONE   0x21

Definition at line 284 of file usbd_hid.h.

#define HID_USAGE_LED_MULTI_MODE_INDICATOR   0x3C

Definition at line 311 of file usbd_hid.h.

#define HID_USAGE_LED_MUTE   0x09

Definition at line 260 of file usbd_hid.h.

#define HID_USAGE_LED_NIGHT_MODE   0x23

Definition at line 286 of file usbd_hid.h.

#define HID_USAGE_LED_NUM_LOCK   0x01

LED Page (0x08)

Definition at line 252 of file usbd_hid.h.

#define HID_USAGE_LED_OFF_HOOK   0x17

Definition at line 274 of file usbd_hid.h.

#define HID_USAGE_LED_OFF_LINE   0x2B

Definition at line 294 of file usbd_hid.h.

#define HID_USAGE_LED_ON_LINE   0x2A

Definition at line 293 of file usbd_hid.h.

#define HID_USAGE_LED_PAPER_JAM   0x2F

Definition at line 298 of file usbd_hid.h.

#define HID_USAGE_LED_PAPER_OUT   0x2E

Definition at line 297 of file usbd_hid.h.

#define HID_USAGE_LED_PAUSE   0x37

Definition at line 306 of file usbd_hid.h.

#define HID_USAGE_LED_PLAY   0x36

Definition at line 305 of file usbd_hid.h.

#define HID_USAGE_LED_POWER   0x06

Definition at line 257 of file usbd_hid.h.

#define HID_USAGE_LED_READY   0x2D

Definition at line 296 of file usbd_hid.h.

#define HID_USAGE_LED_RECORD   0x38

Definition at line 307 of file usbd_hid.h.

#define HID_USAGE_LED_RECORDING_FORMAT_DET   0x16

Definition at line 273 of file usbd_hid.h.

#define HID_USAGE_LED_RED   0x48

Definition at line 323 of file usbd_hid.h.

#define HID_USAGE_LED_REMOTE   0x30

Definition at line 299 of file usbd_hid.h.

#define HID_USAGE_LED_REPEAT   0x10

Definition at line 267 of file usbd_hid.h.

#define HID_USAGE_LED_REVERSE   0x32

Definition at line 301 of file usbd_hid.h.

#define HID_USAGE_LED_REWIND   0x34

Definition at line 303 of file usbd_hid.h.

#define HID_USAGE_LED_RING   0x18

Definition at line 275 of file usbd_hid.h.

#define HID_USAGE_LED_SAMPLING_RATE_DETECT   0x12

Definition at line 269 of file usbd_hid.h.

#define HID_USAGE_LED_SCROLL_LOCK   0x03

Definition at line 254 of file usbd_hid.h.

#define HID_USAGE_LED_SELECTED_INDICATOR   0x3A

Definition at line 309 of file usbd_hid.h.

#define HID_USAGE_LED_SEND_CALLS   0x24

Definition at line 287 of file usbd_hid.h.

#define HID_USAGE_LED_SHIFT   0x07

Definition at line 258 of file usbd_hid.h.

#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME   0x44

Definition at line 319 of file usbd_hid.h.

#define HID_USAGE_LED_SLOW_BLINK_ON_TIME   0x43

Definition at line 318 of file usbd_hid.h.

#define HID_USAGE_LED_SOUND_FIELD_ON   0x0E

Definition at line 265 of file usbd_hid.h.

#define HID_USAGE_LED_SPEAKER   0x1E

Definition at line 281 of file usbd_hid.h.

#define HID_USAGE_LED_SPINNING   0x13

Definition at line 270 of file usbd_hid.h.

#define HID_USAGE_LED_STAND_BY   0x27

Definition at line 290 of file usbd_hid.h.

#define HID_USAGE_LED_STEREO   0x11

Definition at line 268 of file usbd_hid.h.

#define HID_USAGE_LED_STOP   0x33

Definition at line 302 of file usbd_hid.h.

#define HID_USAGE_LED_SURROUND_FIELD_ON   0x0F

Definition at line 266 of file usbd_hid.h.

#define HID_USAGE_LED_TONE_ENABLE   0x0A

Definition at line 261 of file usbd_hid.h.

#define HID_USAGE_PAGE_ALPHANUMERIC   0x14

Definition at line 138 of file usbd_hid.h.

#define HID_USAGE_PAGE_BUTTON   0x09

Definition at line 132 of file usbd_hid.h.

#define HID_USAGE_PAGE_CONSUMER   0x0C

Definition at line 135 of file usbd_hid.h.

#define HID_USAGE_PAGE_DEV_CONTROLS   0x06

Definition at line 129 of file usbd_hid.h.

#define HID_USAGE_PAGE_DIGITIZER   0x0D

Definition at line 136 of file usbd_hid.h.

#define HID_USAGE_PAGE_GAME   0x05

Definition at line 128 of file usbd_hid.h.

#define HID_USAGE_PAGE_GENERIC   0x01

Definition at line 124 of file usbd_hid.h.

#define HID_USAGE_PAGE_KEYBOARD   0x07

Definition at line 130 of file usbd_hid.h.

#define HID_USAGE_PAGE_LED   0x08

Definition at line 131 of file usbd_hid.h.

#define HID_USAGE_PAGE_ORDINAL   0x0A

Definition at line 133 of file usbd_hid.h.

#define HID_USAGE_PAGE_SIMULATION   0x02

Definition at line 125 of file usbd_hid.h.

#define HID_USAGE_PAGE_SPORT   0x04

Definition at line 127 of file usbd_hid.h.

#define HID_USAGE_PAGE_TELEPHONY   0x0B

Definition at line 134 of file usbd_hid.h.

#define HID_USAGE_PAGE_UNDEFINED   0x00

Usage Pages

Definition at line 123 of file usbd_hid.h.

#define HID_USAGE_PAGE_UNICODE   0x10

Definition at line 137 of file usbd_hid.h.

#define HID_USAGE_PAGE_VR   0x03

Definition at line 126 of file usbd_hid.h.

#define HID_USAGE_SIMULATION_RUDDER   0xBA

Simulation Controls Page (0x02)

Definition at line 190 of file usbd_hid.h.

#define HID_USAGE_SIMULATION_THROTTLE   0xBB

Definition at line 191 of file usbd_hid.h.

#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE   0x02

Definition at line 341 of file usbd_hid.h.

#define HID_USAGE_TELEPHONY_HANDSET   0x04

Definition at line 343 of file usbd_hid.h.

#define HID_USAGE_TELEPHONY_HEADSET   0x05

Definition at line 344 of file usbd_hid.h.

#define HID_USAGE_TELEPHONY_KEYPAD   0x06

Definition at line 345 of file usbd_hid.h.

#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS   0x03

Definition at line 342 of file usbd_hid.h.

#define HID_USAGE_TELEPHONY_PHONE   0x01

Telephony Device Page (0x0B)

Definition at line 340 of file usbd_hid.h.

#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON   0x07

Definition at line 346 of file usbd_hid.h.

#define HID_UsageMax (   x)    0x29,x

Definition at line 430 of file usbd_hid.h.

#define HID_UsageMin (   x)    0x19,x

Definition at line 429 of file usbd_hid.h.

#define HID_UsageModifier   0x06

Definition at line 400 of file usbd_hid.h.

#define HID_UsagePage (   x)    0x05,x

Global Items

Definition at line 403 of file usbd_hid.h.

#define HID_UsagePageVendor (   x)    0x06,x,0xFF

Definition at line 404 of file usbd_hid.h.

#define HID_UsageSwitch   0x05

Definition at line 399 of file usbd_hid.h.

#define HID_Variable   1<<1

Definition at line 379 of file usbd_hid.h.

#define HID_Volatile   1<<7

Definition at line 391 of file usbd_hid.h.

#define HID_Wrap   1<<3

Definition at line 383 of file usbd_hid.h.

Function Documentation

bool CALLBACK_UsbdHid_IsReportChanged ( void  )
uint32_t CALLBACK_UsbdHid_Register_InterfaceDescriptor ( void  )
uint32_t CALLBACK_UsbdHid_Register_ReportDescriptor ( uint8_t **  dest)
uint32_t CALLBACK_UsbdHid_Register_ReportInBuffer ( uint8_t **  dest)
void CALLBACK_UsbdHid_SetReport ( uint8_t **  reportoutbuffer,
uint32_t  reportoutsize 
)
void CALLBACK_UsbdHid_SetReportChange ( bool  newstate)