Created attachment 16382 [details] unpatched output of xkbmap :0 - It has been some time since my setxkbmap invokation in ~/.xinitrc has worked as intended. After taking a look at the output of « xkbmap :0 - » I tried this small diff and piped the result to « xkbmap - :0 » and everything worked: --- server-0.xkb 2008-05-05 17:01:56.000000000 -0400 +++ working.xkb 2008-05-05 17:05:43.891419799 -0400 @@ -1204,7 +1204,7 @@ }; key <RTRN> { [ Return ] }; key <LCTL> { - type= "PC_RCONTROL_LEVEL2", + type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Control_L, ISO_Prev_Group ] }; key <AC01> { @@ -1491,7 +1491,7 @@ key <MUHE> { [ Muhenkan ] }; key <KPEN> { [ KP_Enter ] }; key <RCTL> { - type= "PC_LCONTROL_LEVEL2", + type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Control_R, ISO_Next_Group ] }; key <KPDV> { I don’t know which part of the definition in symbols/group and types/pc breaks w/o that change. I'm running from cvs, currently up to date as of: /ChangeLog/1.421/Sun Apr 13 05:28:30 2008// but the diffs don’t seem to be relevant. That said, the comment in the LOCAL_EIGHT_LEVEL addition that RControl seems not to be enabled by default does seem relevant, yes?
6 years later, let's assume this is working :) please re-open if that's not the case.
The issue still exists in xorg 1.18. The fix James suggested worked also for me. Steps to reproduce: 0. Clear current keyboard options: setxbkmap -option 1. Set a two layouts: setxkbmap -option grp:ctrls_toggle us,de 2. Press "y" key. It should produce a "y" 3. Switch layouts by pressing LCtrl+RCtrl 4. Press "y" key. It should still produce a "y" instead of "z" which would be the German mapping
Created attachment 121149 [details] [review] 0001-symbols-group-re-enable-grp-ctrls_toggle.patch
Thank you Peter! Committed!
It's a bit strange that piping the output of "setxkbmap -print" to "xkbcomp - :0" is a workaround that would load ctrls_toggle successfully -- as documented there https://bugzilla.altlinux.org/show_bug.cgi?id=30618#c4 , https://bugzilla.altlinux.org/show_bug.cgi?id=32638 : setxkbmap -option '' `cat "$sysxkbmap"` -print | xkbcomp - "$DISPLAY" So, it would seem that is is a bug in setxkbmap, not in the definitions, because ultimately xkbcomp was able to do the job. Strange... How? ...if it was a bug in the definitions.
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.