Subject: Re: bug#53003: 29.0.50; Wrong key modifiers

From: Juri Linkov <[email-masked]>
Date: Tue, 04 Jan 2022 19:31:51 +0200

> Please show the output of `xmodmap'.

shift       Shift_L (0x32)
lock
control     Control_L (0x25),  Control_L (0x42),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3
mod4        Hyper_L (0x85),  Hyper_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

> Do you see a line where Hyper is on the same line as Super, something
> like this?
>
> mod4        Hyper_L (0x42),  Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
>
> (The keysym reported by xev does not really matter: that is not how X11
> virtual modifiers work.)

Indeed, Hyper and Super are on the same line.

> Many X servers are misconfigured that way, causing Super to be
> recognized as Hyper for the majority of users.  The recent switch to
> using XKB for detecting virtual modifiers solved that problem, but
> potentially caused this one as well.
>
> The correct solution is to remove the Hyper keys from the real modifier
> Mod4, and move them to (if not already occupied by another virtual
> modifier) Mod5.
>
> But I cannot tell you how to do that in concrete until I see the
> output of `xmodmap' on your system.

The above xmodmap was created by enabling the option in Keyboard Preferences:
"Alt/Win key behavior" -> "Hyper is mapped to Win".

I tried to disable this option and got such xmodmap:

mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)

and still Super is used instead of Hyper.

But I already replaced all mentions of 'hyper' with 'super' in my init file,
so if you think there is no bug, then you could close this report.