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

From: Stephen Berman <[email-masked]>
Date: Tue, 08 Mar 2022 14:24:35 +0100

On Tue, 08 Mar 2022 20:59:39 +0800 Po Lu <[email-masked]> wrote:

> Stephen Berman <[email-masked]> writes:
>
>> xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):
>>
>> 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 ran `xmodmap .Xmodmap' with those lines added and then ran just
>> xmodmap, getting the above ouput.  This is identical to the output of
>> xmodmap I sent previously, without the added lines from you.  Do the
>> added lines need to be in a particular order with respect to the
>> existing lines?  Currently my .Xmodmap has these uncommented lines, in
>> the order listed:
>>
>> remove Lock      = Caps_Lock
>> keysym Caps_Lock = Control_L
>> add    Control   = Control_L
>> remove mod4 = Super_R
>> remove mod4 = Hyper_L
>> remove mod4 = slash
>> keysym Super_L = slash
>> keysym Menu = backslash
>>
>> Steve Berman
>
> What happens if you run this command after loading the .Xmodmap file?
>
>   $ xmodmap -e 'remove mod4 = Super_R' -e 'remove mod4 = Hyper_L' -e \
>   'remove mod4 = slash'

With that Super_L (the Windows key) is again recognized as `/' in
emacs-29 and also in Firefox.  Why does this work but having the
mappings in .Xmodmap doesn't?  (I also tried putting those three
mappings after the five mappings I've been using for years in .Xmodmap,
but it makes no difference.)

Steve Berman