Mark Russinovich at www.sysinternals.com has released freeware utility Ctrl2Cap
which maps Caps Lock to left-Ctrl.
Ctrl2cap is a kernel-mode device driver that
filters the system’s keyboard class driver in order to convert caps-lock
characters into control characters. People like myself [Russinovich] that
migrated to NT from UNIX are used to having the control key located where the
caps-lock key is on the standard PC keyboard, so a utility like this is
essential for our [Russinovich] editing well-being.
The primary purpose of this driver is not serve as a caps-lock to control
mapping utility, but rather to demonstrate how system keyboard input can be
caught and manipulated before NT even “sees” it. At this level it is even
possible to filter out the ctrl-alt-del combination
Ctrlcap is actually quite trivial. It simply attaches itself to the keyboard
class driver so that it will catch keyboard read requests. For each request, it
posts an I/O completion callback, at which point it takes a peek at the scancode
that is being returned. If it happens to be a caps-lock, ctrl2cap changes it
into a left-control.
For a more general approach, see Changing NT and
Win2K Keymaps through the Registry .