Subject: bug#53003: 29.0.50; Wrong key modifiers

From: Po Lu <[email-masked]>
Date: Tue, 04 Jan 2022 21:46:03 +0800

Juri Linkov <[email-masked]> writes:

> Some recent change broke the Hyper key modifiers.
>
> After this change typing the Hyper key with arrows shows
>
>   s-<right> is undefined
>
> Before this change it was
>
>   H-<right> is undefined
>
> For this key xev reports keycode 133 (keysym 0xffed, Hyper_L)
>
> In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
>  of 2022-01-02
> Repository revision: b2167d98432a78442522b7564e22f47d75a98b6f
> Repository branch: master
>
> Configured using:
>  'configure --with-native-compilation --with-xinput2 --with-pgtk '
>
> But it also broken with this:
>
> Configured using:
>  'configure --with-native-compilation'

Please show the output of `xmodmap'.

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.)

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.

Thanks.