USBD ROM Stack  1.0
ROM based USB device stack
HID Class Function Driver

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.

Data Structures

struct  HID_DESCRIPTOR
 HID class-specific HID Descriptor. More...
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...

Define Documentation

#define HID_SUBCLASS_NONE   0x00

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

#define HID_SUBCLASS_BOOT   0x01

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

#define HID_PROTOCOL_NONE   0x00

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

#define HID_PROTOCOL_KEYBOARD   0x01

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

#define HID_PROTOCOL_MOUSE   0x02

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

#define HID_HID_DESCRIPTOR_TYPE   0x21

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

#define HID_REPORT_DESCRIPTOR_TYPE   0x22

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

#define HID_PHYSICAL_DESCRIPTOR_TYPE   0x23

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

#define HID_REQUEST_GET_REPORT   0x01

HID Request Codes

#define HID_REPORT_INPUT   0x01

HID Report Types

#define HID_USAGE_PAGE_UNDEFINED   0x00

Usage Pages

#define HID_USAGE_GENERIC_POINTER   0x01

Generic Desktop Page (0x01)

#define HID_USAGE_SIMULATION_RUDDER   0xBA

Simulation Controls Page (0x02)

#define HID_USAGE_KEYBOARD_NOEVENT   0x00

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

#define HID_USAGE_KEYBOARD_aA   0x04

Letters

#define HID_USAGE_KEYBOARD_ONE   0x1E

Numbers

#define HID_USAGE_KEYBOARD_F1   0x3A

Funtion keys

#define HID_USAGE_KEYBOARD_LCTRL   0xE0

Modifier Keys

#define HID_USAGE_LED_NUM_LOCK   0x01

LED Page (0x08)

#define HID_USAGE_TELEPHONY_PHONE   0x01

Telephony Device Page (0x0B)

#define HID_USAGE_CONSUMER_CONTROL   0x01

Consumer Page (0x0C)

#define HID_Input (   x)    0x81,x

HID Report Item Macros Main Items

#define HID_Data   0<<0

Data (Input, Output, Feature)

#define HID_Physical   0x00

Collection Data

#define HID_UsagePage (   x)    0x05,x

Global Items

#define HID_Usage (   x)    0x09,x

Local Items