diff --git a/KeyboardioFirmware.ino b/KeyboardioFirmware.ino index d2bf08af..18b261a9 100644 --- a/KeyboardioFirmware.ino +++ b/KeyboardioFirmware.ino @@ -46,7 +46,7 @@ void loop() { x = 0; y = 0; scan_matrix(); - LEDs.update_leds(temporary_keymap == NUMPAD_KEYMAP); + LEDs.update_leds(temporary_keymap); Keyboard.sendReport(); Keyboard.releaseAll(); handle_mouse_movement(x, y); diff --git a/led_control.cpp b/led_control.cpp index e6a6a9f0..3abeb865 100644 --- a/led_control.cpp +++ b/led_control.cpp @@ -55,14 +55,14 @@ void LEDControl::set_led_mode(uint8_t mode) { -void LEDControl::update_leds(uint8_t numlock_enabled) { - if (numlock_enabled) { +void LEDControl::update_leds(uint8_t current_keymap) { + if (current_keymap == NUMPAD_KEYMAP) { if (led_mode != LED_SPECIAL_MODE_NUMLOCK) { stored_led_mode = led_mode; } led_mode = LED_SPECIAL_MODE_NUMLOCK; } - if (!numlock_enabled && + if (current_keymap != NUMPAD_KEYMAP && led_mode == LED_SPECIAL_MODE_NUMLOCK ) { led_mode = stored_led_mode; diff --git a/led_control.h b/led_control.h index ec3dd8af..f38a698f 100644 --- a/led_control.h +++ b/led_control.h @@ -20,7 +20,7 @@ class LEDControl { public: void next_led_mode(); void led_bootup(); - void update_leds(uint8_t numlock_enabled); + void update_leds(uint8_t current_keymap); void led_type_letter(uint8_t letter); void set_led_mode(uint8_t mode);