Define Caps lock as a modifier

The previous implementation has unintended interactions with
auto-capitalisation.

Caps lock can now be locked twice at the same time, independently:
- Long press on shift
- Tap on Caps lock

Both have to be disabled independently. This might seem weird.
This commit is contained in:
Jules Aguillon 2024-02-17 11:59:38 +01:00
parent 38deb810f9
commit 95e7494ad7

View File

@ -355,6 +355,7 @@ public final class KeyValue
case "box": return modifierKey("Box", Modifier.BOX, 0);
case "fn": return modifierKey("Fn", Modifier.FN, 0);
case "meta": return modifierKey("Meta", Modifier.META, 0);
case "capslock": return modifierKey(0xE012, Modifier.SHIFT, FLAG_LOCKED);
/* Special event keys */
case "config": return eventKey(0xE004, Event.CONFIG, FLAG_SMALLER_FONT);
@ -368,7 +369,6 @@ public final class KeyValue
case "change_method": return eventKey(0xE009, Event.CHANGE_METHOD_PICKER, FLAG_SMALLER_FONT);
case "change_method_prev": return eventKey(0xE009, Event.CHANGE_METHOD_AUTO, FLAG_SMALLER_FONT);
case "action": return eventKey("Action", Event.ACTION, FLAG_SMALLER_FONT); // Will always be replaced
case "capslock": return eventKey(0xE012, Event.CAPS_LOCK, 0);
case "voice_typing": return eventKey(0xE015, Event.SWITCH_VOICE_TYPING, FLAG_SMALLER_FONT);
case "voice_typing_chooser": return eventKey(0xE015, Event.SWITCH_VOICE_TYPING_CHOOSER, FLAG_SMALLER_FONT);