56 lines
1.4 KiB
C
56 lines
1.4 KiB
C
|
/*
|
|||
|
* File : hid.h
|
|||
|
* COPYRIGHT (C) 2008 - 2016, RT-Thread Development Team
|
|||
|
*
|
|||
|
* Change Logs:
|
|||
|
* Date Author Notes
|
|||
|
* 2017<EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>13<EFBFBD><EFBFBD> Urey the first version
|
|||
|
*/
|
|||
|
#ifndef _USBDEVICE_CLASS_HID_H_
|
|||
|
#define _USBDEVICE_CLASS_HID_H_
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
#define HID_DESCRIPTOR_TYPE 0x21
|
|||
|
#define HID_DESCRIPTOR_SIZE 0x09
|
|||
|
#define HID_OFF_HID_DESC 0x12
|
|||
|
|
|||
|
#define USB_HID_SUBCLASS_BOOT 0x01
|
|||
|
#define USB_HID_SUBCLASS_NOBOOT 0x00
|
|||
|
|
|||
|
#define USB_HID_PROTOCOL_NONE 0x00
|
|||
|
#define USB_HID_PROTOCOL_KEYBOARD 0x01
|
|||
|
#define USB_HID_PROTOCOL_MOUSE 0x02
|
|||
|
|
|||
|
|
|||
|
#define USB_HID_REQ_GET_REPORT 0x01
|
|||
|
#define USB_HID_REQ_GET_IDLE 0x02
|
|||
|
#define USB_HID_REQ_GET_PROTOCOL 0x03
|
|||
|
#define USB_HID_REQ_SET_REPORT 0x09
|
|||
|
#define USB_HID_REQ_SET_IDLE 0x0a
|
|||
|
#define USB_HID_REQ_SET_PROTOCOL 0x0b
|
|||
|
|
|||
|
#define MAX_REPORT_SIZE 8
|
|||
|
#define HID_RX_BUFSIZE 64
|
|||
|
|
|||
|
struct uhid_comm_descriptor
|
|||
|
{
|
|||
|
#ifdef RT_USB_DEVICE_COMPOSITE
|
|||
|
struct uiad_descriptor iad_desc;
|
|||
|
#endif
|
|||
|
struct uinterface_descriptor intf_desc;
|
|||
|
struct uhid_descriptor hid_desc;
|
|||
|
struct uendpoint_descriptor ep_in_desc;
|
|||
|
struct uendpoint_descriptor ep_out_desc;
|
|||
|
};
|
|||
|
typedef struct uhid_comm_descriptor* uhid_comm_desc_t;
|
|||
|
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif /* _USBDEVICE_CLASS_HID_H_ */
|