From 287bd2e76b34de7af8b8197e5253ed942c72a1fb Mon Sep 17 00:00:00 2001 From: Stephan Hilb Date: Sat, 19 Feb 2011 14:06:28 +0100 Subject: [PATCH] Add option to bind Control modifier to key while preserving the keysym Allows the 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(-) diff --git a/rules/base.o_s.part b/rules/base.o_s.part index 285a701..3e23396 100644 --- a/rules/base.o_s.part +++ b/rules/base.o_s.part @@ -60,6 +60,7 @@ caps:super = +capslock(super) caps:hyper = +capslock(hyper) caps:none = +capslock(none) + caps:ctrl_modifier = +capslock(ctrl_modifier) ctrl:nocaps = +ctrl(nocaps) ctrl:lctrl_meta = +ctrl(lctrl_meta) ctrl:swapcaps = +ctrl(swapcaps) diff --git a/symbols/capslock b/symbols/capslock index 415e4db..2b7e53b 100644 --- a/symbols/capslock +++ b/symbols/capslock @@ -63,3 +63,12 @@ xkb_symbols "numlock" { key { [ Num_Lock ] }; }; +// This just changes the modifier behavior of the key. +// The keysym will be preserved (in most cases Caps_Lock) +partial modifier_keys xkb_symbols "ctrl_modifier" { + replace key { + type[Group1] = "ONE_LEVEL", + actions[Group1] = [ SetMods(modifiers=Control) ] + }; + modifier_map Control { }; +}; -- 1.7.1