diff options
Diffstat (limited to 'LUFA/Drivers/USB/Class/Common/HID.h')
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/HID.h | 86 |
1 files changed, 41 insertions, 45 deletions
diff --git a/LUFA/Drivers/USB/Class/Common/HID.h b/LUFA/Drivers/USB/Class/Common/HID.h index 59e262a22..822a8b502 100644 --- a/LUFA/Drivers/USB/Class/Common/HID.h +++ b/LUFA/Drivers/USB/Class/Common/HID.h @@ -60,46 +60,7 @@ #error Do not include this file directly. Include LUFA/Drivers/Class/HID.h instead. #endif - /* Macros: */ - /** HID class-specific Request to get the current HID report from the device. */ - #define REQ_GetReport 0x01 - - /** HID class-specific Request to get the current device idle count. */ - #define REQ_GetIdle 0x02 - - /** HID class-specific Request to set the current HID report to the device. */ - #define REQ_SetReport 0x09 - - /** HID class-specific Request to set the device's idle count. */ - #define REQ_SetIdle 0x0A - - /** HID class-specific Request to get the current HID report protocol mode. */ - #define REQ_GetProtocol 0x03 - - /** HID class-specific Request to set the current HID report protocol mode. */ - #define REQ_SetProtocol 0x0B - - /** Descriptor header type value, to indicate a HID class HID descriptor. */ - #define DTYPE_HID 0x21 - - /** Descriptor header type value, to indicate a HID class HID report descriptor. */ - #define DTYPE_Report 0x22 - - /** Constant for the protocol value of a HID interface descriptor, indicating that the interface does not support - * any HID class boot protocol (see HID Class Specification). - */ - #define HID_NON_BOOT_PROTOCOL 0x00 - - /** Constant for the protocol value of a HID interface descriptor, indicating that the interface supports the - * HID class Keyboard boot protocol (see HID Class Specification). - */ - #define HID_BOOT_KEYBOARD_PROTOCOL 0x01 - - /** Constant for the protocol value of a HID interface descriptor, indicating that the interface supports the - * HID class Mouse boot protocol (see HID Class Specification). - */ - #define HID_BOOT_MOUSE_PROTOCOL 0x02 - + /* Macros: */ /** Constant for a keyboard report modifier byte, indicating that the keyboard's left control key is currently pressed. */ #define HID_KEYBOARD_MODIFER_LEFTCTRL (1 << 0) @@ -137,12 +98,47 @@ #define HID_KEYBOARD_LED_KATANA (1 << 3) /* Type Defines: */ + /** Enum for the HID class specific control requests that can be issued by the USB bus host. */ + enum HID_ClassRequests_t + { + HID_REQ_GetReport = 0x01, /**< HID class-specific Request to get the current HID report from the device. */ + HID_REQ_GetIdle = 0x02, /**< HID class-specific Request to get the current device idle count. */ + HID_REQ_SetReport = 0x09, /**< HID class-specific Request to set the current HID report to the device. */ + HID_REQ_SetIdle = 0x0A, /**< HID class-specific Request to set the device's idle count. */ + HID_REQ_GetProtocol = 0x03, /**< HID class-specific Request to get the current HID report protocol mode. */ + HID_REQ_SetProtocol = 0x0B, /**< HID class-specific Request to set the current HID report protocol mode. */ + }; + + /** Enum for the HID class specific descriptor types. */ + enum HID_DescriptorTypes_t + { + HID_DTYPE_HID = 0x21, /**< Descriptor header type value, to indicate a HID class HID descriptor. */ + HID_DTYPE_Report = 0x22, /**< Descriptor header type value, to indicate a HID class HID report descriptor. */ + }; + + /** Enum for the HID class boot protocols that may be supported by HID devices. */ + enum HID_BootProtocols_t + { + HID_BOOTP_NonBootProtocol = 0x00, /**< Constant for the protocol value of a HID interface descriptor, indicating + * that the interface does not support any HID class boot protocol (see HID + * Class Specification). + */ + HID_BOOTP_KeyboardBootProtocol = 0x01, /**< Constant for the protocol value of a HID interface descriptor, indicating + * that the interface supports the HID class Keyboard boot protocol (see HID + * Class Specification). + */ + HID_BOOTP_MouseBootProtocol = 0x02, /**< Constant for the protocol value of a HID interface descriptor, indicating + * that the interface supports the HID class Mouse boot protocol (see HID Class + * Specification). + */ + }; + /** Enum for the different types of HID reports. */ enum HID_ReportItemTypes_t { - REPORT_ITEM_TYPE_In = 0, /**< Indicates that the item is an IN report type. */ - REPORT_ITEM_TYPE_Out = 1, /**< Indicates that the item is an OUT report type. */ - REPORT_ITEM_TYPE_Feature = 2, /**< Indicates that the item is a FEATURE report type. */ + HID_REPORT_ITEM_In = 0, /**< Indicates that the item is an IN report type. */ + HID_REPORT_ITEM_Out = 1, /**< Indicates that the item is an OUT report type. */ + HID_REPORT_ITEM_Feature = 2, /**< Indicates that the item is a FEATURE report type. */ }; /** \brief HID class-specific HID Descriptor (LUFA naming conventions). @@ -161,7 +157,7 @@ uint8_t TotalReportDescriptors; /**< Total number of HID report descriptors for the interface. */ - uint8_t HIDReportType; /**< Type of HID report, set to \ref DTYPE_Report. */ + uint8_t HIDReportType; /**< Type of HID report, set to \ref HID_DTYPE_Report. */ uint16_t HIDReportLength; /**< Length of the associated HID report descriptor, in bytes. */ } USB_HID_Descriptor_HID_t; @@ -185,7 +181,7 @@ uint8_t bNumDescriptors; /**< Total number of HID report descriptors for the interface. */ - uint8_t bDescriptorType2; /**< Type of HID report, set to \ref DTYPE_Report. */ + uint8_t bDescriptorType2; /**< Type of HID report, set to \ref HID_DTYPE_Report. */ uint16_t wDescriptorLength; /**< Length of the associated HID report descriptor, in bytes. */ } USB_HID_StdDescriptor_HID_t; |