USB Device HID API#
USB Device HID API.
Modules#
Enumerations#
DEFINES.
Typedefs#
GLOBAL CONSTANTS.
Functions#
GLOBAL CONSTANTS.
Add a new instance of the HID class.
Add the HID class instance to the USB device configuration (see Note #1).
Get the HID class enable state.
Send data to the host through the Interrupt IN endpoint.
Receive data from the host through the Interrupt OUT endpoint.
Receive data from the host through the Interrupt OUT endpoint.
Send data to the host through the Interrupt IN endpoint.
Macros#
MODULE.
HUMAN INTERFACE DEVICE CLASS SUBCLASS CODES DEFINES.
HUMAN INTERFACE DEVICE CLASS PROTOCOL CODES DEFINES.
ITEM TYPES.
Enumeration Documentation#
sl_usbd_hid_country_code_t#
sl_usbd_hid_country_code_t
DEFINES.
HUMAN INTERFACE DEVICE COUNTRY CODES DEFINES
Note(s) : (1) See 'Device Class Definition for Human Interface Devices (HID), 6/27/01, Version 1.11', section 6.2.1 for more details about HID descriptor country code.
(a) The country code identifies which country the hardware is localized for. Most hardware is not localized and thus this value would be zero (0). However, keyboards may use the field to indicate the language of the key caps.
Enumerator | |
---|---|
SL_USBD_HID_COUNTRY_CODE_NOT_SUPPORTED | |
SL_USBD_HID_COUNTRY_CODE_ARABIC | |
SL_USBD_HID_COUNTRY_CODE_BELGIAN | |
SL_USBD_HID_COUNTRY_CODE_CANADIAN_BILINGUAL | |
SL_USBD_HID_COUNTRY_CODE_CANADIAN_FRENCH | |
SL_USBD_HID_COUNTRY_CODE_CZECH_REPUBLIC | |
SL_USBD_HID_COUNTRY_CODE_DANISH | |
SL_USBD_HID_COUNTRY_CODE_FINNISH | |
SL_USBD_HID_COUNTRY_CODE_FRENCH | |
SL_USBD_HID_COUNTRY_CODE_GERMAN | |
SL_USBD_HID_COUNTRY_CODE_GREEK | |
SL_USBD_HID_COUNTRY_CODE_HEBREW | |
SL_USBD_HID_COUNTRY_CODE_HUNGARY | |
SL_USBD_HID_COUNTRY_CODE_INTERNATIONAL | |
SL_USBD_HID_COUNTRY_CODE_ITALIAN | |
SL_USBD_HID_COUNTRY_CODE_JAPAN_KATAKANA | |
SL_USBD_HID_COUNTRY_CODE_KOREAN | |
SL_USBD_HID_COUNTRY_CODE_LATIN_AMERICAN | |
SL_USBD_HID_COUNTRY_CODE_NETHERLANDS_DUTCH | |
SL_USBD_HID_COUNTRY_CODE_NORWEGIAN | |
SL_USBD_HID_COUNTRY_CODE_PERSIAN_FARSI | |
SL_USBD_HID_COUNTRY_CODE_POLAND | |
SL_USBD_HID_COUNTRY_CODE_PORTUGUESE | |
SL_USBD_HID_COUNTRY_CODE_RUSSIA | |
SL_USBD_HID_COUNTRY_CODE_SLOVAKIA | |
SL_USBD_HID_COUNTRY_CODE_SPANISH | |
SL_USBD_HID_COUNTRY_CODE_SWEDISH | |
SL_USBD_HID_COUNTRY_CODE_SWISS_FRENCH | |
SL_USBD_HID_COUNTRY_CODE_SWISS_GERMAN | |
SL_USBD_HID_COUNTRY_CODE_SWITZERLAND | |
SL_USBD_HID_COUNTRY_CODE_TAIWAN | |
SL_USBD_HID_COUNTRY_CODE_TURKISH_Q | |
SL_USBD_HID_COUNTRY_CODE_UK | |
SL_USBD_HID_COUNTRY_CODE_US | |
SL_USBD_HID_COUNTRY_CODE_YUGOSLAVIA | |
SL_USBD_HID_COUNTRY_CODE_TURKISH_F |
78
of file protocol/usb/inc/sl_usbd_class_hid.h
Typedef Documentation#
sl_usbd_hid_async_function_t#
typedef void(* sl_usbd_hid_async_function_t) (uint8_t class_nbr, void *p_buf, uint32_t buf_len, uint32_t xfer_len, void *p_callback_arg, sl_status_t status) )(uint8_t class_nbr, void *p_buf, uint32_t buf_len, uint32_t xfer_len, void *p_callback_arg, sl_status_t status)
GLOBAL CONSTANTS.
DATA TYPES Async comm callback
340
of file protocol/usb/inc/sl_usbd_class_hid.h
Function Documentation#
sl_usbd_hid_init#
sl_status_t sl_usbd_hid_init (void )
GLOBAL CONSTANTS.
N/A |
FUNCTION PROTOTYPES HID FUNCTIONS
Initialize HID class.
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
408
of file protocol/usb/inc/sl_usbd_class_hid.h
sl_usbd_hid_create_instance#
sl_status_t sl_usbd_hid_create_instance (uint8_t subclass, uint8_t protocol, sl_usbd_hid_country_code_t country_code, uint16_t interval_in, uint16_t interval_out, bool ctrl_rd_en, sl_usbd_hid_callbacks_t * p_hid_callbacks, uint8_t * p_class_nbr)
Add a new instance of the HID class.
N/A | subclass | Subclass code. |
N/A | protocol | protocol code. |
N/A | country_code | Country code id. |
N/A | interval_in | Polling interval for input transfers, in milliseconds. It must be a power of 2. |
N/A | interval_out | Polling interval for output transfers, in milliseconds. It must be a power of 2. Used only when read operations are not through control transfers. |
N/A | ctrl_rd_en | Enable read operations through the control transfers. |
N/A | p_hid_callbacks | Pointer to HID descriptor and request callback structure. [Content MUST be persistent] |
N/A | p_class_nbr | Pointer to variable that will receive class instance number. The variable is set to class instance number if no errors are returned, otherwise it is set to SL_USBD_CLASS_NBR_NONE. |
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
437
of file protocol/usb/inc/sl_usbd_class_hid.h
sl_usbd_hid_add_to_configuration#
sl_status_t sl_usbd_hid_add_to_configuration (uint8_t class_nbr, uint8_t config_nbr)
Add the HID class instance to the USB device configuration (see Note #1).
N/A | class_nbr | Class instance number. |
N/A | config_nbr | Configuration index to add HID class instance to. |
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
Note
(1) Called several times, it creates multiple instances and configurations. For instance, the following architecture could be created :
* FS * |-- Configuration 0 (HID class 0) * (HID class 1) * (HID class 2) * |-- Interface 0 * |-- Configuration 1 (HID class 0) * |-- Interface 0 *
(2) Configuration Descriptor corresponding to a HID device uses the following format :
* Configuration Descriptor * |-- Interface Descriptor (HID class) * |-- Endpoint Descriptor (Interrupt IN) * |-- Endpoint Descriptor (Interrupt OUT) - optional *
475
of file protocol/usb/inc/sl_usbd_class_hid.h
sl_usbd_hid_is_enabled#
sl_status_t sl_usbd_hid_is_enabled (uint8_t class_nbr, bool * p_enabled)
Get the HID class enable state.
N/A | class_nbr | Class instance number. |
N/A | p_enabled | Pointer to a variable that will receive HID class enable state. The variable is set to true if HID class is enabled, and is set to false if it is NOT enabled. |
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
489
of file protocol/usb/inc/sl_usbd_class_hid.h
sl_usbd_hid_write_sync#
sl_status_t sl_usbd_hid_write_sync (uint8_t class_nbr, void * p_buf, uint32_t buf_len, uint16_t timeout, uint32_t * p_xfer_len)
Send data to the host through the Interrupt IN endpoint.
N/A | class_nbr | Class instance number. |
N/A | p_buf | Pointer to the transmit buffer. If more than one input report exists, the first byte must represent the report id. |
N/A | buf_len | Transmit buffer length, in octets. |
N/A | timeout | Timeout in milliseconds. |
N/A | p_xfer_len | Pointer to a variable that will receive transfer length. The variable is set to number of octets received, if no errors are returned, or is set to 0 if any errors are returned. |
This function is blocking.
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
510
of file protocol/usb/inc/sl_usbd_class_hid.h
sl_usbd_hid_read_sync#
sl_status_t sl_usbd_hid_read_sync (uint8_t class_nbr, void * p_buf, uint32_t buf_len, uint16_t timeout, uint32_t * p_xfer_len)
Receive data from the host through the Interrupt OUT endpoint.
N/A | class_nbr | Class instance number. |
N/A | p_buf | Pointer to the receive buffer. |
N/A | buf_len | Receive the buffer length, in octets. |
N/A | timeout | Timeout, in milliseconds. |
N/A | p_xfer_len | Pointer to a variable that will receive transfer length. The variable is set to number of octets received, if no errors are returned, or is set to 0 if any errors are returned. |
This function is blocking.
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
533
of file protocol/usb/inc/sl_usbd_class_hid.h
sl_usbd_hid_read_async#
sl_status_t sl_usbd_hid_read_async (uint8_t class_nbr, void * p_buf, uint32_t buf_len, sl_usbd_hid_async_function_t async_fnct, void * p_async_arg)
Receive data from the host through the Interrupt OUT endpoint.
N/A | class_nbr | Class instance number. |
N/A | p_buf | Pointer to receive buffer. |
N/A | buf_len | Receive buffer length, in octets. |
N/A | async_fnct | Receive callback. |
N/A | p_async_arg | Additional argument provided by application for receive callback. |
This function is non-blocking and returns immediately after transfer preparation. Upon transfer completion, the provided callback is called to notify the application.
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
556
of file protocol/usb/inc/sl_usbd_class_hid.h
sl_usbd_hid_write_async#
sl_status_t sl_usbd_hid_write_async (uint8_t class_nbr, void * p_buf, uint32_t buf_len, sl_usbd_hid_async_function_t async_fnct, void * p_async_arg)
Send data to the host through the Interrupt IN endpoint.
N/A | class_nbr | Class instance number. |
N/A | p_buf | Pointer to transmit buffer. If more than one input report exists, the first byte must represent the report id. |
N/A | buf_len | Transmit buffer length, in octets. |
N/A | async_fnct | Transmit callback. |
N/A | p_async_arg | Additional argument provided by application for transmit callback. |
This function is non-blocking, and returns immediately after transfer preparation. Upon transfer completion, the provided callback is called to notify the application.
Returns
Returns SL_STATUS_OK on success or another SL_STATUS code on failure.
580
of file protocol/usb/inc/sl_usbd_class_hid.h
Macro Definition Documentation#
SLI_USBD_HID_EXTERN#
#define SLI_USBD_HID_EXTERNValue:
extern
MODULE.
INCLUDE FILES EXTERNS
58
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_SUBCLASS_NONE#
#define SL_USBD_HID_SUBCLASS_NONEValue:
0x00u
HUMAN INTERFACE DEVICE CLASS SUBCLASS CODES DEFINES.
Note(s) : (1) Human interface device class subclass codes are defined in section 4.2 of HID specification revision 1.11.
124
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_SUBCLASS_BOOT#
#define SL_USBD_HID_SUBCLASS_BOOTValue:
0x01u
125
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_PROTOCOL_NONE#
#define SL_USBD_HID_PROTOCOL_NONEValue:
0x00u
HUMAN INTERFACE DEVICE CLASS PROTOCOL CODES DEFINES.
Note(s) : (1) Human interface device class protocol codes are defined in section 4.3 of HID specification revision 1.11.
134
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_PROTOCOL_KBD#
#define SL_USBD_HID_PROTOCOL_KBDValue:
0x01u
135
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_PROTOCOL_MOUSE#
#define SL_USBD_HID_PROTOCOL_MOUSEValue:
0x02u
136
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_ITEM_LONG#
#define SL_USBD_HID_ITEM_LONGValue:
0xFE
ITEM TYPES.
143
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_ITEM_TYPE_MAIN#
#define SL_USBD_HID_ITEM_TYPE_MAINValue:
0x00
145
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_ITEM_TYPE_GLOBAL#
#define SL_USBD_HID_ITEM_TYPE_GLOBALValue:
0x04
146
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_ITEM_TYPE_LOCAL#
#define SL_USBD_HID_ITEM_TYPE_LOCALValue:
0x08
147
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_ITEM_TYPE_RESERVED#
#define SL_USBD_HID_ITEM_TYPE_RESERVEDValue:
0x0C
148
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_INPUT#
#define SL_USBD_HID_MAIN_INPUTValue:
0x80
150
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_OUTPUT#
#define SL_USBD_HID_MAIN_OUTPUTValue:
0x90
151
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_COLLECTION#
#define SL_USBD_HID_MAIN_COLLECTIONValue:
0xA0
152
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_FEATURE#
#define SL_USBD_HID_MAIN_FEATUREValue:
0xB0
153
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_ENDCOLLECTION#
#define SL_USBD_HID_MAIN_ENDCOLLECTIONValue:
0xC0
154
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_CONSTANT#
#define SL_USBD_HID_MAIN_CONSTANTValue:
0x01
156
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_DATA#
#define SL_USBD_HID_MAIN_DATAValue:
0x00
157
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_VARIABLE#
#define SL_USBD_HID_MAIN_VARIABLEValue:
0x02
158
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_ARRAY#
#define SL_USBD_HID_MAIN_ARRAYValue:
0x00
159
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_RELATIVE#
#define SL_USBD_HID_MAIN_RELATIVEValue:
0x04
160
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_ABSOLUTE#
#define SL_USBD_HID_MAIN_ABSOLUTEValue:
0x00
161
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_WRAP#
#define SL_USBD_HID_MAIN_WRAPValue:
0x08
162
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_NOWRAP#
#define SL_USBD_HID_MAIN_NOWRAPValue:
0x00
163
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_NONLINEAR#
#define SL_USBD_HID_MAIN_NONLINEARValue:
0x10
164
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_LINEAR#
#define SL_USBD_HID_MAIN_LINEARValue:
0x00
165
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_NOPREFERRED#
#define SL_USBD_HID_MAIN_NOPREFERREDValue:
0x20
166
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_PREFERREDSTATE#
#define SL_USBD_HID_MAIN_PREFERREDSTATEValue:
0x00
167
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_NULLSTATE#
#define SL_USBD_HID_MAIN_NULLSTATEValue:
0x40
168
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_NONULLPOSITION#
#define SL_USBD_HID_MAIN_NONULLPOSITIONValue:
0x00
169
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_VOLATILE#
#define SL_USBD_HID_MAIN_VOLATILEValue:
0x80
170
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_NONVOLATILE#
#define SL_USBD_HID_MAIN_NONVOLATILEValue:
0x00
171
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_BUFFEREDBYTES#
#define SL_USBD_HID_MAIN_BUFFEREDBYTESValue:
0x0100
172
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_MAIN_BITFIELD#
#define SL_USBD_HID_MAIN_BITFIELDValue:
0x0000
173
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_COLLECTION_PHYSICAL#
#define SL_USBD_HID_COLLECTION_PHYSICALValue:
0x00
175
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_COLLECTION_APPLICATION#
#define SL_USBD_HID_COLLECTION_APPLICATIONValue:
0x01
176
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_COLLECTION_LOGICAL#
#define SL_USBD_HID_COLLECTION_LOGICALValue:
0x02
177
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_COLLECTION_REPORT#
#define SL_USBD_HID_COLLECTION_REPORTValue:
0x03
178
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_COLLECTION_NAMEDARRAY#
#define SL_USBD_HID_COLLECTION_NAMEDARRAYValue:
0x04
179
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_COLLECTION_USAGESWITCH#
#define SL_USBD_HID_COLLECTION_USAGESWITCHValue:
0x05
180
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_COLLECTION_USAGEMODIFIER#
#define SL_USBD_HID_COLLECTION_USAGEMODIFIERValue:
0x06
181
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_USAGE_PAGE#
#define SL_USBD_HID_GLOBAL_USAGE_PAGEValue:
0x04
183
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_LOG_MIN#
#define SL_USBD_HID_GLOBAL_LOG_MINValue:
0x14
184
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_LOG_MAX#
#define SL_USBD_HID_GLOBAL_LOG_MAXValue:
0x24
185
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_PHY_MIN#
#define SL_USBD_HID_GLOBAL_PHY_MINValue:
0x34
186
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_PHY_MAX#
#define SL_USBD_HID_GLOBAL_PHY_MAXValue:
0x44
187
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_UNIT_EXPONENT#
#define SL_USBD_HID_GLOBAL_UNIT_EXPONENTValue:
0x54
188
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_UNIT#
#define SL_USBD_HID_GLOBAL_UNITValue:
0x64
189
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_REPORT_SIZE#
#define SL_USBD_HID_GLOBAL_REPORT_SIZEValue:
0x74
190
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_REPORT_ID#
#define SL_USBD_HID_GLOBAL_REPORT_IDValue:
0x84
191
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_REPORT_COUNT#
#define SL_USBD_HID_GLOBAL_REPORT_COUNTValue:
0x94
192
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_PUSH#
#define SL_USBD_HID_GLOBAL_PUSHValue:
0xA4
193
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_GLOBAL_POP#
#define SL_USBD_HID_GLOBAL_POPValue:
0xB4
194
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_USAGE#
#define SL_USBD_HID_LOCAL_USAGEValue:
0x08
196
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_USAGE_MIN#
#define SL_USBD_HID_LOCAL_USAGE_MINValue:
0x18
197
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_USAGE_MAX#
#define SL_USBD_HID_LOCAL_USAGE_MAXValue:
0x28
198
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_DESIGNATOR_INDEX#
#define SL_USBD_HID_LOCAL_DESIGNATOR_INDEXValue:
0x38
199
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_DESIGNATOR_MIN#
#define SL_USBD_HID_LOCAL_DESIGNATOR_MINValue:
0x48
200
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_DESIGNATOR_MAX#
#define SL_USBD_HID_LOCAL_DESIGNATOR_MAXValue:
0x58
201
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_STRING_INDEX#
#define SL_USBD_HID_LOCAL_STRING_INDEXValue:
0x78
202
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_STRING_MIN#
#define SL_USBD_HID_LOCAL_STRING_MINValue:
0x88
203
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_STRING_MAX#
#define SL_USBD_HID_LOCAL_STRING_MAXValue:
0x98
204
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_LOCAL_DELIMITER#
#define SL_USBD_HID_LOCAL_DELIMITERValue:
0xA8
205
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_BIAS_NOT_APPLICABLE#
#define SL_USBD_HID_BIAS_NOT_APPLICABLEValue:
0
HID PHYSICAL DESCRIPTOR DEFINES
Note(s) : (1) See 'Device Class Definition for Human Interface Devices Version 1.11', Section 6.2.3.
215
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_BIAS_RIGHT_HAND#
#define SL_USBD_HID_BIAS_RIGHT_HANDValue:
1
216
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_BIAS_LEFT_HAND#
#define SL_USBD_HID_BIAS_LEFT_HANDValue:
2
217
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_BIAS_BOTH_HANDS#
#define SL_USBD_HID_BIAS_BOTH_HANDSValue:
3
218
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_BIAS_EITHER_HAND#
#define SL_USBD_HID_BIAS_EITHER_HANDValue:
4
219
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_NONE#
#define SL_USBD_HID_DESIGNATOR_NONEValue:
0x00
221
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_HAND#
#define SL_USBD_HID_DESIGNATOR_HANDValue:
0x01
222
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_EYEBALL#
#define SL_USBD_HID_DESIGNATOR_EYEBALLValue:
0x02
223
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_EYEBROW#
#define SL_USBD_HID_DESIGNATOR_EYEBROWValue:
0x03
224
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_EYELID#
#define SL_USBD_HID_DESIGNATOR_EYELIDValue:
0x04
225
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_EAR#
#define SL_USBD_HID_DESIGNATOR_EARValue:
0x05
226
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_NOSE#
#define SL_USBD_HID_DESIGNATOR_NOSEValue:
0x06
227
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_MOUTH#
#define SL_USBD_HID_DESIGNATOR_MOUTHValue:
0x07
228
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_UPPER_LIP#
#define SL_USBD_HID_DESIGNATOR_UPPER_LIPValue:
0x08
229
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_LOWER_LIP#
#define SL_USBD_HID_DESIGNATOR_LOWER_LIPValue:
0x09
230
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_JAW#
#define SL_USBD_HID_DESIGNATOR_JAWValue:
0x0A
231
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_NECK#
#define SL_USBD_HID_DESIGNATOR_NECKValue:
0x0B
232
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_UPPER_ARM#
#define SL_USBD_HID_DESIGNATOR_UPPER_ARMValue:
0x0C
233
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_ELBOW#
#define SL_USBD_HID_DESIGNATOR_ELBOWValue:
0x0D
234
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_FOREARM#
#define SL_USBD_HID_DESIGNATOR_FOREARMValue:
0x0E
235
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_WRIST#
#define SL_USBD_HID_DESIGNATOR_WRISTValue:
0x0F
236
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_PALM#
#define SL_USBD_HID_DESIGNATOR_PALMValue:
0x10
237
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_THUMB#
#define SL_USBD_HID_DESIGNATOR_THUMBValue:
0x11
238
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_INDEX_FINGER#
#define SL_USBD_HID_DESIGNATOR_INDEX_FINGERValue:
0x12
239
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_MIDDLE_FINGER#
#define SL_USBD_HID_DESIGNATOR_MIDDLE_FINGERValue:
0x13
240
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_RING_FINGER#
#define SL_USBD_HID_DESIGNATOR_RING_FINGERValue:
0x14
241
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_LITTLE_FINGER#
#define SL_USBD_HID_DESIGNATOR_LITTLE_FINGERValue:
0x15
242
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_HEAD#
#define SL_USBD_HID_DESIGNATOR_HEADValue:
0x16
243
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_SHOULDER#
#define SL_USBD_HID_DESIGNATOR_SHOULDERValue:
0x17
244
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_HIP#
#define SL_USBD_HID_DESIGNATOR_HIPValue:
0x18
245
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_WAIST#
#define SL_USBD_HID_DESIGNATOR_WAISTValue:
0x19
246
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_THIGH#
#define SL_USBD_HID_DESIGNATOR_THIGHValue:
0x1A
247
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_KNEE#
#define SL_USBD_HID_DESIGNATOR_KNEEValue:
0x1B
248
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_CALF#
#define SL_USBD_HID_DESIGNATOR_CALFValue:
0x1C
249
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_ANKLE#
#define SL_USBD_HID_DESIGNATOR_ANKLEValue:
0x1D
250
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_FOOT#
#define SL_USBD_HID_DESIGNATOR_FOOTValue:
0x1E
251
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_HEEL#
#define SL_USBD_HID_DESIGNATOR_HEELValue:
0x1F
252
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_BALL_OF_FOOT#
#define SL_USBD_HID_DESIGNATOR_BALL_OF_FOOTValue:
0x20
253
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_BIG_TOE#
#define SL_USBD_HID_DESIGNATOR_BIG_TOEValue:
0x21
254
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_SECOND_TOE#
#define SL_USBD_HID_DESIGNATOR_SECOND_TOEValue:
0x22
255
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_THIRD_TOE#
#define SL_USBD_HID_DESIGNATOR_THIRD_TOEValue:
0x23
256
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_FOURTH_TOE#
#define SL_USBD_HID_DESIGNATOR_FOURTH_TOEValue:
0x24
257
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_LITTLE_TOE#
#define SL_USBD_HID_DESIGNATOR_LITTLE_TOEValue:
0x25
258
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_BROW#
#define SL_USBD_HID_DESIGNATOR_BROWValue:
0x26
259
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DESIGNATOR_CHEEK#
#define SL_USBD_HID_DESIGNATOR_CHEEKValue:
0x27
260
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_QUALIFIER_NOT_APPLICABLE#
#define SL_USBD_HID_QUALIFIER_NOT_APPLICABLEValue:
0
262
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_QUALIFIER_RIGHT#
#define SL_USBD_HID_QUALIFIER_RIGHTValue:
1
263
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_QUALIFIER_LEFT#
#define SL_USBD_HID_QUALIFIER_LEFTValue:
2
264
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_QUALIFIER_BOTH#
#define SL_USBD_HID_QUALIFIER_BOTHValue:
3
265
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_QUALIFIER_EITHER#
#define SL_USBD_HID_QUALIFIER_EITHERValue:
4
266
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_QUALIFIER_CENTER#
#define SL_USBD_HID_QUALIFIER_CENTERValue:
5
267
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_UNDEFINED#
#define SL_USBD_HID_USAGE_PAGE_UNDEFINEDValue:
0x00
HID USAGE PAGES
Note(s) : (1) See 'Universal Serial Bus HID Usage Tables', Version 1.12, Section 3 for more details about Usage Pages.
(2) See 'Universal Serial Bus HID Usage Tables', Version 1.12, Section 4 for more details about Generic Desktop Page usages and controls.
279
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS#
#define SL_USBD_HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLSValue:
0x01
280
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_SIMULATION_CONTROLS#
#define SL_USBD_HID_USAGE_PAGE_SIMULATION_CONTROLSValue:
0x02
281
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_VR_CONTROLS#
#define SL_USBD_HID_USAGE_PAGE_VR_CONTROLSValue:
0x03
282
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_SPORT_CONTROLS#
#define SL_USBD_HID_USAGE_PAGE_SPORT_CONTROLSValue:
0x04
283
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_GAME_CONTROLS#
#define SL_USBD_HID_USAGE_PAGE_GAME_CONTROLSValue:
0x05
284
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_GENERIC_DEVICE_CONTROLS#
#define SL_USBD_HID_USAGE_PAGE_GENERIC_DEVICE_CONTROLSValue:
0x06
285
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_KEYBOARD#
#define SL_USBD_HID_USAGE_PAGE_KEYBOARDValue:
0x07
286
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_LEDS#
#define SL_USBD_HID_USAGE_PAGE_LEDSValue:
0x08
287
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_BUTTON
#define SL_USBD_HID_USAGE_PAGE_BUTTONValue:
0x09
288
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_ORDINAL#
#define SL_USBD_HID_USAGE_PAGE_ORDINALValue:
0x0A
289
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_TELEPHONY#
#define SL_USBD_HID_USAGE_PAGE_TELEPHONYValue:
0x0B
290
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_CONSUMER#
#define SL_USBD_HID_USAGE_PAGE_CONSUMERValue:
0x0C
291
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_DIGITIZER#
#define SL_USBD_HID_USAGE_PAGE_DIGITIZERValue:
0x0D
292
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_PID_PAGE#
#define SL_USBD_HID_USAGE_PAGE_PID_PAGEValue:
0x0F
293
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_UNICODE#
#define SL_USBD_HID_USAGE_PAGE_UNICODEValue:
0x10
294
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_ALPHANUMERIC_DISPLAY#
#define SL_USBD_HID_USAGE_PAGE_ALPHANUMERIC_DISPLAYValue:
0x14
295
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_MEDICAL_INSTRUMENTS#
#define SL_USBD_HID_USAGE_PAGE_MEDICAL_INSTRUMENTSValue:
0x40
296
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_MONITOR_0#
#define SL_USBD_HID_USAGE_PAGE_MONITOR_0Value:
0x80
297
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_MONITOR_1#
#define SL_USBD_HID_USAGE_PAGE_MONITOR_1Value:
0x81
298
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_MONITOR_2#
#define SL_USBD_HID_USAGE_PAGE_MONITOR_2Value:
0x82
299
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_MONITOR_3#
#define SL_USBD_HID_USAGE_PAGE_MONITOR_3Value:
0x83
300
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_POWER_0#
#define SL_USBD_HID_USAGE_PAGE_POWER_0Value:
0x84
301
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_POWER_1#
#define SL_USBD_HID_USAGE_PAGE_POWER_1Value:
0x85
302
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_POWER_2#
#define SL_USBD_HID_USAGE_PAGE_POWER_2Value:
0x86
303
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_POWER_3#
#define SL_USBD_HID_USAGE_PAGE_POWER_3Value:
0x87
304
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_BAR_CODE_SCANNER_PAGE#
#define SL_USBD_HID_USAGE_PAGE_BAR_CODE_SCANNER_PAGEValue:
0x8C
305
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_SCALE_PAGE#
#define SL_USBD_HID_USAGE_PAGE_SCALE_PAGEValue:
0x8D
306
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_MSR_DEVICES#
#define SL_USBD_HID_USAGE_PAGE_MSR_DEVICESValue:
0x8E
307
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_POINT_OF_SALE_PAGES#
#define SL_USBD_HID_USAGE_PAGE_POINT_OF_SALE_PAGESValue:
0x8F
308
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_CAMERA_CONTROL_PAGE#
#define SL_USBD_HID_USAGE_PAGE_CAMERA_CONTROL_PAGEValue:
0x90
309
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_USAGE_PAGE_ARCADE_PAGE#
#define SL_USBD_HID_USAGE_PAGE_ARCADE_PAGEValue:
0x91
310
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CP_POINTER#
#define SL_USBD_HID_CP_POINTERValue:
0x01
314
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CA_MOUSE#
#define SL_USBD_HID_CA_MOUSEValue:
0x02
315
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CA_JOYSTICK#
#define SL_USBD_HID_CA_JOYSTICKValue:
0x04
316
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CA_GAME_PAD#
#define SL_USBD_HID_CA_GAME_PADValue:
0x05
317
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CA_KEYBOARD#
#define SL_USBD_HID_CA_KEYBOARDValue:
0x06
318
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CA_KEYPAD#
#define SL_USBD_HID_CA_KEYPADValue:
0x07
319
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CA_MULTI_AXIS_CONTROLLER#
#define SL_USBD_HID_CA_MULTI_AXIS_CONTROLLERValue:
0x08
320
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DV_X#
#define SL_USBD_HID_DV_XValue:
0x30
321
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DV_Y#
#define SL_USBD_HID_DV_YValue:
0x31
322
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DV_Z#
#define SL_USBD_HID_DV_ZValue:
0x32
323
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_DV_WHEEL#
#define SL_USBD_HID_DV_WHEELValue:
0x38
324
of file protocol/usb/inc/sl_usbd_class_hid.h
SL_USBD_HID_CA_SYSTEM_CONTROL#
#define SL_USBD_HID_CA_SYSTEM_CONTROLValue:
0x80
325
of file protocol/usb/inc/sl_usbd_class_hid.h