LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Common Class Definitions

Typedefs

struct {
   USB_Descriptor_Header_t   Header
 
   uint16_t   HIDSpec
 
   uint8_t   CountryCode
 
   uint8_t   TotalReportDescriptors
 
   uint8_t   HIDReportType
 
   uint16_t   HIDReportLength
 
USB_HID_Descriptor_HID_t
 
struct {
   uint8_t   bLength
 
   uint8_t   bDescriptorType
 
   uint16_t   bcdHID
 
   uint8_t   bCountryCode
 
   uint8_t   bNumDescriptors
 
   uint8_t   bDescriptorType2
 
   uint16_t   wDescriptorLength
 
USB_HID_StdDescriptor_HID_t
 
struct {
   uint8_t   Button
 
   int8_t   X
 
   int8_t   Y
 
USB_MouseReport_Data_t
 
struct {
   uint8_t   Modifier
 
   uint8_t   Reserved
 
   uint8_t   KeyCode [6]
 
USB_KeyboardReport_Data_t
 
typedef uint8_t USB_Descriptor_HIDReport_Datatype_t
 

Enumerations

enum  HID_Descriptor_ClassSubclassProtocol_t {
  HID_CSCP_HIDClass = 0x03, HID_CSCP_NonBootSubclass = 0x00, HID_CSCP_BootSubclass = 0x01, HID_CSCP_NonBootProtocol = 0x00,
  HID_CSCP_KeyboardBootProtocol = 0x01, HID_CSCP_MouseBootProtocol = 0x02
}
 
enum  HID_ClassRequests_t {
  HID_REQ_GetReport = 0x01, HID_REQ_GetIdle = 0x02, HID_REQ_GetProtocol = 0x03, HID_REQ_SetReport = 0x09,
  HID_REQ_SetIdle = 0x0A, HID_REQ_SetProtocol = 0x0B
}
 
enum  HID_DescriptorTypes_t { HID_DTYPE_HID = 0x21, HID_DTYPE_Report = 0x22 }
 
enum  HID_ReportItemTypes_t { HID_REPORT_ITEM_In = 0, HID_REPORT_ITEM_Out = 1, HID_REPORT_ITEM_Feature = 2 }
 

Keyboard Standard Report Modifier Masks

#define HID_KEYBOARD_MODIFER_LEFTCTRL   (1 << 0)
 
#define HID_KEYBOARD_MODIFER_LEFTSHIFT   (1 << 1)
 
#define HID_KEYBOARD_MODIFER_LEFTALT   (1 << 2)
 
#define HID_KEYBOARD_MODIFER_LEFTGUI   (1 << 3)
 
#define HID_KEYBOARD_MODIFER_RIGHTCTRL   (1 << 4)
 
#define HID_KEYBOARD_MODIFER_RIGHTSHIFT   (1 << 5)
 
#define HID_KEYBOARD_MODIFER_RIGHTALT   (1 << 6)
 
#define HID_KEYBOARD_MODIFER_RIGHTGUI   (1 << 7)
 

Keyboard Standard Report LED Masks

#define HID_KEYBOARD_LED_NUMLOCK   (1 << 0)
 
#define HID_KEYBOARD_LED_CAPSLOCK   (1 << 1)
 
#define HID_KEYBOARD_LED_SCROLLLOCK   (1 << 2)
 
#define HID_KEYBOARD_LED_KATANA   (1 << 3)
 

Keyboard Standard Report Key Scan-codes

#define HID_KEYBOARD_SC_ERROR_ROLLOVER   0x01
 
#define HID_KEYBOARD_SC_POST_FAIL   0x02
 
#define HID_KEYBOARD_SC_ERROR_UNDEFINED   0x03
 
#define HID_KEYBOARD_SC_A   0x04
 
#define HID_KEYBOARD_SC_B   0x05
 
#define HID_KEYBOARD_SC_C   0x06
 
#define HID_KEYBOARD_SC_D   0x07
 
#define HID_KEYBOARD_SC_E   0x08
 
#define HID_KEYBOARD_SC_F   0x09
 
#define HID_KEYBOARD_SC_G   0x0A
 
#define HID_KEYBOARD_SC_H   0x0B
 
#define HID_KEYBOARD_SC_I   0x0C
 
#define HID_KEYBOARD_SC_J   0x0D
 
#define HID_KEYBOARD_SC_K   0x0E
 
#define HID_KEYBOARD_SC_L   0x0F
 
#define HID_KEYBOARD_SC_M   0x10
 
#define HID_KEYBOARD_SC_N   0x11
 
#define HID_KEYBOARD_SC_O   0x12
 
#define HID_KEYBOARD_SC_P   0x13
 
#define HID_KEYBOARD_SC_Q   0x14
 
#define HID_KEYBOARD_SC_R   0x15
 
#define HID_KEYBOARD_SC_S   0x16
 
#define HID_KEYBOARD_SC_T   0x17
 
#define HID_KEYBOARD_SC_U   0x18
 
#define HID_KEYBOARD_SC_V   0x19
 
#define HID_KEYBOARD_SC_W   0x1A
 
#define HID_KEYBOARD_SC_X   0x1B
 
#define HID_KEYBOARD_SC_Y   0x1C
 
#define HID_KEYBOARD_SC_Z   0x1D
 
#define HID_KEYBOARD_SC_1_AND_EXCLAMATION   0x1E
 
#define HID_KEYBOARD_SC_2_AND_AT   0x1F
 
#define HID_KEYBOARD_SC_3_AND_HASHMARK   0x20
 
#define HID_KEYBOARD_SC_4_AND_DOLLAR   0x21
 
#define HID_KEYBOARD_SC_5_AND_PERCENTAGE   0x22
 
#define HID_KEYBOARD_SC_6_AND_CARET   0x23
 
#define HID_KEYBOARD_SC_7_AND_AND_AMPERSAND   0x24
 
#define HID_KEYBOARD_SC_8_AND_ASTERISK   0x25
 
#define HID_KEYBOARD_SC_9_AND_OPENING_PARENTHESIS   0x26
 
#define HID_KEYBOARD_SC_0_AND_CLOSING_PARENTHESIS   0x27
 
#define HID_KEYBOARD_SC_ENTER   0x28
 
#define HID_KEYBOARD_SC_ESCAPE   0x29
 
#define HID_KEYBOARD_SC_BACKSPACE   0x2A
 
#define HID_KEYBOARD_SC_TAB   0x2B
 
#define HID_KEYBOARD_SC_SPACE   0x2C
 
#define HID_KEYBOARD_SC_MINUS_AND_UNDERSCORE   0x2D
 
#define HID_KEYBOARD_SC_EQUAL_AND_PLUS   0x2E
 
#define HID_KEYBOARD_SC_OPENING_BRACKET_AND_OPENING_BRACE   0x2F
 
#define HID_KEYBOARD_SC_CLOSING_BRACKET_AND_CLOSING_BRACE   0x30
 
#define HID_KEYBOARD_SC_BACKSLASH_AND_PIPE   0x31
 
#define HID_KEYBOARD_SC_NON_US_HASHMARK_AND_TILDE   0x32
 
#define HID_KEYBOARD_SC_SEMICOLON_AND_COLON   0x33
 
#define HID_KEYBOARD_SC_APOSTROPHE_AND_QUOTE   0x34
 
#define HID_KEYBOARD_SC_GRAVE_ACCENT_AND_TILDE   0x35
 
#define HID_KEYBOARD_SC_COMMA_AND_LESS_THAN_SIGN   0x36
 
#define HID_KEYBOARD_SC_DOT_AND_GREATER_THAN_SIGN   0x37
 
#define HID_KEYBOARD_SC_SLASH_AND_QUESTION_MARK   0x38
 
#define HID_KEYBOARD_SC_CAPS_LOCK   0x39
 
#define HID_KEYBOARD_SC_F1   0x3A
 
#define HID_KEYBOARD_SC_F2   0x3B
 
#define HID_KEYBOARD_SC_F3   0x3C
 
#define HID_KEYBOARD_SC_F4   0x3D
 
#define HID_KEYBOARD_SC_F5   0x3E
 
#define HID_KEYBOARD_SC_F6   0x3F
 
#define HID_KEYBOARD_SC_F7   0x40
 
#define HID_KEYBOARD_SC_F8   0x41
 
#define HID_KEYBOARD_SC_F9   0x42
 
#define HID_KEYBOARD_SC_F10   0x43
 
#define HID_KEYBOARD_SC_F11   0x44
 
#define HID_KEYBOARD_SC_F12   0x45
 
#define HID_KEYBOARD_SC_PRINT_SCREEN   0x46
 
#define HID_KEYBOARD_SC_SCROLL_LOCK   0x47
 
#define HID_KEYBOARD_SC_PAUSE   0x48
 
#define HID_KEYBOARD_SC_INSERT   0x49
 
#define HID_KEYBOARD_SC_HOME   0x4A
 
#define HID_KEYBOARD_SC_PAGE_UP   0x4B
 
#define HID_KEYBOARD_SC_DELETE   0x4C
 
#define HID_KEYBOARD_SC_END   0x4D
 
#define HID_KEYBOARD_SC_PAGE_DOWN   0x4E
 
#define HID_KEYBOARD_SC_RIGHT_ARROW   0x4F
 
#define HID_KEYBOARD_SC_LEFT_ARROW   0x50
 
#define HID_KEYBOARD_SC_DOWN_ARROW   0x51
 
#define HID_KEYBOARD_SC_UP_ARROW   0x52
 
#define HID_KEYBOARD_SC_NUM_LOCK   0x53
 
#define HID_KEYBOARD_SC_KEYPAD_SLASH   0x54
 
#define HID_KEYBOARD_SC_KEYPAD_ASTERISK   0x55
 
#define HID_KEYBOARD_SC_KEYPAD_MINUS   0x56
 
#define HID_KEYBOARD_SC_KEYPAD_PLUS   0x57
 
#define HID_KEYBOARD_SC_KEYPAD_ENTER   0x58
 
#define HID_KEYBOARD_SC_KEYPAD_1_AND_END   0x59
 
#define HID_KEYBOARD_SC_KEYPAD_2_AND_DOWN_ARROW   0x5A
 
#define HID_KEYBOARD_SC_KEYPAD_3_AND_PAGE_DOWN   0x5B
 
#define HID_KEYBOARD_SC_KEYPAD_4_AND_LEFT_ARROW   0x5C
 
#define HID_KEYBOARD_SC_KEYPAD_5   0x5D
 
#define HID_KEYBOARD_SC_KEYPAD_6_AND_RIGHT_ARROW   0x5E
 
#define HID_KEYBOARD_SC_KEYPAD_7_AND_HOME   0x5F
 
#define HID_KEYBOARD_SC_KEYPAD_8_AND_UP_ARROW   0x60
 
#define HID_KEYBOARD_SC_KEYPAD_9_AND_PAGE_UP   0x61
 
#define HID_KEYBOARD_SC_KEYPAD_0_AND_INSERT   0x62
 
#define HID_KEYBOARD_SC_KEYPAD_DOT_AND_DELETE   0x63
 
#define HID_KEYBOARD_SC_NON_US_BACKSLASH_AND_PIPE   0x64
 
#define HID_KEYBOARD_SC_POWER   0x66
 
#define HID_KEYBOARD_SC_EQUAL_SIGN   0x67
 
#define HID_KEYBOARD_SC_F13   0x68
 
#define HID_KEYBOARD_SC_F14   0x69
 
#define HID_KEYBOARD_SC_F15   0x6A
 
#define HID_KEYBOARD_SC_F16   0x6B
 
#define HID_KEYBOARD_SC_F17   0x6C
 
#define HID_KEYBOARD_SC_F18   0x6D
 
#define HID_KEYBOARD_SC_F19   0x6E
 
#define HID_KEYBOARD_SC_F20   0x6F
 
#define HID_KEYBOARD_SC_F21   0x70
 
#define HID_KEYBOARD_SC_F22   0x71
 
#define HID_KEYBOARD_SC_F23   0x72
 
#define HID_KEYBOARD_SC_F24   0x73
 
#define HID_KEYBOARD_SC_EXECUTE   0x74
 
#define HID_KEYBOARD_SC_HELP   0x75
 
#define HID_KEYBOARD_SC_MANU   0x76
 
#define HID_KEYBOARD_SC_SELECT   0x77
 
#define HID_KEYBOARD_SC_STOP   0x78
 
#define HID_KEYBOARD_SC_AGAIN   0x79
 
#define HID_KEYBOARD_SC_UNDO   0x7A
 
#define HID_KEYBOARD_SC_CUT   0x7B
 
#define HID_KEYBOARD_SC_COPY   0x7C
 
#define HID_KEYBOARD_SC_PASTE   0x7D
 
#define HID_KEYBOARD_SC_FIND   0x7E
 
#define HID_KEYBOARD_SC_MUTE   0x7F
 
#define HID_KEYBOARD_SC_VOLUME_UP   0x80
 
#define HID_KEYBOARD_SC_VOLUME_DOWN   0x81
 
#define HID_KEYBOARD_SC_LOCKING_CAPS_LOCK   0x82
 
#define HID_KEYBOARD_SC_LOCKING_NUM_LOCK   0x83
 
#define HID_KEYBOARD_SC_LOCKING_SCROLL_LOCK   0x84
 
#define HID_KEYBOARD_SC_KEYPAD_COMMA   0x85
 
#define HID_KEYBOARD_SC_KEYPAD_EQUAL_SIGN   0x86
 
#define HID_KEYBOARD_SC_INTERNATIONAL1   0x87
 
#define HID_KEYBOARD_SC_INTERNATIONAL2   0x88
 
#define HID_KEYBOARD_SC_INTERNATIONAL3   0x89
 
#define HID_KEYBOARD_SC_INTERNATIONAL4   0x8A
 
#define HID_KEYBOARD_SC_INTERNATIONAL5   0x8B
 
#define HID_KEYBOARD_SC_INTERNATIONAL6   0x8C
 
#define HID_KEYBOARD_SC_INTERNATIONAL7   0x8D
 
#define HID_KEYBOARD_SC_INTERNATIONAL8   0x8E
 
#define HID_KEYBOARD_SC_INTERNATIONAL9   0x8F
 
#define HID_KEYBOARD_SC_LANG1   0x90
 
#define HID_KEYBOARD_SC_LANG2   0x91
 
#define HID_KEYBOARD_SC_LANG3   0x92
 
#define HID_KEYBOARD_SC_LANG4   0x93
 
#define HID_KEYBOARD_SC_LANG5   0x94
 
#define HID_KEYBOARD_SC_LANG6   0x95
 
#define HID_KEYBOARD_SC_LANG7   0x96
 
#define HID_KEYBOARD_SC_LANG8   0x97
 
#define HID_KEYBOARD_SC_LANG9   0x98
 
#define HID_KEYBOARD_SC_ALTERNATE_ERASE   0x99
 
#define HID_KEYBOARD_SC_SISREQ   0x9A
 
#define HID_KEYBOARD_SC_CANCEL   0x9B
 
#define HID_KEYBOARD_SC_CLEAR   0x9C
 
#define HID_KEYBOARD_SC_PRIOR   0x9D
 
#define HID_KEYBOARD_SC_RETURN   0x9E
 
#define HID_KEYBOARD_SC_SEPARATOR   0x9F
 
#define HID_KEYBOARD_SC_OUT   0xA0
 
#define HID_KEYBOARD_SC_OPER   0xA1
 
#define HID_KEYBOARD_SC_CLEAR_AND_AGAIN   0xA2
 
#define HID_KEYBOARD_SC_CRSEL_ANDPROPS   0xA3
 
#define HID_KEYBOARD_SC_EXSEL   0xA4
 
#define HID_KEYBOARD_SC_KEYPAD_00   0xB0
 
#define HID_KEYBOARD_SC_KEYPAD_000   0xB1
 
#define HID_KEYBOARD_SC_THOUSANDS_SEPARATOR   0xB2
 
#define HID_KEYBOARD_SC_DECIMAL_SEPARATOR   0xB3
 
#define HID_KEYBOARD_SC_CURRENCY_UNIT   0xB4
 
#define HID_KEYBOARD_SC_CURRENCY_SUB_UNIT   0xB5
 
#define HID_KEYBOARD_SC_KEYPAD_OPENING_PARENTHESIS   0xB6
 
#define HID_KEYBOARD_SC_KEYPAD_CLOSING_PARENTHESIS   0xB7
 
#define HID_KEYBOARD_SC_KEYPAD_OPENING_BRACE   0xB8
 
#define HID_KEYBOARD_SC_KEYPAD_CLOSING_BRACE   0xB9
 
#define HID_KEYBOARD_SC_KEYPAD_TAB   0xBA
 
#define HID_KEYBOARD_SC_KEYPAD_BACKSPACE   0xBB
 
#define HID_KEYBOARD_SC_KEYPAD_A   0xBC
 
#define HID_KEYBOARD_SC_KEYPAD_B   0xBD
 
#define HID_KEYBOARD_SC_KEYPAD_C   0xBE
 
#define HID_KEYBOARD_SC_KEYPAD_D   0xBF
 
#define HID_KEYBOARD_SC_KEYPAD_E   0xC0
 
#define HID_KEYBOARD_SC_KEYPAD_F   0xC1
 
#define HID_KEYBOARD_SC_KEYPAD_XOR   0xC2
 
#define HID_KEYBOARD_SC_KEYPAD_CARET   0xC3
 
#define HID_KEYBOARD_SC_KEYPAD_PERCENTAGE   0xC4
 
#define HID_KEYBOARD_SC_KEYPAD_LESS_THAN_SIGN   0xC5
 
#define HID_KEYBOARD_SC_KEYPAD_GREATER_THAN_SIGN   0xC6
 
#define HID_KEYBOARD_SC_KEYPAD_AMP   0xC7
 
#define HID_KEYBOARD_SC_KEYPAD_AMP_AMP   0xC8
 
#define HID_KEYBOARD_SC_KEYPAD_PIPE   0xC9
 
#define HID_KEYBOARD_SC_KEYPAD_PIPE_PIPE   0xCA
 
#define HID_KEYBOARD_SC_KEYPAD_COLON   0xCB
 
#define HID_KEYBOARD_SC_KEYPAD_HASHMARK   0xCC
 
#define HID_KEYBOARD_SC_KEYPAD_SPACE   0xCD
 
#define HID_KEYBOARD_SC_KEYPAD_AT   0xCE
 
#define HID_KEYBOARD_SC_KEYPAD_EXCLAMATION_SIGN   0xCF
 
#define HID_KEYBOARD_SC_KEYPAD_MEMORY_STORE   0xD0
 
#define HID_KEYBOARD_SC_KEYPAD_MEMORY_RECALL   0xD1
 
#define HID_KEYBOARD_SC_KEYPAD_MEMORY_CLEAR   0xD2
 
#define HID_KEYBOARD_SC_KEYPAD_MEMORY_ADD   0xD3
 
#define HID_KEYBOARD_SC_KEYPAD_MEMORY_SUBTRACT   0xD4
 
#define HID_KEYBOARD_SC_KEYPAD_MEMORY_MULTIPLY   0xD5
 
#define HID_KEYBOARD_SC_KEYPAD_MEMORY_DIVIDE   0xD6
 
#define HID_KEYBOARD_SC_KEYPAD_PLUS_AND_MINUS   0xD7
 
#define HID_KEYBOARD_SC_KEYPAD_CLEAR   0xD8
 
#define HID_KEYBOARD_SC_KEYPAD_CLEAR_ENTRY   0xD9
 
#define HID_KEYBOARD_SC_KEYPAD_BINARY   0xDA
 
#define HID_KEYBOARD_SC_KEYPAD_OCTAL   0xDB
 
#define HID_KEYBOARD_SC_KEYPAD_DECIMAL   0xDC
 
#define HID_KEYBOARD_SC_KEYPAD_HEXADECIMAL   0xDD
 
#define HID_KEYBOARD_SC_LEFT_CONTROL   0xE0
 
#define HID_KEYBOARD_SC_LEFT_SHIFT   0xE1
 
#define HID_KEYBOARD_SC_LEFT_ALT   0xE2
 
#define HID_KEYBOARD_SC_LEFT_GUI   0xE3
 
#define HID_KEYBOARD_SC_RIGHT_CONTROL   0xE4
 
#define HID_KEYBOARD_SC_RIGHT_SHIFT   0xE5
 
#define HID_KEYBOARD_SC_RIGHT_ALT   0xE6
 
#define HID_KEYBOARD_SC_RIGHT_GUI   0xE7
 

Common HID Device Report Descriptors

#define HID_DESCRIPTOR_JOYSTICK(NumAxis, MinAxisVal, MaxAxisVal, MinPhysicalVal, MaxPhysicalVal, Buttons)
 
#define HID_DESCRIPTOR_KEYBOARD(MaxKeys)
 
#define HID_DESCRIPTOR_MOUSE(MinAxisVal, MaxAxisVal, MinPhysicalVal, MaxPhysicalVal, Buttons, AbsoluteCoords)
 
#define HID_DESCRIPTOR_VENDOR(VendorPageNum, CollectionUsage, DataINUsage, DataOUTUsage, NumBytes)
 

Detailed Description

Module Description

Constants, Types and Enum definitions that are common to both Device and Host modes for the USB HID Class.

Macro Definition Documentation

#define HID_DESCRIPTOR_JOYSTICK (   NumAxis,
  MinAxisVal,
  MaxAxisVal,
  MinPhysicalVal,
  MaxPhysicalVal,
  Buttons 
)

A list of HID report item array elements that describe a typical HID USB Joystick. The resulting report descriptor is structured according to the following layout:

struct
{
intB_t X; // Signed X axis value
intB_t Y; // Signed Y axis value
int8_t Z; // Signed Z axis value
// Additional axis elements here
uintA_t Buttons; // Pressed buttons bitmask
} Joystick_Report;

Where uintA_t is a type large enough to hold one bit per button, and intB_t is a type large enough to hold the ranges of the signed MinAxisVal and MaxAxisVal values.

Parameters
NumAxisNumber of axis in the joystick (8-bit)
MinAxisValMinimum logical axis value (16-bit).
MaxAxisValMaximum logical axis value (16-bit).
MinPhysicalValMinimum physical axis value, for movement resolution calculations (16-bit).
MaxPhysicalValMaximum physical axis value, for movement resolution calculations (16-bit).
ButtonsTotal number of buttons in the device (8-bit).

Definition at line 351 of file HIDClassCommon.h.

#define HID_DESCRIPTOR_KEYBOARD (   MaxKeys)

A list of HID report item array elements that describe a typical HID USB keyboard. The resulting report descriptor is compatible with USB_KeyboardReport_Data_t when MaxKeys is equal to 6. For other values, the report will be structured according to the following layout:

struct
{
uint8_t Modifier; // Keyboard modifier byte indicating pressed modifier keys (HID_KEYBOARD_MODIFER_* masks)
uint8_t Reserved; // Reserved for OEM use, always set to 0.
uint8_t KeyCode[MaxKeys]; // Length determined by the number of keys that can be reported
} Keyboard_Report;
Parameters
MaxKeysNumber of simultaneous keys that can be reported at the one time (8-bit).

Definition at line 396 of file HIDClassCommon.h.

#define HID_DESCRIPTOR_MOUSE (   MinAxisVal,
  MaxAxisVal,
  MinPhysicalVal,
  MaxPhysicalVal,
  Buttons,
  AbsoluteCoords 
)

A list of HID report item array elements that describe a typical HID USB mouse. The resulting report descriptor is compatible with USB_MouseReport_Data_t if the MinAxisVal and MaxAxisVal values fit within a int8_t range and the number of Buttons is less than 8. For other values, the report is structured according to the following layout:

struct
{
uintA_t Buttons; // Pressed buttons bitmask
intB_t X; // X axis value
intB_t Y; // Y axis value
} Mouse_Report;

Where intA_t is a type large enough to hold one bit per button, and intB_t is a type large enough to hold the ranges of the signed MinAxisVal and MaxAxisVal values.

Parameters
MinAxisValMinimum X/Y logical axis value (16-bit).
MaxAxisValMaximum X/Y logical axis value (16-bit).
MinPhysicalValMinimum X/Y physical axis value, for movement resolution calculations (16-bit).
MaxPhysicalValMaximum X/Y physical axis value, for movement resolution calculations (16-bit).
ButtonsTotal number of buttons in the device (8-bit).
AbsoluteCoordsBoolean true to use absolute X/Y coordinates (e.g. touchscreen).

Definition at line 454 of file HIDClassCommon.h.

#define HID_DESCRIPTOR_VENDOR (   VendorPageNum,
  CollectionUsage,
  DataINUsage,
  DataOUTUsage,
  NumBytes 
)

A list of HID report item array elements that describe a typical Vendor Defined byte array HID report descriptor, used for transporting arbitrary data between the USB host and device via HID reports. The resulting report should be a uint8_t byte array of the specified length in both Device to Host (IN) and Host to Device (OUT) directions.

Parameters
VendorPageNumVendor Defined HID Usage Page index, ranging from 0x00 to 0xFF.
CollectionUsageVendor Usage for the encompassing report IN and OUT collection, ranging from 0x00 to 0xFF.
DataINUsageVendor Usage for the IN report data, ranging from 0x00 to 0xFF.
DataOUTUsageVendor Usage for the OUT report data, ranging from 0x00 to 0xFF.
NumBytesLength of the data IN and OUT reports.

Definition at line 495 of file HIDClassCommon.h.

#define HID_KEYBOARD_LED_CAPSLOCK   (1 << 1)

Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set.

Definition at line 94 of file HIDClassCommon.h.

#define HID_KEYBOARD_LED_KATANA   (1 << 3)

Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set.

Definition at line 100 of file HIDClassCommon.h.

#define HID_KEYBOARD_LED_NUMLOCK   (1 << 0)

Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set.

Definition at line 91 of file HIDClassCommon.h.

#define HID_KEYBOARD_LED_SCROLLLOCK   (1 << 2)

Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set.

Definition at line 97 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_LEFTALT   (1 << 2)

Constant for a keyboard report modifier byte, indicating that the keyboard's left alt key is currently pressed.

Definition at line 70 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_LEFTCTRL   (1 << 0)

Constant for a keyboard report modifier byte, indicating that the keyboard's left control key is currently pressed.

Definition at line 64 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_LEFTGUI   (1 << 3)

Constant for a keyboard report modifier byte, indicating that the keyboard's left GUI key is currently pressed.

Definition at line 73 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_LEFTSHIFT   (1 << 1)

Constant for a keyboard report modifier byte, indicating that the keyboard's left shift key is currently pressed.

Definition at line 67 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_RIGHTALT   (1 << 6)

Constant for a keyboard report modifier byte, indicating that the keyboard's right alt key is currently pressed.

Definition at line 82 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_RIGHTCTRL   (1 << 4)

Constant for a keyboard report modifier byte, indicating that the keyboard's right control key is currently pressed.

Definition at line 76 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_RIGHTGUI   (1 << 7)

Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed.

Definition at line 85 of file HIDClassCommon.h.

#define HID_KEYBOARD_MODIFER_RIGHTSHIFT   (1 << 5)

Constant for a keyboard report modifier byte, indicating that the keyboard's right shift key is currently pressed.

Definition at line 79 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_0_AND_CLOSING_PARENTHESIS   0x27

Definition at line 143 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_1_AND_EXCLAMATION   0x1E

Definition at line 134 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_2_AND_AT   0x1F

Definition at line 135 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_3_AND_HASHMARK   0x20

Definition at line 136 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_4_AND_DOLLAR   0x21

Definition at line 137 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_5_AND_PERCENTAGE   0x22

Definition at line 138 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_6_AND_CARET   0x23

Definition at line 139 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_7_AND_AND_AMPERSAND   0x24

Definition at line 140 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_8_AND_ASTERISK   0x25

Definition at line 141 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_9_AND_OPENING_PARENTHESIS   0x26

Definition at line 142 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_A   0x04

Definition at line 108 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_AGAIN   0x79

Definition at line 224 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_ALTERNATE_ERASE   0x99

Definition at line 256 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_APOSTROPHE_AND_QUOTE   0x34

Definition at line 156 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_B   0x05

Definition at line 109 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_BACKSLASH_AND_PIPE   0x31

Definition at line 153 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_BACKSPACE   0x2A

Definition at line 146 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_C   0x06

Definition at line 110 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CANCEL   0x9B

Definition at line 258 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CAPS_LOCK   0x39

Definition at line 161 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CLEAR   0x9C

Definition at line 259 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CLEAR_AND_AGAIN   0xA2

Definition at line 265 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CLOSING_BRACKET_AND_CLOSING_BRACE   0x30

Definition at line 152 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_COMMA_AND_LESS_THAN_SIGN   0x36

Definition at line 158 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_COPY   0x7C

Definition at line 227 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CRSEL_ANDPROPS   0xA3

Definition at line 266 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CURRENCY_SUB_UNIT   0xB5

Definition at line 273 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CURRENCY_UNIT   0xB4

Definition at line 272 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_CUT   0x7B

Definition at line 226 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_D   0x07

Definition at line 111 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_DECIMAL_SEPARATOR   0xB3

Definition at line 271 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_DELETE   0x4C

Definition at line 180 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_DOT_AND_GREATER_THAN_SIGN   0x37

Definition at line 159 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_DOWN_ARROW   0x51

Definition at line 185 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_E   0x08

Definition at line 112 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_END   0x4D

Definition at line 181 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_ENTER   0x28

Definition at line 144 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_EQUAL_AND_PLUS   0x2E

Definition at line 150 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_EQUAL_SIGN   0x67

Definition at line 206 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_ERROR_ROLLOVER   0x01

Definition at line 105 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_ERROR_UNDEFINED   0x03

Definition at line 107 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_ESCAPE   0x29

Definition at line 145 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_EXECUTE   0x74

Definition at line 219 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_EXSEL   0xA4

Definition at line 267 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F   0x09

Definition at line 113 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F1   0x3A

Definition at line 162 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F10   0x43

Definition at line 171 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F11   0x44

Definition at line 172 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F12   0x45

Definition at line 173 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F13   0x68

Definition at line 207 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F14   0x69

Definition at line 208 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F15   0x6A

Definition at line 209 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F16   0x6B

Definition at line 210 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F17   0x6C

Definition at line 211 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F18   0x6D

Definition at line 212 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F19   0x6E

Definition at line 213 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F2   0x3B

Definition at line 163 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F20   0x6F

Definition at line 214 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F21   0x70

Definition at line 215 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F22   0x71

Definition at line 216 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F23   0x72

Definition at line 217 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F24   0x73

Definition at line 218 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F3   0x3C

Definition at line 164 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F4   0x3D

Definition at line 165 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F5   0x3E

Definition at line 166 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F6   0x3F

Definition at line 167 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F7   0x40

Definition at line 168 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F8   0x41

Definition at line 169 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_F9   0x42

Definition at line 170 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_FIND   0x7E

Definition at line 229 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_G   0x0A

Definition at line 114 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_GRAVE_ACCENT_AND_TILDE   0x35

Definition at line 157 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_H   0x0B

Definition at line 115 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_HELP   0x75

Definition at line 220 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_HOME   0x4A

Definition at line 178 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_I   0x0C

Definition at line 116 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INSERT   0x49

Definition at line 177 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL1   0x87

Definition at line 238 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL2   0x88

Definition at line 239 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL3   0x89

Definition at line 240 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL4   0x8A

Definition at line 241 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL5   0x8B

Definition at line 242 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL6   0x8C

Definition at line 243 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL7   0x8D

Definition at line 244 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL8   0x8E

Definition at line 245 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_INTERNATIONAL9   0x8F

Definition at line 246 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_J   0x0D

Definition at line 117 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_K   0x0E

Definition at line 118 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_00   0xB0

Definition at line 268 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_000   0xB1

Definition at line 269 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_0_AND_INSERT   0x62

Definition at line 202 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_1_AND_END   0x59

Definition at line 193 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_2_AND_DOWN_ARROW   0x5A

Definition at line 194 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_3_AND_PAGE_DOWN   0x5B

Definition at line 195 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_4_AND_LEFT_ARROW   0x5C

Definition at line 196 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_5   0x5D

Definition at line 197 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_6_AND_RIGHT_ARROW   0x5E

Definition at line 198 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_7_AND_HOME   0x5F

Definition at line 199 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_8_AND_UP_ARROW   0x60

Definition at line 200 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_9_AND_PAGE_UP   0x61

Definition at line 201 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_A   0xBC

Definition at line 280 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_AMP   0xC7

Definition at line 291 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_AMP_AMP   0xC8

Definition at line 292 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_ASTERISK   0x55

Definition at line 189 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_AT   0xCE

Definition at line 298 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_B   0xBD

Definition at line 281 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_BACKSPACE   0xBB

Definition at line 279 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_BINARY   0xDA

Definition at line 310 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_C   0xBE

Definition at line 282 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_CARET   0xC3

Definition at line 287 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_CLEAR   0xD8

Definition at line 308 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_CLEAR_ENTRY   0xD9

Definition at line 309 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_CLOSING_BRACE   0xB9

Definition at line 277 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_CLOSING_PARENTHESIS   0xB7

Definition at line 275 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_COLON   0xCB

Definition at line 295 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_COMMA   0x85

Definition at line 236 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_D   0xBF

Definition at line 283 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_DECIMAL   0xDC

Definition at line 312 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_DOT_AND_DELETE   0x63

Definition at line 203 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_E   0xC0

Definition at line 284 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_ENTER   0x58

Definition at line 192 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_EQUAL_SIGN   0x86

Definition at line 237 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_EXCLAMATION_SIGN   0xCF

Definition at line 299 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_F   0xC1

Definition at line 285 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_GREATER_THAN_SIGN   0xC6

Definition at line 290 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_HASHMARK   0xCC

Definition at line 296 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_HEXADECIMAL   0xDD

Definition at line 313 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_LESS_THAN_SIGN   0xC5

Definition at line 289 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MEMORY_ADD   0xD3

Definition at line 303 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MEMORY_CLEAR   0xD2

Definition at line 302 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MEMORY_DIVIDE   0xD6

Definition at line 306 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MEMORY_MULTIPLY   0xD5

Definition at line 305 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MEMORY_RECALL   0xD1

Definition at line 301 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MEMORY_STORE   0xD0

Definition at line 300 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MEMORY_SUBTRACT   0xD4

Definition at line 304 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_MINUS   0x56

Definition at line 190 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_OCTAL   0xDB

Definition at line 311 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_OPENING_BRACE   0xB8

Definition at line 276 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_OPENING_PARENTHESIS   0xB6

Definition at line 274 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_PERCENTAGE   0xC4

Definition at line 288 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_PIPE   0xC9

Definition at line 293 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_PIPE_PIPE   0xCA

Definition at line 294 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_PLUS   0x57

Definition at line 191 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_PLUS_AND_MINUS   0xD7

Definition at line 307 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_SLASH   0x54

Definition at line 188 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_SPACE   0xCD

Definition at line 297 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_TAB   0xBA

Definition at line 278 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_KEYPAD_XOR   0xC2

Definition at line 286 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_L   0x0F

Definition at line 119 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG1   0x90

Definition at line 247 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG2   0x91

Definition at line 248 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG3   0x92

Definition at line 249 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG4   0x93

Definition at line 250 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG5   0x94

Definition at line 251 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG6   0x95

Definition at line 252 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG7   0x96

Definition at line 253 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG8   0x97

Definition at line 254 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LANG9   0x98

Definition at line 255 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LEFT_ALT   0xE2

Definition at line 316 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LEFT_ARROW   0x50

Definition at line 184 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LEFT_CONTROL   0xE0

Definition at line 314 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LEFT_GUI   0xE3

Definition at line 317 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LEFT_SHIFT   0xE1

Definition at line 315 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LOCKING_CAPS_LOCK   0x82

Definition at line 233 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LOCKING_NUM_LOCK   0x83

Definition at line 234 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_LOCKING_SCROLL_LOCK   0x84

Definition at line 235 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_M   0x10

Definition at line 120 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_MANU   0x76

Definition at line 221 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_MINUS_AND_UNDERSCORE   0x2D

Definition at line 149 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_MUTE   0x7F

Definition at line 230 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_N   0x11

Definition at line 121 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_NON_US_BACKSLASH_AND_PIPE   0x64

Definition at line 204 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_NON_US_HASHMARK_AND_TILDE   0x32

Definition at line 154 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_NUM_LOCK   0x53

Definition at line 187 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_O   0x12

Definition at line 122 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_OPENING_BRACKET_AND_OPENING_BRACE   0x2F

Definition at line 151 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_OPER   0xA1

Definition at line 264 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_OUT   0xA0

Definition at line 263 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_P   0x13

Definition at line 123 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_PAGE_DOWN   0x4E

Definition at line 182 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_PAGE_UP   0x4B

Definition at line 179 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_PASTE   0x7D

Definition at line 228 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_PAUSE   0x48

Definition at line 176 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_POST_FAIL   0x02

Definition at line 106 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_POWER   0x66

Definition at line 205 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_PRINT_SCREEN   0x46

Definition at line 174 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_PRIOR   0x9D

Definition at line 260 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_Q   0x14

Definition at line 124 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_R   0x15

Definition at line 125 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_RETURN   0x9E

Definition at line 261 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_RIGHT_ALT   0xE6

Definition at line 320 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_RIGHT_ARROW   0x4F

Definition at line 183 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_RIGHT_CONTROL   0xE4

Definition at line 318 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_RIGHT_GUI   0xE7

Definition at line 321 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_RIGHT_SHIFT   0xE5

Definition at line 319 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_S   0x16

Definition at line 126 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_SCROLL_LOCK   0x47

Definition at line 175 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_SELECT   0x77

Definition at line 222 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_SEMICOLON_AND_COLON   0x33

Definition at line 155 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_SEPARATOR   0x9F

Definition at line 262 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_SISREQ   0x9A

Definition at line 257 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_SLASH_AND_QUESTION_MARK   0x38

Definition at line 160 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_SPACE   0x2C

Definition at line 148 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_STOP   0x78

Definition at line 223 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_T   0x17

Definition at line 127 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_TAB   0x2B

Definition at line 147 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_THOUSANDS_SEPARATOR   0xB2

Definition at line 270 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_U   0x18

Definition at line 128 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_UNDO   0x7A

Definition at line 225 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_UP_ARROW   0x52

Definition at line 186 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_V   0x19

Definition at line 129 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_VOLUME_DOWN   0x81

Definition at line 232 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_VOLUME_UP   0x80

Definition at line 231 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_W   0x1A

Definition at line 130 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_X   0x1B

Definition at line 131 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_Y   0x1C

Definition at line 132 of file HIDClassCommon.h.

#define HID_KEYBOARD_SC_Z   0x1D

Definition at line 133 of file HIDClassCommon.h.

Typedef Documentation

Type define for the data type used to store HID report descriptor elements.

Definition at line 639 of file HIDClassCommon.h.

typedef { ... } USB_HID_Descriptor_HID_t
typedef { ... } USB_HID_StdDescriptor_HID_t
typedef { ... } USB_KeyboardReport_Data_t
typedef { ... } USB_MouseReport_Data_t

Enumeration Type Documentation

Enum for the HID class specific control requests that can be issued by the USB bus host.

Enumerator:
HID_REQ_GetReport 

HID class-specific Request to get the current HID report from the device.

HID_REQ_GetIdle 

HID class-specific Request to get the current device idle count.

HID_REQ_GetProtocol 

HID class-specific Request to get the current HID report protocol mode.

HID_REQ_SetReport 

HID class-specific Request to set the current HID report to the device.

HID_REQ_SetIdle 

HID class-specific Request to set the device's idle count.

HID_REQ_SetProtocol 

HID class-specific Request to set the current HID report protocol mode.

Definition at line 541 of file HIDClassCommon.h.

Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the HID device class.

Enumerator:
HID_CSCP_HIDClass 

Descriptor Class value indicating that the device or interface belongs to the HID class.

HID_CSCP_NonBootSubclass 

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

HID_CSCP_BootSubclass 

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

HID_CSCP_NonBootProtocol 

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

HID_CSCP_KeyboardBootProtocol 

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

HID_CSCP_MouseBootProtocol 

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

Definition at line 518 of file HIDClassCommon.h.

Enum for the HID class specific descriptor types.

Enumerator:
HID_DTYPE_HID 

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

HID_DTYPE_Report 

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

Definition at line 552 of file HIDClassCommon.h.

Enum for the different types of HID reports.

Enumerator:
HID_REPORT_ITEM_In 

Indicates that the item is an IN report type.

HID_REPORT_ITEM_Out 

Indicates that the item is an OUT report type.

HID_REPORT_ITEM_Feature 

Indicates that the item is a FEATURE report type.

Definition at line 559 of file HIDClassCommon.h.