Add FatFS library to the Webserver project, extend the HTTP server so that it now...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Common / HID.h
index f6b49df..b6af8af 100644 (file)
@@ -1,21 +1,21 @@
 /*\r
              LUFA Library\r
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
-\r
-  Permission to use, copy, modify, and distribute this software\r
-  and its documentation for any purpose and without fee is hereby\r
-  granted, provided that the above copyright notice appear in all\r
-  copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting\r
-  documentation, and that the name of the author not be used in\r
-  advertising or publicity pertaining to distribution of the\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+\r
+  Permission to use, copy, modify, distribute, and sell this \r
+  software and its documentation for any purpose is hereby granted\r
+  without fee, provided that the above copyright notice appear in \r
+  all copies and that both that the copyright notice and this\r
+  permission notice and warranty disclaimer appear in supporting \r
+  documentation, and that the name of the author not be used in \r
+  advertising or publicity pertaining to distribution of the \r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\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
                #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
                 *  HID class Keyboard boot protocol (see HID Class Specification).\r
                 */\r
                #define HID_BOOT_KEYBOARD_PROTOCOL   0x01\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
        /* Type Defines: */\r
        /* Type Defines: */\r
+               /** Enum for the different types of HID reports. */\r
+               enum HID_ReportItemTypes_t\r
+               {\r
+                       REPORT_ITEM_TYPE_In                   = 0, /**< Indicates that the item is an IN report type. */\r
+                       REPORT_ITEM_TYPE_Out                  = 1, /**< Indicates that the item is an OUT report type. */\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
                 *  specification for details on the structure elements.\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
                {\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
                {\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
+                       uint8_t KeyCode[6]; /**< Key codes of the currently pressed keys */\r
                } USB_KeyboardReport_Data_t;\r
 \r
                /** Type define for the data type used to store HID report descriptor elements. */\r
                } USB_KeyboardReport_Data_t;\r
 \r
                /** Type define for the data type used to store HID report descriptor elements. */\r