Bug 19659 - option altwin:swap_lalt_lwin doesn't work
Summary: option altwin:swap_lalt_lwin doesn't work
Status: RESOLVED FIXED
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xkb
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-19 23:57 UTC by Alexey Ten
Modified: 2009-10-20 08:59 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
xkbcomp output (59.45 KB, application/octet-stream)
2009-01-21 14:05 UTC, Alexey Ten
Details
Fix option altwin:spap_lalt_lwin (828 bytes, patch)
2009-10-18 03:24 UTC, Alexey Ten
Details | Splinter Review

Description Alexey Ten 2009-01-19 23:57:21 UTC
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
Comment 1 Sergey V. Udaltsov 2009-01-21 13:56:28 UTC
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?
Comment 2 Alexey Ten 2009-01-21 14:05:55 UTC
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)
Comment 3 Sergey V. Udaltsov 2009-01-21 14:12:38 UTC
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.
Comment 4 Alexey Ten 2009-10-18 03:24:24 UTC
Created attachment 30517 [details] [review]
Fix option altwin:spap_lalt_lwin

setting explicit ONE_LEVEL for LALT seems to fix the bug
Comment 5 Sergey V. Udaltsov 2009-10-20 08:59:50 UTC
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.