The ability to re-program one or more keys has been built into Windows since version 2000. However, not many people use it because it involves editing the registry, and that can be dangerous at the best of times.
If you like the idea of being able to change your key assignments, though, but you don't want to edit the registry, you need a great little freeware utility called KeyTweak. It does all the hard work for you. You can get it from http://webpages.charter.net/krumsick/, which contains links to both the installer and the manual.
The installer is only a 0.3 MB download, and runs on Windows 2000 and above. When you run it, you'll see a map of the keyboard. With a few clicks you can change one or more key assignments. For example, if your Alt key is broken on your laptop, and you never use Caps Lock, just re-program Caps Lock to be another Alt key.
As an experiment, I tried changing the vertical bar key to the left of the number 1 to a "WWW Home" entry. Now, all I have to do to start by web browser is to press a single key. It's actually surprisingly useful, and I think I'm going to keep things like that.
Update: If you use this program and then subsequently uninstall it, be aware that your keyboard tweaks will remain active because the registry amendments will still be in place. So make sure you use the program to un-do any tweaks that you don't want, before uninstalling the program.
My thanks to reader "Baskar" for this hot find. If there's something you think I should know about, you can let me know at http://www.techsupportalert.com/content/submit-product-review.htm.