GNU bug report logs - #53003
29.0.50; Wrong key modifiers

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Tue, 4 Jan 2022 07:53:01 UTC

Severity: normal

Found in version 29.0.50

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 53003 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 53003 <at> debbugs.gnu.org
Subject: Re: bug#53003: 29.0.50; Wrong key modifiers
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.




This bug report was last modified 3 years and 234 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.