The Problem: - The caps lock key is worthless. I can easily type while holding down the shift key for the rare times I capitalize words. If anything, it's more so a pain if I accidentally turn it on.
With a big key in such a good position, why not make it more useful? In some old computers, that space was reserved for the control key, something I use often. Some guides tell you how to swap the keys. I don't want them swapped, I want the caps key GONE and functioning as an additional control key.
OSX actually turns out to be the easy one. Earlier editions required add on utilities to do this, but worked fairly well. This was added as a feature later in OS X but buggy for the first two iterations. In Tiger it was a stable option.
Go to System preferences, Keyboard, Modifier Keys. You can map all the modifier keys however you want.
This is an option that can be turned on during installation, but all you really need to do is set keymap="us.pc-ctrl" in /etc/rc.conf.
X11 (Xorg) previously had a server option for this, but this no longer works. Instead it needs to be set it at the user level. This requires xmodmap, but the options are obscure with little documentation. How to run xmodmap with a configuration file depends on your graphical environment. In old school style it's done with .xinitrc , while newer desktop environments use their own methods of launching programs on startup.
Most documentation calls this .Xmodmap, but the file can be named anything and put anywhere. As is the case, anything I can move in the .config directory I put there.
remove Lock = Caps_Lock keysym Caps_Lock = Control_L add Control = Control_L
There isn't exactly a setting for this in windows. Windows however allows you to remap anything on the keyboard to anything you want. Dangerous, but useful. This can be done using this registry file. Always inspect registry files before you load them into windows, and always back up the target registry keys before changing anything. This eliminates the caps lock on a machine level (all users). If you want to revert it to the old behavior, you should be able to do so by removing the scancode map key that was created.