diff options
author | Joel Challis <git@zvecr.com> | 2019-11-10 17:02:46 +0000 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-11-10 09:02:46 -0800 |
commit | 1d4287cb9535a8ba7ab5d2aa0846167f34fc5b67 (patch) | |
tree | 69fdb918d37a66dec27c3ec28b6405d7689584ec | |
parent | 60e4921378d879eed110f801328e9642f35fa1e9 (diff) | |
download | qmk_firmware-1d4287cb9535a8ba7ab5d2aa0846167f34fc5b67.tar.gz qmk_firmware-1d4287cb9535a8ba7ab5d2aa0846167f34fc5b67.zip |
Fix chibios when mouse and nkro disabled (#7312)
-rw-r--r-- | tmk_core/protocol/chibios/usb_main.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index c8a6bbb43f..f7bfa20b2e 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -379,7 +379,6 @@ static void set_led_transfer_cb(USBDriver *usbp) { /* Callback for SETUP request on the endpoint 0 (control) */ static bool usb_request_hook_cb(USBDriver *usbp) { const USBDescriptor *dp; - int has_report_id; /* usbp->setup fields: * 0: bmRequestType (bitmask) @@ -432,26 +431,17 @@ static bool usb_request_hook_cb(USBDriver *usbp) { switch (usbp->setup[1]) { /* bRequest */ case HID_SET_REPORT: switch (usbp->setup[4]) { /* LSB(wIndex) (check MSB==0 and wLength==1?) */ - case KEYBOARD_INTERFACE: #if defined(SHARED_EP_ENABLE) && !defined(KEYBOARD_SHARED_EP) case SHARED_INTERFACE: + usbSetupTransfer(usbp, set_report_buf, sizeof(set_report_buf), set_led_transfer_cb); + return TRUE; + break; #endif + + case KEYBOARD_INTERFACE: /* keyboard_led_stats = <read byte from next OUT report> * keyboard_led_stats needs be word (or dword), otherwise we get an exception on F0 */ - has_report_id = 0; -#if defined(SHARED_EP_ENABLE) - if (usbp->setup[4] == SHARED_INTERFACE) { - has_report_id = 1; - } -#endif - if (usbp->setup[4] == KEYBOARD_INTERFACE && !keyboard_protocol) { - has_report_id = 0; - } - if (has_report_id) { - usbSetupTransfer(usbp, set_report_buf, sizeof(set_report_buf), set_led_transfer_cb); - } else { - usbSetupTransfer(usbp, (uint8_t *)&keyboard_led_stats, 1, NULL); - } + usbSetupTransfer(usbp, (uint8_t *)&keyboard_led_stats, 1, NULL); return TRUE; break; } |