aboutsummaryrefslogtreecommitdiff
path: root/linux/home/.config/xkb/symbols
diff options
context:
space:
mode:
Diffstat (limited to 'linux/home/.config/xkb/symbols')
-rw-r--r--linux/home/.config/xkb/symbols/custom-us27
1 files changed, 27 insertions, 0 deletions
diff --git a/linux/home/.config/xkb/symbols/custom-us b/linux/home/.config/xkb/symbols/custom-us
new file mode 100644
index 0000000..9faa2e9
--- /dev/null
+++ b/linux/home/.config/xkb/symbols/custom-us
@@ -0,0 +1,27 @@
+// Clear existing modifiers
+//default partial modifier_keys
+partial alphanumeric_keys
+xkb_symbols "basic" {
+ include "us(basic)"
+
+ // Define a custom modifier (Mode_switch)
+ modifier_map Mod5 { <MDSW> };
+
+ // Remap Caps Lock to AltGr (ISO_Level3_Shift) and clear other modifiers
+ key <CAPS> {
+ 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 and clear other modifiers
+ key <AC06> { [ h, H, Left ] };
+ key <AC07> { [ j, J, Down ] };
+ key <AC08> { [ k, K, Up ] };
+ key <AC09> { [ l, L, Right ] };
+
+ key <AD02> { [ w, W, Up ] };
+ key <AC01> { [ a, A, Left ] };
+ key <AC02> { [ s, S, Down ] };
+ key <AC03> { [ d, D, Right ] };
+};