AutoHotkey 1.1.34.04 is a free, open source utility. for Windows. AutoHotkey provides all the possibilities for keyboard, joystick, and mouse.
For example, with special modifier keys like Control, Alt, and Shift, you will have Windows and Capslock keys can be used as modifiers keys. In fact, you should be able to assign any key (or mouse button) to a modifier key.
With AutoHotkey you can
Automate almost anything by sending keystrokes and mouse clicks. You will be able to write a mouse or keyboard macro by hand or use the macro recorder.
Create hotkeys for keyboard, joystick and mouse. It seems that every key, button, or combination has the ability to become a hotkey.
Automatically show full abbreviations as you type. For example, typing "btw" will automatically convert to "by the way".
Create data entry forms, user interfaces, and menu bars.
Reassign keys and buttons on keyboard, joystick and mouse.
Receive signals from multiple handheld remotes via WinLIRC client script.
Execute built-in AutoIt v2 and enhance them with new capabilities.
Convert any script to an exe file, executable on pc without AutoHotkey installed.
Update AutoHotkey to latest
AutoHotkey 1.1.33 (7/2020):
Fix InputHook.EndKey to prioritize any vk above sc000.