]> git.draconx.ca Git - gentoo-draconx.git/blobdiff - x11-misc/xkeyboard-config/files/0001-Add-option-to-bind-Control-modifier-to-CAPS-key-whil.patch
xkeyboard-config: Update capslock-as-control patch.
[gentoo-draconx.git] / x11-misc / xkeyboard-config / files / 0001-Add-option-to-bind-Control-modifier-to-CAPS-key-whil.patch
index d12185ead617217395dc2462e00248e18ad088b1..ea55e7684b21e945629a60e68f5cfbc78587a282 100644 (file)
@@ -1,14 +1,15 @@
-From d9963dd166d6e4687864261e0ca31de2a2c7ffa8 Mon Sep 17 00:00:00 2001
+From 2bcfa978e94562f798886a12f86141c9e4a15458 Mon Sep 17 00:00:00 2001
 From: Stephan Hilb <stephan@ecshi.net>
 Date: Sat, 19 Feb 2011 14:06:28 +0100
-Subject: [PATCH] Add option to bind Control modifier to <CAPS> key while preserving the keysym
+Subject: [PATCH] Add option to bind Control modifier to <CAPS> key while preserving the Caps_Lock keysym
 
-Allows the <CAPS> key to act as a Control modifier while still being
-recognized as the caps lock key through its keysym (CapsLock).  See
+Allows the <CAPS> key to act as a Control modifier while still being recognized as the caps lock key through its keysym (CapsLock).
+See #30898 for usecases and arguments.
 ---
  rules/base.o_s.part |    1 +
- symbols/capslock    |    9 +++++++++
- 2 files changed, 10 insertions(+), 0 deletions(-)
+ rules/base.xml.in   |    6 ++++++
+ symbols/capslock    |   11 +++++++++++
+ 3 files changed, 18 insertions(+), 0 deletions(-)
 
 diff --git a/rules/base.o_s.part b/rules/base.o_s.part
 index 6ce87e3..5ac467a 100644
@@ -22,23 +23,42 @@ index 6ce87e3..5ac467a 100644
    ctrl:nocaps         =       +ctrl(nocaps)
    ctrl:lctrl_meta     =       +ctrl(lctrl_meta)
    ctrl:swapcaps               =       +ctrl(swapcaps)
+diff --git a/rules/base.xml.in b/rules/base.xml.in
+index 15581b7..86aab3e 100644
+--- a/rules/base.xml.in
++++ b/rules/base.xml.in
+@@ -5272,6 +5272,12 @@
+           <_description>Caps Lock is disabled</_description>
+         </configItem>
+       </option>
++      <option>
++        <configItem>
++          <name>caps:ctrl_modifier</name>
++          <_description>Make Caps Lock an additional Control but keep the Caps_Lock keysym</_description>
++        </configItem>
++      </option>
+     </group>
+     <group allowMultipleSelection="false">
+       <!-- Using special PC keys (Win, Menu) to work as standard X keys (Super, Hyper, etc.) -->
 diff --git a/symbols/capslock b/symbols/capslock
-index 415e4db..9f58c79 100644
+index 415e4db..18a4045 100644
 --- a/symbols/capslock
 +++ b/symbols/capslock
-@@ -63,3 +63,12 @@ xkb_symbols "numlock" {
+@@ -63,3 +63,14 @@ xkb_symbols "numlock" {
      key <CAPS> {        [       Num_Lock  ]       };
  };
  
-+// This just changes the modifier behavior of the <CAPS> key.
-+// The keysym will be preserved (in most cases Caps_Lock)
-+partial modifier_keys xkb_symbols "ctrl_modifier" {
++// This changes the modifier behavior of the <CAPS> key.
++// The keysym will be reset to Caps_Lock
++partial hidden modifier_keys
++xkb_symbols "ctrl_modifier" {
 +    replace key <CAPS> {
 +        type[Group1] = "ONE_LEVEL",
++        symbols[Group1] = [ Caps_Lock ],
 +        actions[Group1] = [ SetMods(modifiers=Control) ]
 +    };
 +    modifier_map Control { <CAPS> };
 +};
 -- 
-1.7.3.4
+1.7.4.1