diff options
| author | fauxpark <fauxpark@gmail.com> | 2019-01-12 12:22:06 +1100 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-01-11 17:22:05 -0800 |
| commit | 2c4109394fa9ee71b10b8b2d3d1473a409d7003e (patch) | |
| tree | 4f6ea100fa29543981051035e30147cd6d72dbd1 /tmk_core | |
| parent | d9c5e5870efe730af52688b9a268927872f93eb7 (diff) | |
| download | qmk_firmware-2c4109394fa9ee71b10b8b2d3d1473a409d7003e.tar.gz qmk_firmware-2c4109394fa9ee71b10b8b2d3d1473a409d7003e.zip | |
Fix Caps Lock LEDs once and for all (#4824)
* Check the size of the SET_REPORT packet
If we have two bytes, that probably means the first is a report ID. The 6KRO interface may or may not have one, but the NKRO interface always does, so we need to check this regardless of whether KEYBOARD_SHARED_EP is defined.
* Fix indentation
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/protocol/lufa/lufa.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 27cf51b16..cdabaf16e 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c | |||
| @@ -517,17 +517,20 @@ void EVENT_USB_Device_ControlRequest(void) | |||
| 517 | if (USB_DeviceState == DEVICE_STATE_Unattached) | 517 | if (USB_DeviceState == DEVICE_STATE_Unattached) |
| 518 | return; | 518 | return; |
| 519 | } | 519 | } |
| 520 | #ifdef KEYBOARD_SHARED_EP | 520 | |
| 521 | uint8_t report_id = REPORT_ID_KEYBOARD; | 521 | if (Endpoint_BytesInEndpoint() == 2) { |
| 522 | if (keyboard_protocol) { | 522 | uint8_t report_id = REPORT_ID_KEYBOARD; |
| 523 | report_id = Endpoint_Read_8(); | 523 | |
| 524 | } | 524 | if (keyboard_protocol) { |
| 525 | if (report_id == REPORT_ID_KEYBOARD || report_id == REPORT_ID_NKRO) { | 525 | report_id = Endpoint_Read_8(); |
| 526 | } | ||
| 527 | |||
| 528 | if (report_id == REPORT_ID_KEYBOARD || report_id == REPORT_ID_NKRO) { | ||
| 526 | keyboard_led_stats = Endpoint_Read_8(); | 529 | keyboard_led_stats = Endpoint_Read_8(); |
| 530 | } | ||
| 531 | } else { | ||
| 532 | keyboard_led_stats = Endpoint_Read_8(); | ||
| 527 | } | 533 | } |
| 528 | #else | ||
| 529 | keyboard_led_stats = Endpoint_Read_8(); | ||
| 530 | #endif | ||
| 531 | 534 | ||
| 532 | Endpoint_ClearOUT(); | 535 | Endpoint_ClearOUT(); |
| 533 | Endpoint_ClearStatusStage(); | 536 | Endpoint_ClearStatusStage(); |
