+1 KeyRemap4MacBook is awesome. I love CAPS as CTRL. You can even make CAPS double as both ESC and CTRL. If you tap it works as ESC. If you hold it down and press another key its CTRL. You'll need PCKeyboardHack by the same guy to get the dual role caps lock working. Of course there is so much more you can do too!
If you are doing a lot of typing it will probably be better to map Caps Lock to Backspace, Colemak-style. If you'll be Vimming/Emacs-ing try xcape.
If you are doing a lot of typing it will probably be better to map Caps Lock to Backspace, Colemak-style. If you'll be Vimming/Emacs-ing try xcape.
I'll add again that you can do all these things
simultaneously. Why settle for just backspace, control, or escape on release when you can do all of them and much more with a layer? If you're going to take the time to remap it, why stop with that? Am I missing something?
I have backspace and escape on my caps layer. Furthemore I have navigation keys (left, right, up, down, home, end, page up, and page down) easily accessible from the home row. I have modifiers for use with them (alt, shift, control, etc.). This can come in handy for non vim like programs, for example when I have to use word processor. I also have symbols remapped to more easily reachable places.
As for control functionality, I will again add that there is no reason that I know of to use a lot of control keybindings. If you're trying to browse with just your keyboard, use something like vimium or pentadactyl. A bunch of ctrl+t, ctrl+w, ctrl+tabs can really hurt your fingers.
As for basic copy, cut, and paste, you can easily add that to caps+c, caps+x, and caps+v. You can put whatever you want on the layer. You could probably even have a layer that worked essentially as control for any combinations you wanted to use and then add symbols or anything you wanted. You could do all this and have escape on release as well. If you want to do more complicated things, it gets more complicated, but for the most part, this is easy stuff.
Then it's modal in actuality I guess.
Interestingly enough, I've just switched to bspwm and sxhkd which allows for an actual window management mode instead of repetitive prefix key presses.