Subject: bug#66558: 29.1; .Xmodmap Win-key configurations cause keybinding issues

From: Po Lu <[email-masked]>
Date: Mon, 16 Oct 2023 18:59:45 +0800

Dev Null <[email-masked]> writes:

> Sorry, I’m a little confused. The Win key appears to be recognized by
> Emacs as the ’S’ modifier. If I run Emacs without that .Xmodmap file,
> and I hit the left win key + n, I get ’S-n’. If I use an Xmodmap file
> consisting of just those two lines and hit the left win key + n, I get
> 'C-s-n'. So it appears that after the Xmodmap is read, Emacs is still
> recognizing my Win key as being bound to super, while other programs
> on my system don't seem to have that issue. I'm having trouble
> understanding why keys bound to control are the issue here.

My mistake.  When you rebind Super to a non-virtual modifier bit such as
control through xmodmap, the XKB virtual modifier Super is also assigned
to that bit.

Emacs 29 no longer respects such misconfigurations when the XKB
extension is enabled on the X server.  Since the control modifier bit is
furthermore uniformly interpreted as Control, any event arriving with
ControlMask set always matches both the predefined Control modifier and
the Super virtual modifier established during display setup.  I think
the solution is for you to assign the Super keysyms to Control through
XKB, while I devise a fix for Emacs 30.