summaryrefslogtreecommitdiffstats
path: root/linux/X/compat/neo_mods
diff options
context:
space:
mode:
Diffstat (limited to 'linux/X/compat/neo_mods')
-rw-r--r--linux/X/compat/neo_mods30
1 files changed, 30 insertions, 0 deletions
diff --git a/linux/X/compat/neo_mods b/linux/X/compat/neo_mods
new file mode 100644
index 0000000..b45f576
--- /dev/null
+++ b/linux/X/compat/neo_mods
@@ -0,0 +1,30 @@
+// Neo special modifiers
+default partial xkb_compatibility "default" {
+ include "neo_mods(caps_lock)"
+ include "neo_mods(shift_fix)"
+ include "neo_mods(level5_lock)"
+};
+
+partial xkb_compatibility "caps_lock" {
+ // Keysym Caps_Lock locks Lock modifier
+ // No need for modifier-mapping
+ interpret Caps_Lock {
+ action = LockMods(modifiers = Lock);
+ };
+};
+
+partial xkb_compatibility "shift_fix" {
+ // Seems like symbols/level3(caps_switch) does something evil to the left shift-key.
+ // This should do the trick:
+ interpret Shift_L {
+ action = SetMods(modifiers = Shift);
+ };
+};
+
+partial xkb_compatibility "level5_lock" {
+ virtual_modifiers NumLock;
+ // NumLock is misused for level5-lock-indication
+ interpret ISO_Level5_Lock {
+ action = LockMods(modifiers = NumLock);
+ };
+};