Branch
Hash :
d192b3b6
Author :
Date :
2025-06-19T21:57:46
keymap: Add option `unlockOnPress` for SetMods() It enables e.g. to deactivate `CapsLock` *on press* rather than on release, as in other platforms such as Windows. It fixes a [18-year old issue] inherited from the X11 ecosystem, by extending the [XKB protocol key actions]. As it is incompatible with X11, this feature is available only using the keymap text format v2. [18-year old issue]: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/74 [XKB protocol key actions]: https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Key_Actions
xkb_symbols "breaks_caps" {
key <LFSH> {
type = "ALPHABETIC",
[Shift_L, Shift_L],
[
SetMods(modifiers=Shift),
SetMods(modifiers=Shift+Lock,clearLocks,unlockOnPress)
]
};
key <RTSH> {
type = "ALPHABETIC",
[Shift_R, Shift_R],
[
SetMods(modifiers=Shift),
SetMods(modifiers=Shift+Lock,clearLocks,unlockOnPress)
]
};
};