I used to take this approach. One day I found I had no choice but to remap CapsLock as a second Ctrl key because my little finger was in constant agony otherwise.
I've never had a second's trouble from the finger since then, but you should see me try to type on other peoples' computers now. I TEND TO WRITE IN ALL-CAPS A LOT BY ACCIDENT!
So for me there's no longer much point in caring about portability, and I have aliases and keyboard shortcuts and fancy PS1s to spare.
Yea, CapsLock must die and reborn as third Ctrl. Not only because of all caps, but some folks tend to map it to keyboard layout switching only because it gives them LED indication of the language being used.
It also makes your keyboard habits more portable, as laptop keyboards have different order of Ctrl and Fn.
I've run into the same issues. My solution is to reach a sort of balance between portability and usability.
My xmodmap + XMonad config is designed to be reproducible on Windows via AutoHotkey and OS X via SizeUp + PCKeyboardHack, that way I'm always in my home environment no matter the OS!
I'm not on a Mac at the moment so I can't tell you the exact wording of the preference, but I just set it up through the hotkeys section of the keyboard system preferences pane.
One of the options allows switching window focus, and another allows switching through windows in the active application. There's no option for switching backwards, however. The way I deal with that is to separate any xmonad specific functionality behind a prefix-key submap in my XMonad config.
Any hotkeys that don't take the prefix I can use on any OS, the ones that do are xmoand specific. To me this keeps things nice and organized, while still letting me exploit the xmonad-contrib stuff to the full extent.
For example, instead of mod-j/mod-k, I use the window navigation extension behind the prefix so I get finer control over focus navigation, and this makes xmonad function precisely like tmux just with a different prefix key.
I've never had a second's trouble from the finger since then, but you should see me try to type on other peoples' computers now. I TEND TO WRITE IN ALL-CAPS A LOT BY ACCIDENT!
So for me there's no longer much point in caring about portability, and I have aliases and keyboard shortcuts and fancy PS1s to spare.