Reassociating Hyper with Mod3
Hello, and thank you for maintaining xkb.
Issue #344 (closed) correctly identified that ctrl:swapcaps_hyper
, that associated
Hyper_L
with Mod3
, was inconsistent with everywhere else in xkb
, where
Hyper_L
, Hyper_R
or <HYPR>
are associated with Mod4
.
I want to make the case that the inconsistency should have been resolved the
other way round, by systematically associating Hyper
with Mod3
instead.
Some tiling window managers like dwm
or i3
use a specific user-settable
modifier as a prefix for all their keybindings. This modifier cannot be used by
any X client, since it is consumed by the window manager and never reaches the
client. Mod4
is generally chosen as this prefix, and consequently X clients
avoid using the corresponding key (canonically, Super
) as a keybinding.
So, if someone was using Mod4
as a prefix for dwm
, their Hyper
keybinding
inside Emacs, that used to work before 7124dd51, will not work anymore : now the
Hyper
press is interpreted as a Mod4
modifier, and is consumed by dwm
.
Generally speaking, 7124dd51 breaks stuff for every user that had Mod4
as
their prefix key for some tiling window manager, and used a Hyper
keybinding
inside an X client. This may not be many people, but I am among them and I
wanted to make myself known :
and to see for whom something breaks. Most likely for very few people;
I assume that @zacstewart was referring to a similar problem in #344 (closed).
This specific case shows that it is maybe better to not squeeze different keys in the same modifier when possible, and on the contrary use the entire range of modifiers available.
So, associating Hyper
with Mod3
and Super
with Mod4
would allow to use
both of them independently, in this case.
This would only break for people who rely explicitly on Hyper
being Mod4
and
cannot rely on Super
to offer that modifier. Given that Hyper
is much less
common that Super
, this would arguably break for even fewer people than the
ones for whom 7124dd51 did.
Thank you for your patience, and please do ask if anything was not clear.
Best,
Aymeric Agon-Rambosson