Setting this options doesn't set Mod4 to LALT as intended because Mod1 is already set to it. Mod1 is set in altwin(meta_alt) which is included in symbols/pc
Could you please attach the result of xkbcomp :0 -xkb out.xkb ? On my system, I see funny configuration: modifier_map Control { <LCTL> }; modifier_map Shift { <LFSH> }; modifier_map Shift { <RTSH> }; modifier_map Mod1 { <LALT> }; modifier_map Mod4 { <LALT> }; modifier_map Lock { <CAPS> }; modifier_map Mod2 { <NMLK> }; modifier_map Mod5 { <LVL3> }; modifier_map Mod1 { <RALT> }; modifier_map Mod1 { <LWIN> }; modifier_map Mod5 { <MDSW> }; modifier_map Mod1 { <META> }; modifier_map Mod4 { <SUPR> }; modifier_map Mod4 { <HYPR> }; So Mod4 is assigned to LALT, SUPR and HYPR Mod1 is assigned to LALT, RALT, LWIN and META. May be, there is an issue with xkbcomp here?
Created attachment 22139 [details] xkbcomp output ... modifier_map Control { <LCTL> }; modifier_map Shift { <LFSH> }; modifier_map Shift { <RTSH> }; modifier_map Mod1 { <LALT> }; modifier_map Mod4 { <LALT> }; modifier_map Lock { <CAPS> }; modifier_map Mod2 { <NMLK> }; modifier_map Mod5 { <LVL3> }; modifier_map Control { <RCTL> }; modifier_map Mod1 { <LWIN> }; modifier_map Mod5 { <MDSW> }; modifier_map Mod1 { <META> }; modifier_map Mod4 { <SUPR> }; modifier_map Mod4 { <HYPR> }; ... And xmodmap gives: $ xmodmap xmodmap: up to 3 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock ISO_Next_Group (0x42) control Control_L (0x25), Control_R (0x69) mod1 Super_L (0x40), Alt_L (0x85), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x40), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
That's really amazing. $ grep Mod4 out_swap.xkb modifier_map Mod4 { <LALT> }; modifier_map Mod4 { <SUPR> }; modifier_map Mod4 { <HYPR> }; And at the same time: $ xmodmap | grep mod4 mod4 Super_L (0x40), Super_L (0xce), Hyper_L (0xcf) My guess would be that it is xkbcomp's fault.
Created attachment 30517 [details] [review] Fix option altwin:spap_lalt_lwin setting explicit ONE_LEVEL for LALT seems to fix the bug
ok, if you're happy with that. committed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.