#ifdef LAYER_NUMPAD
static void toggle_numpad(void) {
layer_invert(L_NUMPAD);
- bool num_lock = host_keyboard_leds() & 1<<USB_LED_NUM_LOCK;
- if (num_lock != (bool)IS_LAYER_ON(L_NUMPAD)) {
+ bool numpad_on = IS_LAYER_ON(L_NUMPAD);
+ bool num_lock_on = IS_HOST_LED_ON(USB_LED_NUM_LOCK);
+ if (num_lock_on != numpad_on) {
tap_code(KC_NLCK); // Toggle Num Lock to match layer state
}
}