Space Cadet
Tags: lisp
, tech
, Date: 2008-12-15
Emacs users often report problems caused by strain on the pinky finger, which is used to press the Control key. The standard answer to that is to map Caps Lock to Control. I believe that there is a better way:
Note the placement of modifiers: Control, Meta, Super, Hyper on both sides of Space in this order, with Control being the closest to it. Touch typers especially find having two of each key absolutely essential, and the symmetric placement appeals to me.
Also note the Rubout key next to A where Caps Lock resides on modern keyboards. Rubout is like Backspace and is better to have on the home row than the most useless and annoying key in history.
Under X11, the above are the modifications I make to the default
layout. I keep the original Backspace key too as Backspace, but it
could be Caps Lock as well: I don't use it either way. If you have
a narrow Space key, you can place your thumbs on the two Control
keys while the fingers rest on ASDF and JKL;. Always press
modifiers with the alternate hand. C-a
is right thumb + left
pinky, C-M-p
is left-thumb + left-ring + right-pinky. For C-M-P
,
add the left pinky for Shift.
Another thing I find tremendously useful is getting used to C-n
,
C-p
, C-b
, C-f
instead of reaching for the arrow keys as often
as a vi user for Escape.
Well, that's the narration. To implement the above, I guess, one can create an xkb description, but last time I tried, documentation was extremely unhelpful, so I ended up hacking together an xmodmap file. I'm told this file is not really portable, so it's provided here only for illustration, and it's easy enough to do the same yourself for your keyboard. To switch to the new layout do:
xmodmap lisp-machine-pc105-us.xmodmap
xset r 66
where the second command enables auto repeat on the fresh, new Backspace key. It works on a PC105 (with one Win key) notebook keyboard.
Oh, that xmodmap file above also has []
and ()
swapped.
2020-05-03 Later on, I broke down and wrote an xkb version.