AHK is by far the best. You can range from super simple (<key>::<key> directly remaps a key) to more complex, such as full on logic for complex alt tab configurations. You can also do a whole messload of things your keyboard never could, such as setting windows to be always on top, removing borders, automatic resizing of windows, string replacement (autocorrect), and much more.