-#ifdef MATRIX_HAS_LOCKING_CAPS
- if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
- // Ignore LockingCaps key down event when CAPS LOCK is on
- if (key0 == CAPS && (key1 == CAPS || key1 == 0xFF)) return 0;
- if (key0 == CAPS) key0 = key1;
- if (key1 == CAPS) key1 = 0xFF;
- // Convert LockingCaps key up event into down event
- if (key0 == CAPS_UP) key0 = CAPS;
- if (key1 == CAPS_UP) key1 = CAPS;
- } else {
- // CAPS LOCK off:
- // Ignore LockingCaps key up event when CAPS LOCK is off
- if (key0 == CAPS_UP && (key1 == CAPS_UP || key1 == 0xFF)) return 0;
- if (key0 == CAPS_UP) key0 = key1;
- if (key1 == CAPS_UP) key1 = 0xFF;
- }
-#endif
- _matrix_is_modified = true;
- _register_key(key0);