summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2019-10-26 10:52:25 +0300
committerSergey Udaltsov <sergey.udaltsov@gmail.com>2020-01-23 22:31:19 +0000
commit2fc618e7d39b877d7d2b739b01c5facc8a89428b (patch)
tree43a856509aae5b79cc6cae024f319968c2c46ff1
parentfee662d4a03b390d489a3a8191706626bff6c5f8 (diff)
Add ctrl:swapcaps_and_switch_layout
-rw-r--r--rules/base.o_s.part1
-rw-r--r--rules/xfree981
-rw-r--r--symbols/ctrl9
3 files changed, 11 insertions, 0 deletions
diff --git a/rules/base.o_s.part b/rules/base.o_s.part
index b2a24025..7e1631ae 100644
--- a/rules/base.o_s.part
+++ b/rules/base.o_s.part
@@ -85,6 +85,7 @@
ctrl:lctrl_meta = +ctrl(lctrl_meta)
ctrl:swapcaps = +ctrl(swapcaps)
ctrl:swapcaps_hyper = +ctrl(swapcaps_hyper)
+ ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout)
ctrl:ac_ctrl = +ctrl(ac_ctrl)
ctrl:aa_ctrl = +ctrl(aa_ctrl)
ctrl:rctrl_ralt = +ctrl(rctrl_ralt)
diff --git a/rules/xfree98 b/rules/xfree98
index 98f7a819..385a6410 100644
--- a/rules/xfree98
+++ b/rules/xfree98
@@ -24,6 +24,7 @@
ctrl:lctrl_meta = +ctrl(lctrl_meta)
ctrl:swapcaps = +ctrl(swapcaps)
ctrl:swapcaps_hyper = +ctrl(swapcaps_hyper)
+ ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout)
ctrl:ctrl_ac = +ctrl(ctrl_ac)
ctrl:ctrl_aa = +ctrl(ctrl_aa)
diff --git a/symbols/ctrl b/symbols/ctrl
index fed1f94b..a9e97f59 100644
--- a/symbols/ctrl
+++ b/symbols/ctrl
@@ -30,6 +30,15 @@ xkb_symbols "swapcaps_hyper" {
modifier_map Mod3 { <LCTL> };
};
+// Set CapsLock to left Ctrl and left Ctrl to switch layout.
+partial modifier_keys
+xkb_symbols "swapcaps_and_switch_layout" {
+ replace key <CAPS> { [ Control_L ] };
+ replace key <LCTL> { [ ISO_Next_Group ] };
+ modifier_map Control { <CAPS> };
+ modifier_map Lock { <LCTL> };
+};
+
// Move Ctrl to the leftmost key on the middle row and CapsLock to the
// leftmost key on the bottom row. Only works if the geometry or keycodes
// file has defined appropriate aliases for the keys in question.