Bug 103588

Summary: 2.22 changed behavior of compose:lctrl
Product: xkeyboard-config Reporter: Pavel Panchekha <me>
Component: GeneralAssignee: xkb
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
i915 platform: i915 features:

Description Pavel Panchekha 2017-11-06 04:04:02 UTC
I have my caps lock key as control and my left control key as my compose key, and I accomplish this by:

    setxkbmap -option ctrl:swapcaps -option compose:lctrl

After upgrading to 2.22, this command started having a different effect: my left control key is now *both* a compose key and a caps lock key. As a result, caps lock toggles on and off every time I use the compose key.

Is this expected behavior? If yes, is there an alternative way to achieve the keyboard layout I desire?

I am using the `us` layout, no variant, and no options other than those described above.
Comment 1 Sergey V. Udaltsov 2018-01-18 21:20:47 UTC
Can you try reverting this patch:

I guess that broke your config:
 xkb_symbols "swapcaps" {
     replace key <CAPS> { [ Control_L ] };
     replace key <LCTL> { [ Caps_Lock ] };
+    modifier_map Control { <CAPS> };
+    modifier_map  Lock { <LCTL> };
If so, please contact Michal Suchanek (email is on the commit page)
Comment 2 Pavel Panchekha 2018-01-20 20:00:57 UTC
Yes, that works, I've contacted Michal.
Comment 3 Sergey V. Udaltsov 2018-01-20 20:18:31 UTC
Great. Once you have the solution that makes you both happy - please submit a patch!
Comment 4 GitLab Migration User 2018-12-28 00:40:39 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/89.

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.