Skip to content

symbols: map Hyper to Mod3 by default

Wismill requested to merge wismill/xkeyboard-config:hyper/mod3 into master

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.

Fixes #440 (closed)


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.

Merge request reports