]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - protocol/pjrc/usb.c
Fix and keymap of hid_liber from alaricljs at geekhack.org.
[tmk_firmware.git] / protocol / pjrc / usb.c
index 89087218f3c719e7c296dd799811805a4c14a127..f4c6f81f5cf19baf9fc87aff3f5aaa29057a2061 100644 (file)
@@ -128,7 +128,7 @@ static const uint8_t PROGMEM endpoint_config_table[] = {
 // spec and relevant portions of any USB class specifications!
 
 
-static uint8_t PROGMEM device_descriptor[] = {
+static const uint8_t PROGMEM device_descriptor[] = {
        18,                                     // bLength
        1,                                      // bDescriptorType
        0x00, 0x02,                             // bcdUSB
@@ -146,7 +146,7 @@ static uint8_t PROGMEM device_descriptor[] = {
 };
 
 // Keyboard Protocol 1, HID 1.11 spec, Appendix B, page 59-60
-static uint8_t PROGMEM keyboard_hid_report_desc[] = {
+static const uint8_t PROGMEM keyboard_hid_report_desc[] = {
         0x05, 0x01,          // Usage Page (Generic Desktop),
         0x09, 0x06,          // Usage (Keyboard),
         0xA1, 0x01,          // Collection (Application),
@@ -181,7 +181,7 @@ static uint8_t PROGMEM keyboard_hid_report_desc[] = {
         0xc0                 // End Collection
 };
 #ifdef NKRO_ENABLE
-static uint8_t PROGMEM keyboard2_hid_report_desc[] = {
+static const uint8_t PROGMEM keyboard2_hid_report_desc[] = {
         0x05, 0x01,                     // Usage Page (Generic Desktop),
         0x09, 0x06,                     // Usage (Keyboard),
         0xA1, 0x01,                     // Collection (Application),
@@ -222,7 +222,7 @@ static uint8_t PROGMEM keyboard2_hid_report_desc[] = {
 // http://www.microchip.com/forums/tm.aspx?high=&m=391435&mpage=1#391521
 // http://www.keil.com/forum/15671/
 // http://www.microsoft.com/whdc/device/input/wheel.mspx
-static uint8_t PROGMEM mouse_hid_report_desc[] = {
+static const uint8_t PROGMEM mouse_hid_report_desc[] = {
     /* mouse */
     0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
     0x09, 0x02,                    // USAGE (Mouse)
@@ -273,7 +273,7 @@ static uint8_t PROGMEM mouse_hid_report_desc[] = {
 };
 #endif
 
-static uint8_t PROGMEM debug_hid_report_desc[] = {
+static const uint8_t PROGMEM debug_hid_report_desc[] = {
        0x06, 0x31, 0xFF,                       // Usage Page 0xFF31 (vendor defined)
        0x09, 0x74,                             // Usage 0x74
        0xA1, 0x53,                             // Collection 0x53
@@ -289,7 +289,7 @@ static uint8_t PROGMEM debug_hid_report_desc[] = {
 #ifdef EXTRAKEY_ENABLE
 // audio controls & system controls
 // http://www.microsoft.com/whdc/archive/w2kbd.mspx
-static uint8_t PROGMEM extra_hid_report_desc[] = {
+static const uint8_t PROGMEM extra_hid_report_desc[] = {
     /* system control */
     0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
     0x09, 0x80,                    // USAGE (System Control)
@@ -348,7 +348,7 @@ static uint8_t PROGMEM extra_hid_report_desc[] = {
 
 #define NUM_INTERFACES                  (KBD2_HID_DESC_NUM + 1)
 #define CONFIG1_DESC_SIZE               (9+(9+9+7)*NUM_INTERFACES)
-static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = {
+static const uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = {
        // configuration descriptor, USB spec 9.6.3, page 264-266, Table 9-10
        9,                                      // bLength;
        2,                                      // bDescriptorType;
@@ -515,17 +515,17 @@ struct usb_string_descriptor_struct {
        uint8_t bDescriptorType;
        int16_t wString[];
 };
-static struct usb_string_descriptor_struct PROGMEM string0 = {
+static const struct usb_string_descriptor_struct PROGMEM string0 = {
        4,
        3,
        {0x0409}
 };
-static struct usb_string_descriptor_struct PROGMEM string1 = {
+static const struct usb_string_descriptor_struct PROGMEM string1 = {
        sizeof(STR_MANUFACTURER),
        3,
        STR_MANUFACTURER
 };
-static struct usb_string_descriptor_struct PROGMEM string2 = {
+static const struct usb_string_descriptor_struct PROGMEM string2 = {
        sizeof(STR_PRODUCT),
        3,
        STR_PRODUCT
@@ -533,7 +533,7 @@ static struct usb_string_descriptor_struct PROGMEM string2 = {
 
 // This table defines which descriptor data is sent for each specific
 // request from the host (in wValue and wIndex).
-static struct descriptor_list_struct {
+static const struct descriptor_list_struct {
        uint16_t        wValue;     // descriptor type
        uint16_t        wIndex;
        const uint8_t   *addr;