This is a rework of #446, based on the observations of #484.
Add new keymap format XKB_KEYMAP_FORMAT_TEXT_V1_1
Add new option lockOnRelease for LockGroup. It locks the group on release rather than press as in the protocol. Intended to fix issue for group lock on e.g. shift+alt. It is the default for XKB_KEYMAP_FORMAT_TEXT_V1_1, so that it fixes the issue with the xkeyboard-config files unchanged.
Add new option unlockOnPress for LockMods. It unlocks the modifiers on second press rather than the second release, as in the protocol. Intended to fix issue with CapsLock for fast typists. It is the default for XKB_KEYMAP_FORMAT_TEXT_V1_1, so that it fixes the issue with the xkeyboard-config files unchanged.
Add corresponding tests.
Add --format options to tools, in order to select the keymap format for parsing and serializing.
A lot of files are affected, but hopefully it is easier to review per commit.
TODO:
[ ] Check that there is no corner case with the new defaults for XKB_KEYMAP_FORMAT_TEXT_V1_1.
This is a rework of #446, based on the observations of #484.
XKB_KEYMAP_FORMAT_TEXT_V1_1
lockOnRelease
forLockGroup
. It locks the group on release rather than press as in the protocol. Intended to fix issue for group lock on e.g.shift+alt
. It is the default forXKB_KEYMAP_FORMAT_TEXT_V1_1
, so that it fixes the issue with thexkeyboard-config
files unchanged.unlockOnPress
forLockMods
. It unlocks the modifiers on second press rather than the second release, as in the protocol. Intended to fix issue withCapsLock
for fast typists. It is the default forXKB_KEYMAP_FORMAT_TEXT_V1_1
, so that it fixes the issue with thexkeyboard-config
files unchanged.--format
options to tools, in order to select the keymap format for parsing and serializing.A lot of files are affected, but hopefully it is easier to review per commit.
TODO:
XKB_KEYMAP_FORMAT_TEXT_V1_1
.This requires rebasing once #484 is merged.