Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen.
[pub/lufa.git] / LUFA / Drivers / USB / Class / Common / HID.h
index b860f08..f6b49df 100644 (file)
 \r
        /* Macros: */\r
                /** HID Class Specific Request to get the current HID report from the device. */\r
-               #define REQ_GetReport      0x01\r
+               #define REQ_GetReport                0x01\r
 \r
                /** HID Class Specific Request to get the current device idle count. */\r
-               #define REQ_GetIdle        0x02\r
+               #define REQ_GetIdle                  0x02\r
 \r
                /** HID Class Specific Request to set the current HID report to the device. */\r
-               #define REQ_SetReport      0x09\r
+               #define REQ_SetReport                0x09\r
 \r
                /** HID Class Specific Request to set the device's idle count. */\r
-               #define REQ_SetIdle        0x0A\r
+               #define REQ_SetIdle                  0x0A\r
 \r
                /** HID Class Specific Request to get the current HID report protocol mode. */\r
-               #define REQ_GetProtocol    0x03\r
+               #define REQ_GetProtocol              0x03\r
 \r
                /** HID Class Specific Request to set the current HID report protocol mode. */\r
-               #define REQ_SetProtocol    0x0B\r
+               #define REQ_SetProtocol              0x0B\r
 \r
                /** Descriptor header type value, to indicate a HID class HID descriptor. */\r
-               #define DTYPE_HID          0x21\r
+               #define DTYPE_HID                    0x21\r
                \r
                /** Descriptor header type value, to indicate a HID class HID report descriptor. */\r
-               #define DTYPE_Report       0x22\r
+               #define DTYPE_Report                 0x22\r
                \r
+               /** Constant for the protocol value of a HID interface descriptor, indicating that the interface does not support\r
+                *  any HID class boot protocol (see HID Class Specification).\r
+                */\r
+               #define HID_NON_BOOT_PROTOCOL        0x00\r
+\r
+               /** Constant for the protocol value of a HID interface descriptor, indicating that the interface supports the\r
+                *  HID class Mouse boot protocol (see HID Class Specification).\r
+                */\r
+               #define HID_BOOT_MOUSE_PROTOCOL      0x02\r
+               \r
+               /** Constant for the protocol value of a HID interface descriptor, indicating that the interface supports the\r
+                *  HID class Keyboard boot protocol (see HID Class Specification).\r
+                */\r
+               #define HID_BOOT_KEYBOARD_PROTOCOL   0x01\r
+\r
        /* Type Defines: */\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
                        uint16_t                 HIDReportLength;\r
                } USB_HID_Descriptor_t;\r
 \r
+               /** Type define for a standard Boot Protocol Mouse report */\r
+               typedef struct\r
+               {\r
+                       uint8_t Button; /**< Button mask for currently pressed buttons in the mouse */\r
+                       int8_t  X; /**< Current delta X movement of 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
+               typedef struct\r
+               {\r
+                       uint8_t Modifier; /**< Keyboard modifier byte, indicating pressed modifier keys (such as Shift, Control, etc.) */\r
+                       uint8_t Reserved; /**< Reserved for OEM use, always set to 0 */\r
+                       uint8_t KeyCode; /**< Key code of the currently pressed key */\r
+               } USB_KeyboardReport_Data_t;\r
+\r
                /** Type define for the data type used to store HID report descriptor elements. */\r
                typedef uint8_t USB_Descriptor_HIDReport_Datatype_t;\r
 \r