This page gives you tips for remapping keys, creating keyboard shortcuts, key macros, or keyboard layout, for Microsoft Windows.
Different tools have different features and purposes. Here's a list of possible features. Most tools can do only SOME of the following:
Here's a list of good tools for Windows.
Microsoft IntelliType is a very feature rich keyboard macro software. It comes with Microsoft keyboards. You can use this to swap modifier keys, disable them, or set F keys or special keys to launch any app. The key sets can be different for each app. It also has a basic keyboard macro ability for mostly gaming purposes.
For screenshot, basic intro, and its limitations, see: Microsoft IntelliType Review .
If you have a Microsoft keyboard, and want to use IntelliType to the fullest, see: Microsoft IntelliType Hacks.
Note: you can't use IntelliType without a Microsoft keyboard.
AutoHotkey is a powerful scripting engine that also lets you assign keys to any script or run any app, or insert some text, or act as pressing other keys. This is the most powerful, but take a lot time to learn its scripting language.
To get started, see: AutoHotkey Basics.
The following i have not used, but heard good things about them.
Most important thing about keyboarding is actually a good keyboard hardware. For some suggestions, see: Computer Keyboards, Layouts, Hotkeys, Macros, RSI ⌨.