grrr: After using this for a while, I noticed that xmodmap settings don't get restored after suspend/hibernate. This is annoying, but once you figure out what's going on it's easy enough to run xmodmaprc ~/.xmodmaprc manually. So I'm still using it, it's just not as cool as I thought at first. I imagine there's some way to hook this into the resume scripts....
There's no use at all for the Caps Lock key, once you are old enough NOT TO THINK THIS SORT OF THING IS CLEVER, and in fact having it usually causes problems.
You can make it into another, much more conveniently positioned Control key using an ~/.xmodmaprc file, which should contain the lines:
keycode 0x42 = Control_L
add Control = Control_L
That's it. xmodmap will execute the commands when the X server starts.
Either log out and log back in again, or use:
$ xmodmaprc ~/.xmodmaprc
to run that file explicitly, and from now on, any application running under X will see your Caps Lock key as a Control key instead.
This makes emacs enormously more pleasant to use.