From d4d17d03b34e3bafa8e5011795ec5c55817924cc Mon Sep 17 00:00:00 2001 From: srdusr Date: Mon, 11 Sep 2023 21:07:57 +0200 Subject: Add setxkbmap --- .config/xkb/symbols/vim_keys | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .config/xkb/symbols/vim_keys diff --git a/.config/xkb/symbols/vim_keys b/.config/xkb/symbols/vim_keys new file mode 100644 index 0000000..f64c41f --- /dev/null +++ b/.config/xkb/symbols/vim_keys @@ -0,0 +1,30 @@ +// ~/.config/xkb/symbols/vim_keys + +// Clear existing modifiers +default partial modifier_keys +xkb_symbols "basic" { + clear lock; + clear mod5; + + // Define a custom modifier (Mode_switch) + modifier_map Mod5 { }; + + // Remap Caps Lock to AltGr (ISO_Level3_Shift) + key { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ], + actions[Group1] = [ SetMods(modifiers=Mod5) ] + }; + + // Remap h, j, k, l to arrow keys when Mode_switch is active + key { [ Left ] }; + key { [ Down ] }; + key { [ Up ] }; + key { [ Right ] }; + + // Make 'q' act as Escape when in Mode_switch + key { [ q, Q, Escape ] }; + + // Shift+Caps to use normal Caps Lock + modifier_map Mod5 { Shift+CapsLock, }; +}; -- cgit v1.2.3