diff options
-rw-r--r-- | tmk_core/protocol/arm_atsam/main_arm_atsam.c | 1 | ||||
-rw-r--r-- | tmk_core/protocol/arm_atsam/usb/udi_device_conf.h | 4 | ||||
-rw-r--r-- | tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c | 42 | ||||
-rw-r--r-- | tmk_core/protocol/chibios/usb_main.c | 20 | ||||
-rw-r--r-- | tmk_core/protocol/lufa/lufa.c | 2 | ||||
-rw-r--r-- | tmk_core/protocol/usb_descriptor.c | 16 | ||||
-rw-r--r-- | tmk_core/protocol/vusb/vusb.c | 55 |
7 files changed, 78 insertions, 62 deletions
diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c index 9c8073dd9..e952a427e 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c | |||
@@ -130,7 +130,6 @@ void send_extra(uint8_t report_id, uint16_t data) { | |||
130 | 130 | ||
131 | void send_system(uint16_t data) { | 131 | void send_system(uint16_t data) { |
132 | #ifdef EXTRAKEY_ENABLE | 132 | #ifdef EXTRAKEY_ENABLE |
133 | if (data != 0) data = data - SYSTEM_POWER_DOWN + 1; | ||
134 | send_extra(REPORT_ID_SYSTEM, data); | 133 | send_extra(REPORT_ID_SYSTEM, data); |
135 | #endif // EXTRAKEY_ENABLE | 134 | #endif // EXTRAKEY_ENABLE |
136 | } | 135 | } |
diff --git a/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h b/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h index f22f5003a..80556205f 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h | |||
@@ -327,7 +327,7 @@ typedef struct { | |||
327 | } udi_hid_exk_desc_t; | 327 | } udi_hid_exk_desc_t; |
328 | 328 | ||
329 | typedef struct { | 329 | typedef struct { |
330 | uint8_t array[54]; | 330 | uint8_t array[50]; |
331 | } udi_hid_exk_report_desc_t; | 331 | } udi_hid_exk_report_desc_t; |
332 | 332 | ||
333 | # define UDI_HID_EXK_DESC \ | 333 | # define UDI_HID_EXK_DESC \ |
@@ -429,7 +429,7 @@ typedef struct { | |||
429 | } udi_hid_raw_desc_t; | 429 | } udi_hid_raw_desc_t; |
430 | 430 | ||
431 | typedef struct { | 431 | typedef struct { |
432 | uint8_t array[27]; | 432 | uint8_t array[26]; |
433 | } udi_hid_raw_report_desc_t; | 433 | } udi_hid_raw_report_desc_t; |
434 | 434 | ||
435 | # define UDI_HID_RAW_DESC \ | 435 | # define UDI_HID_RAW_DESC \ |
diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c index 5b3295407..cf9297dc7 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c | |||
@@ -377,39 +377,33 @@ static uint8_t udi_hid_exk_report_trans[UDI_HID_EXK_REPORT_SIZE]; | |||
377 | 377 | ||
378 | COMPILER_WORD_ALIGNED | 378 | COMPILER_WORD_ALIGNED |
379 | UDC_DESC_STORAGE udi_hid_exk_report_desc_t udi_hid_exk_report_desc = {{ | 379 | UDC_DESC_STORAGE udi_hid_exk_report_desc_t udi_hid_exk_report_desc = {{ |
380 | // clang-format off | ||
380 | 0x05, 0x01, // Usage Page (Generic Desktop) | 381 | 0x05, 0x01, // Usage Page (Generic Desktop) |
381 | 0x09, 0x80, // Usage (System Control) | 382 | 0x09, 0x80, // Usage (System Control) |
382 | 0xA1, 0x01, // Collection (Application) | 383 | 0xA1, 0x01, // Collection (Application) |
383 | 0x85, REPORT_ID_SYSTEM, // Report ID | 384 | 0x85, REPORT_ID_SYSTEM, // Report ID |
384 | 0x1A, 0x81, | 385 | 0x19, 0x01, // Usage Minimum (Pointer) |
385 | 0x00, // Usage Minimum (81) (System Power Down) | 386 | 0x2A, 0xB7, 0x00, // Usage Maximum (System Display LCD Autoscale) |
386 | 0x2A, 0x83, | 387 | 0x15, 0x01, // Logical Minimum |
387 | 0x00, // Usage Maximum (83) (System Wake Up) | 388 | 0x26, 0xB7, 0x00, // Logical Maximum |
388 | 0x16, 0x01, | 389 | 0x95, 0x01, // Report Count (1) |
389 | 0x00, // Logical Minimum (1) | 390 | 0x75, 0x10, // Report Size (16) |
390 | 0x26, 0x03, | 391 | 0x81, 0x00, // Input (Data, Array, Absolute) |
391 | 0x00, // Logical Maximum (3) | 392 | 0xC0, // End Collection |
392 | 0x95, 0x01, // Report Count (1) | ||
393 | 0x75, 0x10, // Report Size (16) | ||
394 | 0x81, 0x00, // Input (Data, Array, Absolute) | ||
395 | 0xC0, // End Collection | ||
396 | 393 | ||
397 | 0x05, 0x0C, // Usage Page (Consumer) | 394 | 0x05, 0x0C, // Usage Page (Consumer) |
398 | 0x09, 0x01, // Usage (Consumer Control) | 395 | 0x09, 0x01, // Usage (Consumer Control) |
399 | 0xA1, 0x01, // Collection (Application) | 396 | 0xA1, 0x01, // Collection (Application) |
400 | 0x85, REPORT_ID_CONSUMER, // Report ID | 397 | 0x85, REPORT_ID_CONSUMER, // Report ID |
401 | 0x1A, 0x01, | 398 | 0x19, 0x01, // Usage Minimum (Consumer Control) |
402 | 0x00, // Usage Minimum (Consumer Control) | 399 | 0x2A, 0xA0, 0x02, // Usage Maximum (AC Desktop Show All Applications) |
403 | 0x2A, 0x9C, | 400 | 0x15, 0x01, // Logical Minimum |
404 | 0x02, // Usage Maximum (AC Distribute Vertically) | 401 | 0x26, 0xA0, 0x02, // Logical Maximum |
405 | 0x16, 0x01, | 402 | 0x95, 0x01, // Report Count (1) |
406 | 0x00, // Logical Minimum | 403 | 0x75, 0x10, // Report Size (16) |
407 | 0x26, 0x9C, | 404 | 0x81, 0x00, // Input (Data, Array, Absolute) |
408 | 0x02, // Logical Maximum | 405 | 0xC0 // End Collection |
409 | 0x95, 0x01, // Report Count (1) | 406 | //clang-format on |
410 | 0x75, 0x10, // Report Size (16) | ||
411 | 0x81, 0x00, // Input (Data, Array, Absolute) | ||
412 | 0xC0 // End Collection | ||
413 | }}; | 407 | }}; |
414 | 408 | ||
415 | static bool udi_hid_exk_setreport(void); | 409 | static bool udi_hid_exk_setreport(void); |
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index d5eeffcbe..ec95167cf 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c | |||
@@ -732,7 +732,7 @@ void shared_in_cb(USBDriver *usbp, usbep_t ep) { | |||
732 | */ | 732 | */ |
733 | 733 | ||
734 | #ifdef EXTRAKEY_ENABLE | 734 | #ifdef EXTRAKEY_ENABLE |
735 | static void send_extra_report(uint8_t report_id, uint16_t data) { | 735 | static void send_extra(uint8_t report_id, uint16_t data) { |
736 | osalSysLock(); | 736 | osalSysLock(); |
737 | if (usbGetDriverStateI(&USB_DRIVER) != USB_ACTIVE) { | 737 | if (usbGetDriverStateI(&USB_DRIVER) != USB_ACTIVE) { |
738 | osalSysUnlock(); | 738 | osalSysUnlock(); |
@@ -744,15 +744,19 @@ static void send_extra_report(uint8_t report_id, uint16_t data) { | |||
744 | usbStartTransmitI(&USB_DRIVER, SHARED_IN_EPNUM, (uint8_t *)&report, sizeof(report_extra_t)); | 744 | usbStartTransmitI(&USB_DRIVER, SHARED_IN_EPNUM, (uint8_t *)&report, sizeof(report_extra_t)); |
745 | osalSysUnlock(); | 745 | osalSysUnlock(); |
746 | } | 746 | } |
747 | #endif | ||
747 | 748 | ||
748 | void send_system(uint16_t data) { send_extra_report(REPORT_ID_SYSTEM, data); } | 749 | void send_system(uint16_t data) { |
749 | 750 | #ifdef EXTRAKEY_ENABLE | |
750 | void send_consumer(uint16_t data) { send_extra_report(REPORT_ID_CONSUMER, data); } | 751 | send_extra(REPORT_ID_SYSTEM, data); |
752 | #endif | ||
753 | } | ||
751 | 754 | ||
752 | #else /* EXTRAKEY_ENABLE */ | 755 | void send_consumer(uint16_t data) { |
753 | void send_system(uint16_t data) { (void)data; } | 756 | #ifdef EXTRAKEY_ENABLE |
754 | void send_consumer(uint16_t data) { (void)data; } | 757 | send_extra(REPORT_ID_CONSUMER, data); |
755 | #endif /* EXTRAKEY_ENABLE */ | 758 | #endif |
759 | } | ||
756 | 760 | ||
757 | /* --------------------------------------------------------- | 761 | /* --------------------------------------------------------- |
758 | * Console functions | 762 | * Console functions |
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 933b212c9..738c2a6d3 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c | |||
@@ -690,7 +690,7 @@ static void send_extra(uint8_t report_id, uint16_t data) { | |||
690 | */ | 690 | */ |
691 | static void send_system(uint16_t data) { | 691 | static void send_system(uint16_t data) { |
692 | #ifdef EXTRAKEY_ENABLE | 692 | #ifdef EXTRAKEY_ENABLE |
693 | send_extra(REPORT_ID_SYSTEM, data - SYSTEM_POWER_DOWN + 1); | 693 | send_extra(REPORT_ID_SYSTEM, data); |
694 | #endif | 694 | #endif |
695 | } | 695 | } |
696 | 696 | ||
diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 70032d69f..f2b91b099 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c | |||
@@ -166,10 +166,10 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { | |||
166 | HID_RI_USAGE(8, 0x80), // System Control | 166 | HID_RI_USAGE(8, 0x80), // System Control |
167 | HID_RI_COLLECTION(8, 0x01), // Application | 167 | HID_RI_COLLECTION(8, 0x01), // Application |
168 | HID_RI_REPORT_ID(8, REPORT_ID_SYSTEM), | 168 | HID_RI_REPORT_ID(8, REPORT_ID_SYSTEM), |
169 | HID_RI_USAGE_MINIMUM(16, 0x0081), // System Power Down | 169 | HID_RI_USAGE_MINIMUM(8, 0x01), // Pointer |
170 | HID_RI_USAGE_MAXIMUM(16, 0x0083), // System Wake Up | 170 | HID_RI_USAGE_MAXIMUM(16, 0x00B7), // System Display LCD Autoscale |
171 | HID_RI_LOGICAL_MINIMUM(16, 0x0001), | 171 | HID_RI_LOGICAL_MINIMUM(8, 0x01), |
172 | HID_RI_LOGICAL_MAXIMUM(16, 0x0003), | 172 | HID_RI_LOGICAL_MAXIMUM(16, 0x00B7), |
173 | HID_RI_REPORT_COUNT(8, 1), | 173 | HID_RI_REPORT_COUNT(8, 1), |
174 | HID_RI_REPORT_SIZE(8, 16), | 174 | HID_RI_REPORT_SIZE(8, 16), |
175 | HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), | 175 | HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), |
@@ -179,10 +179,10 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { | |||
179 | HID_RI_USAGE(8, 0x01), // Consumer Control | 179 | HID_RI_USAGE(8, 0x01), // Consumer Control |
180 | HID_RI_COLLECTION(8, 0x01), // Application | 180 | HID_RI_COLLECTION(8, 0x01), // Application |
181 | HID_RI_REPORT_ID(8, REPORT_ID_CONSUMER), | 181 | HID_RI_REPORT_ID(8, REPORT_ID_CONSUMER), |
182 | HID_RI_USAGE_MINIMUM(16, 0x0001), // Consumer Control | 182 | HID_RI_USAGE_MINIMUM(8, 0x01), // Consumer Control |
183 | HID_RI_USAGE_MAXIMUM(16, 0x029C), // AC Distribute Vertically | 183 | HID_RI_USAGE_MAXIMUM(16, 0x02A0), // AC Desktop Show All Applications |
184 | HID_RI_LOGICAL_MINIMUM(16, 0x0001), | 184 | HID_RI_LOGICAL_MINIMUM(8, 0x01), |
185 | HID_RI_LOGICAL_MAXIMUM(16, 0x029C), | 185 | HID_RI_LOGICAL_MAXIMUM(16, 0x02A0), |
186 | HID_RI_REPORT_COUNT(8, 1), | 186 | HID_RI_REPORT_COUNT(8, 1), |
187 | HID_RI_REPORT_SIZE(8, 16), | 187 | HID_RI_REPORT_SIZE(8, 16), |
188 | HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), | 188 | HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), |
diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index 2d2e5ca5c..abf723952 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c | |||
@@ -129,7 +129,7 @@ static void send_extra(uint8_t report_id, uint16_t data) { | |||
129 | 129 | ||
130 | static void send_system(uint16_t data) { | 130 | static void send_system(uint16_t data) { |
131 | #ifdef EXTRAKEY_ENABLE | 131 | #ifdef EXTRAKEY_ENABLE |
132 | send_extra(REPORT_ID_SYSTEM, data - SYSTEM_POWER_DOWN + 1); | 132 | send_extra(REPORT_ID_SYSTEM, data); |
133 | #endif | 133 | #endif |
134 | } | 134 | } |
135 | 135 | ||
@@ -251,7 +251,9 @@ const PROGMEM uchar keyboard_hid_report[] = { | |||
251 | 0xC0 // End Collection | 251 | 0xC0 // End Collection |
252 | }; | 252 | }; |
253 | 253 | ||
254 | const PROGMEM uchar mouse_hid_report[] = { | 254 | #if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE) |
255 | const PROGMEM uchar mouse_extra_hid_report[] = { | ||
256 | # ifdef MOUSE_ENABLE | ||
255 | // Mouse report descriptor | 257 | // Mouse report descriptor |
256 | 0x05, 0x01, // Usage Page (Generic Desktop) | 258 | 0x05, 0x01, // Usage Page (Generic Desktop) |
257 | 0x09, 0x02, // Usage (Mouse) | 259 | 0x09, 0x02, // Usage (Mouse) |
@@ -300,17 +302,18 @@ const PROGMEM uchar mouse_hid_report[] = { | |||
300 | 0x81, 0x06, // Input (Data, Variable, Relative) | 302 | 0x81, 0x06, // Input (Data, Variable, Relative) |
301 | 0xC0, // End Collection | 303 | 0xC0, // End Collection |
302 | 0xC0, // End Collection | 304 | 0xC0, // End Collection |
305 | # endif | ||
303 | 306 | ||
304 | #ifdef EXTRAKEY_ENABLE | 307 | # ifdef EXTRAKEY_ENABLE |
305 | // Extrakeys report descriptor | 308 | // Extrakeys report descriptor |
306 | 0x05, 0x01, // Usage Page (Generic Desktop) | 309 | 0x05, 0x01, // Usage Page (Generic Desktop) |
307 | 0x09, 0x80, // Usage (System Control) | 310 | 0x09, 0x80, // Usage (System Control) |
308 | 0xA1, 0x01, // Collection (Application) | 311 | 0xA1, 0x01, // Collection (Application) |
309 | 0x85, REPORT_ID_SYSTEM, // Report ID | 312 | 0x85, REPORT_ID_SYSTEM, // Report ID |
310 | 0x1A, 0x81, 0x00, // Usage Minimum (System Power Down) | 313 | 0x19, 0x01, // Usage Minimum (Pointer) |
311 | 0x2A, 0x83, 0x00, // Usage Maximum (System Wake Up) | 314 | 0x2A, 0xB7, 0x00, // Usage Maximum (System Display LCD Autoscale) |
312 | 0x16, 0x01, 0x00, // Logical Minimum | 315 | 0x15, 0x01, // Logical Minimum |
313 | 0x26, 0x03, 0x00, // Logical Maximum | 316 | 0x26, 0xB7, 0x00, // Logical Maximum |
314 | 0x95, 0x01, // Report Count (1) | 317 | 0x95, 0x01, // Report Count (1) |
315 | 0x75, 0x10, // Report Size (16) | 318 | 0x75, 0x10, // Report Size (16) |
316 | 0x81, 0x00, // Input (Data, Array, Absolute) | 319 | 0x81, 0x00, // Input (Data, Array, Absolute) |
@@ -320,16 +323,17 @@ const PROGMEM uchar mouse_hid_report[] = { | |||
320 | 0x09, 0x01, // Usage (Consumer Control) | 323 | 0x09, 0x01, // Usage (Consumer Control) |
321 | 0xA1, 0x01, // Collection (Application) | 324 | 0xA1, 0x01, // Collection (Application) |
322 | 0x85, REPORT_ID_CONSUMER, // Report ID | 325 | 0x85, REPORT_ID_CONSUMER, // Report ID |
323 | 0x1A, 0x01, 0x00, // Usage Minimum (Consumer Control) | 326 | 0x19, 0x01, // Usage Minimum (Consumer Control) |
324 | 0x2A, 0x9C, 0x02, // Usage Maximum (AC Distribute Vertically) | 327 | 0x2A, 0xA0, 0x02, // Usage Maximum (AC Desktop Show All Applications) |
325 | 0x16, 0x01, 0x00, // Logical Minimum | 328 | 0x15, 0x01, // Logical Minimum |
326 | 0x26, 0x9C, 0x02, // Logical Maximum | 329 | 0x26, 0xA0, 0x02, // Logical Maximum |
327 | 0x95, 0x01, // Report Count (1) | 330 | 0x95, 0x01, // Report Count (1) |
328 | 0x75, 0x10, // Report Size (16) | 331 | 0x75, 0x10, // Report Size (16) |
329 | 0x81, 0x00, // Input (Data, Array, Absolute) | 332 | 0x81, 0x00, // Input (Data, Array, Absolute) |
330 | 0xC0 // End Collection | 333 | 0xC0 // End Collection |
331 | #endif | 334 | # endif |
332 | }; | 335 | }; |
336 | #endif | ||
333 | 337 | ||
334 | #ifndef USB_MAX_POWER_CONSUMPTION | 338 | #ifndef USB_MAX_POWER_CONSUMPTION |
335 | # define USB_MAX_POWER_CONSUMPTION 500 | 339 | # define USB_MAX_POWER_CONSUMPTION 500 |
@@ -350,10 +354,19 @@ const PROGMEM char usbDescriptorConfiguration[] = { | |||
350 | /* USB configuration descriptor */ | 354 | /* USB configuration descriptor */ |
351 | 9, /* sizeof(usbDescriptorConfiguration): length of descriptor in bytes */ | 355 | 9, /* sizeof(usbDescriptorConfiguration): length of descriptor in bytes */ |
352 | USBDESCR_CONFIG, /* descriptor type */ | 356 | USBDESCR_CONFIG, /* descriptor type */ |
353 | 9 + (9 + 9 + 7) + (9 + 9 + 7), 0, | 357 | # if defined (MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE) |
358 | 59, // 9 + (9 + 9 + 7) + (9 + 9 + 7) | ||
359 | #else | ||
360 | 34, // 9 + (9 + 9 + 7) | ||
361 | # endif | ||
362 | 0, | ||
354 | // 18 + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT3 + 9, 0, | 363 | // 18 + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT3 + 9, 0, |
355 | /* total length of data returned (including inlined descriptors) */ | 364 | /* total length of data returned (including inlined descriptors) */ |
365 | # if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE) | ||
356 | 2, /* number of interfaces in this configuration */ | 366 | 2, /* number of interfaces in this configuration */ |
367 | # else | ||
368 | 1, | ||
369 | #endif | ||
357 | 1, /* index of this configuration */ | 370 | 1, /* index of this configuration */ |
358 | 0, /* configuration name string index */ | 371 | 0, /* configuration name string index */ |
359 | # if USB_CFG_IS_SELF_POWERED | 372 | # if USB_CFG_IS_SELF_POWERED |
@@ -391,8 +404,9 @@ const PROGMEM char usbDescriptorConfiguration[] = { | |||
391 | USB_POLLING_INTERVAL_MS, /* in ms */ | 404 | USB_POLLING_INTERVAL_MS, /* in ms */ |
392 | # endif | 405 | # endif |
393 | 406 | ||
407 | # if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE) | ||
394 | /* | 408 | /* |
395 | * Mouse interface | 409 | * Mouse/extrakeys interface |
396 | */ | 410 | */ |
397 | /* Interface descriptor */ | 411 | /* Interface descriptor */ |
398 | 9, /* sizeof(usbDescrInterface): length of descriptor in bytes */ | 412 | 9, /* sizeof(usbDescrInterface): length of descriptor in bytes */ |
@@ -411,8 +425,8 @@ const PROGMEM char usbDescriptorConfiguration[] = { | |||
411 | 0x00, /* target country code */ | 425 | 0x00, /* target country code */ |
412 | 0x01, /* number of HID Report (or other HID class) Descriptor infos to follow */ | 426 | 0x01, /* number of HID Report (or other HID class) Descriptor infos to follow */ |
413 | 0x22, /* descriptor type: report */ | 427 | 0x22, /* descriptor type: report */ |
414 | sizeof(mouse_hid_report), 0, /* total length of report descriptor */ | 428 | sizeof(mouse_extra_hid_report), 0, /* total length of report descriptor */ |
415 | # if USB_CFG_HAVE_INTRIN_ENDPOINT3 /* endpoint descriptor for endpoint 3 */ | 429 | # if USB_CFG_HAVE_INTRIN_ENDPOINT3 /* endpoint descriptor for endpoint 3 */ |
416 | /* Endpoint descriptor */ | 430 | /* Endpoint descriptor */ |
417 | 7, /* sizeof(usbDescrEndpoint) */ | 431 | 7, /* sizeof(usbDescrEndpoint) */ |
418 | USBDESCR_ENDPOINT, /* descriptor type = endpoint */ | 432 | USBDESCR_ENDPOINT, /* descriptor type = endpoint */ |
@@ -420,6 +434,7 @@ const PROGMEM char usbDescriptorConfiguration[] = { | |||
420 | 0x03, /* attrib: Interrupt endpoint */ | 434 | 0x03, /* attrib: Interrupt endpoint */ |
421 | 8, 0, /* maximum packet size */ | 435 | 8, 0, /* maximum packet size */ |
422 | USB_POLLING_INTERVAL_MS, /* in ms */ | 436 | USB_POLLING_INTERVAL_MS, /* in ms */ |
437 | # endif | ||
423 | # endif | 438 | # endif |
424 | }; | 439 | }; |
425 | #endif | 440 | #endif |
@@ -448,10 +463,12 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) { | |||
448 | usbMsgPtr = (unsigned char *)(usbDescriptorConfiguration + 9 + 9); | 463 | usbMsgPtr = (unsigned char *)(usbDescriptorConfiguration + 9 + 9); |
449 | len = 9; | 464 | len = 9; |
450 | break; | 465 | break; |
466 | #if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE) | ||
451 | case 1: | 467 | case 1: |
452 | usbMsgPtr = (unsigned char *)(usbDescriptorConfiguration + 9 + (9 + 9 + 7) + 9); | 468 | usbMsgPtr = (unsigned char *)(usbDescriptorConfiguration + 9 + (9 + 9 + 7) + 9); |
453 | len = 9; | 469 | len = 9; |
454 | break; | 470 | break; |
471 | #endif | ||
455 | } | 472 | } |
456 | break; | 473 | break; |
457 | case USBDESCR_HID_REPORT: | 474 | case USBDESCR_HID_REPORT: |
@@ -461,10 +478,12 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) { | |||
461 | usbMsgPtr = (unsigned char *)keyboard_hid_report; | 478 | usbMsgPtr = (unsigned char *)keyboard_hid_report; |
462 | len = sizeof(keyboard_hid_report); | 479 | len = sizeof(keyboard_hid_report); |
463 | break; | 480 | break; |
481 | #if defined(MOUSE_ENABLE) || defined(EXTRAKEY_ENABLE) | ||
464 | case 1: | 482 | case 1: |
465 | usbMsgPtr = (unsigned char *)mouse_hid_report; | 483 | usbMsgPtr = (unsigned char *)mouse_extra_hid_report; |
466 | len = sizeof(mouse_hid_report); | 484 | len = sizeof(mouse_extra_hid_report); |
467 | break; | 485 | break; |
486 | #endif | ||
468 | } | 487 | } |
469 | break; | 488 | break; |
470 | } | 489 | } |