Subject: bug#54289: 29.0.50; Emacs ignores xmodmap Super_L assignment

From: Stephen Berman <[email-masked]>
Date: Tue, 08 Mar 2022 11:52:45 +0100

On Tue, 08 Mar 2022 18:28:43 +0800 Po Lu <[email-masked]> wrote:

> Stephen Berman <[email-masked]> writes:
>
>> shift       Shift_L (0x32),  Shift_R (0x3e)
>> lock
>> control     Control_L (0x25),  Control_L (0x42),  Control_R (0x69)
>> mod1        Alt_L (0x40),  Meta_L (0xcd)
>> mod2        Num_Lock (0x4d)
>> mod3
>> mod4        slash (0x85),  Super_R (0x86),  slash (0xce),  Hyper_L (0xcf)
>> mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)
>>
>>> I suspect that some modifier is mapped to Super_L, alongside slash.
>>
>> Is the above output consistent with the five mappings in my .Xmodmap
>> file?
>
> No: mod4 is both slash

You mean forward slash and backslash?  I.e. mod4 subsumes the Super_L
and Menu keysyms?

>>> That is incorrect, so Emacs and Firefox are within their rights to
>>> ignore such a mapping.
>>
>> If so, how do I get the mapping of Super_L to slash back (at least in
>> Emacs)?
>
> Try adding this to your ~/.Xmodmap and evaluating it as well:
>
>   remove mod4 = Super_R
>   remove mod4 = Hyper_L
>
> Also add this if you're sure you don't want the actual slash to be
> treated as mod4:
>
>   remove mod4 = slash
>
> And see if that resolves the problem.  Also, please tell if that makes
> Firefox recognize the mapping as well.

I tried with all three remove mappings and also with just the first two,
but in both cases nothing changed, i.e., typing Super_L (the Windows key
on my keyboard) still produced nothing in emacs-29 (non-pgtk build).
Same in Firefox.  FWIW evaluating `xmodmap .Xmodmap' gives this output
(both with the lines you suggested adding and without them):

xmodmap:  .Xmodmap:16:  bad keysym in remove modifier list 'Caps_Lock', no corresponding keycodes
xmodmap:  .Xmodmap:18:  bad keysym target keysym 'Caps_Lock', no corresponding keycodes
xmodmap:  .Xmodmap:49:  bad keysym target keysym 'Super_L', no corresponding keycodes
xmodmap:  .Xmodmap:52:  bad keysym target keysym 'Menu', no corresponding keycodes
xmodmap:  4 errors encountered, aborting.

Nevertheless, only the Super_L mapping fails in emacs-29 (and Firefox).

Steve Berman