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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 53003 in the body.
You can then email your comments to 53003 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#53003; Package emacs. (Tue, 04 Jan 2022 07:53:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juri Linkov <juri <at> linkov.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 04 Jan 2022 07:53:01 GMT) Full text and rfc822 format available.

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

From: Juri Linkov <juri <at> linkov.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; Wrong key modifiers
Date: Tue, 04 Jan 2022 09:48:32 +0200
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'




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53003; Package emacs. (Tue, 04 Jan 2022 13:47:01 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 53003 <at> debbugs.gnu.org
Subject: Re: bug#53003: 29.0.50; Wrong key modifiers
Date: Tue, 04 Jan 2022 21:46:03 +0800
Juri Linkov <juri <at> linkov.net> 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.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53003; Package emacs. (Tue, 04 Jan 2022 17:52:03 GMT) Full text and rfc822 format available.

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.




Reply sent to Po Lu <luangruo <at> yahoo.com>:
You have taken responsibility. (Wed, 05 Jan 2022 01:05:02 GMT) Full text and rfc822 format available.

Notification sent to Juri Linkov <juri <at> linkov.net>:
bug acknowledged by developer. (Wed, 05 Jan 2022 01:05:02 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 53003-done <at> debbugs.gnu.org
Subject: Re: bug#53003: 29.0.50; Wrong key modifiers
Date: Wed, 05 Jan 2022 09:03:50 +0800
Juri Linkov <juri <at> linkov.net> writes:

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

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

Thanks, closed.
You could try placing this text in your ~/.Xmodmap and loading it, if
you want to gain the use of both Hyper and Super:

  remove mod4 = Hyper_L
  add    mod3 = Hyper_L

Thanks.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 02 Feb 2022 12:24:04 GMT) Full text and rfc822 format available.

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.