this software.\r
*/\r
\r
+/** \file\r
+ * \brief Common definitions and declarations for the library USB HID Class driver.\r
+ *\r
+ * Common definitions and declarations for the library USB HID Class driver.\r
+ *\r
+ * \note This file should not be included directly. It is automatically included as needed by the class driver\r
+ * dispatch header located in LUFA/Drivers/USB/Class/HID.h.\r
+ */\r
+\r
/** \ingroup Group_USBClassHID\r
* @defgroup Group_USBClassHIDCommon Common Class Definitions\r
*\r
\r
#include <string.h>\r
\r
+ /* Preprocessor Checks: */\r
+ #if !defined(__INCLUDE_FROM_HID_DRIVER)\r
+ #error Do not include this file directly. Include LUFA/Drivers/Class/HID.h instead.\r
+ #endif\r
+ \r
/* Macros: */\r
/** HID Class Specific Request to get the current HID report from the device. */\r
#define REQ_GetReport 0x01\r
\r
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */\r
#define HID_KEYBOARD_MODIFER_RIGHTGUI (1 << 7)\r
+ \r
+ /** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */\r
+ #define HID_KEYBOARD_LED_NUMLOCK (1 << 0)\r
+ \r
+ /** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */\r
+ #define HID_KEYBOARD_LED_CAPSLOCK (1 << 1)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */\r
+ #define HID_KEYBOARD_LED_SCROLLLOCK (1 << 2)\r
+\r
+ /** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */\r
+ #define HID_KEYBOARD_LED_KATANA (1 << 3)\r
\r
/* Type Defines: */\r
/** Enum for the different types of HID reports. */\r
REPORT_ITEM_TYPE_Feature = 2, /**< Indicates that the item is a FEATURE report type. */\r
};\r
\r
- /** Type define for the HID class specific HID descriptor, to describe the HID device's specifications. Refer to the HID\r
+ /** \brief HID Class Specific HID Descriptor.\r
+ *\r
+ * Type define for the HID class specific HID descriptor, to describe the HID device's specifications. Refer to the HID\r
* specification for details on the structure elements.\r
*/\r
typedef struct\r
uint16_t HIDReportLength;\r
} USB_HID_Descriptor_t;\r
\r
- /** Type define for a standard Boot Protocol Mouse report */\r
+ /** \brief Standard HID Boot Protocol Mouse Report.\r
+ *\r
+ * Type define for a standard Boot Protocol Mouse report\r
+ */\r
typedef struct\r
{\r
uint8_t Button; /**< Button mask for currently pressed buttons in the mouse */\r
int8_t Y; /**< Current delta Y movement on the mouse */\r
} USB_MouseReport_Data_t;\r
\r
- /** Type define for a standard Boot Protocol Keyboard report */\r
+ /** \brief Standard HID Boot Protocol Keyboard Report.\r
+ *\r
+ * Type define for a standard Boot Protocol Keyboard report\r
+ */\r
typedef struct\r
{\r
uint8_t Modifier; /**< Keyboard modifier byte, indicating pressed modifier keys (a combination of\r