summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2017-10-01 16:13:34 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2018-01-10 19:22:16 -0500
commitd4cd9c1e86837d822a7caa36e569cfb030f85629 (patch)
tree9342c12f0c5206bd15233c3207fc4da2c053c5d5
parentd871fb43eceb91736ece1c2204863d7a4e681669 (diff)
X11: clean up modmap
-rw-r--r--.config/X11/modmap39
1 files changed, 33 insertions, 6 deletions
diff --git a/.config/X11/modmap b/.config/X11/modmap
index b332204..22d2ac6 100644
--- a/.config/X11/modmap
+++ b/.config/X11/modmap
@@ -1,14 +1,41 @@
! -*- Mode: Xmodmap -*-
+! Notes on the syntax:
+! - The RHS of keycode/keysym commands is:
+! normal [Shift [Mode_switch [Shift+Mode_switch]]]
+! - The modifiers are (non-caps sensitive):
+! 0: Shift
+! 1: Lock
+! 2: Control
+! 3-7: Mod{1-5}
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
! My desktop doesn't have a super key, so I map Caps_Lock to Super_L
! Also, use Caps_Lock for the compose key
-remove lock = Caps_Lock
+!
+! Don't bother `remove lock = Caps_Lock`; it will get reset
+! approprately by the modifier reset below.
keysym Caps_Lock = Super_L Multi_key
-! All of these are my "super". Silly I have so many...
-clear mod4
-add mod4 = Super_L Super_R Hyper_L Hyper_R Menu
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! The default modifier list is dumb. Wipe it and do something
+! sensible.
+clear shift
+clear lock
+clear control
+clear mod1
+clear mod2
+clear mod3
+clear mod4
+clear mod5
-! Note to future me:
-! The modifiers are: << Shift, Lock, Control, Mod{1..5} >> and are NOT case sensitive
+add shift = Shift_L Shift_R
+add lock = Caps_Lock
+add control = Control_L Control_R
+add mod1 = Num_Lock
+add mod2 = Alt_L Alt_R Meta_L Meta_R
+add mod3 = ISO_Level3_Shift
+add mod4 = Super_L Super_R
+add mod5 = Hyper_L Hyper_R