summaryrefslogtreecommitdiff
path: root/rules
diff options
context:
space:
mode:
authorPierre Le Marre <dev@wismill.eu>2024-05-30 09:20:57 +0200
committerMarge Bot <emma+marge@anholt.net>2024-06-10 14:42:09 +0000
commitaa709f2f45e7b6164dd583389489043cf92c5b1c (patch)
treebd82d119046a0d18f01d79a6f3f25edc7df4276d /rules
parentd173201b916ae03a770748cc08a4aeeab2942eb9 (diff)
symbols: map Hyper to Mod3 by default
`Super` is a conventional modifier for WM/desktop actions, while `Hyper` has no such specific use. Instead, it can be used as a general purpose extra modifier. The issue is that both `Super` and `Hyper` are currently mapped to `Mod4`, which disallows to differentiate them. Since `Super` is more conventional than `Hyper`, it seems safer to not change its mappings to `Mod4`, as it may have been hard-coded in some apps. Instead, we now default `Hyper` mapping to `Mod3`, as it was before in some options. Note that now `Hyper` conflicts with `LevelFive`, but it seems reasonable to assume the use case for `LevelFive` (layout with up to 8 levels) *plus* `Hyper` is niche enough. It can be solved by using a custom layout that maps `Hyper` to: - `Mod2`, and giving up `NumLock`. - `Mod4`, and giving up (separate) `Super`. --- Remark: all this issues with modifiers happen because our layouts define `modifier_map` on real keys, in order to be compatible with the X11 core protocol. But XKB would work using a mapping only on the “fake” keys `<ALT>`, `<HYPR>`, etc. If we did so and remove any other mapping, we would be able to write options to make these mappings user-settable and forget forever of the tricky `modifier_map` conflicts. Part-of: <https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/694>
Diffstat (limited to 'rules')
0 files changed, 0 insertions, 0 deletions