
AHK; Customize your keyboard, joystick, and mouse with an free open source scripting language (AutoHotkey) that is backward compatible with AutoIt v2.
Automate almost anything: Send keystrokes & mouse clicks; launch programs / documents; work with the clipboard, registry, & soundcard settings. In addition to its automation features described below, AutoHotkey excels at hotkeys, able to make virtually *any* mouse/joystick button, keyboard key, or combination into a hotkey. AutoHotkey it can also individually disable or override Windows’ own shortcut keys, such as Win+E and Win+R. It may also help alleviate RSI; for example, it can create substitutes for Alt-Tab using keys, mouse wheel, or buttons.
Some uses for AutoHotkey:
• Define hotkeys for the mouse and keyboard, remap keys or buttons and autocorrect-like replacements.
• Remapping the keyboard, such as from QWERTY to Dvorak or other alternative keyboard layouts.
• Using shortcuts to fill in frequently-used file names or other phrases.
• Typing punctuation not provided on the keyboard, such as curved quotes (“…”).
• Typing other non-keyboard characters such as the sign × used, e.g., in describing a room as 10′×12′.
• Controlling the mouse cursor with a keyboard or joystick.
• Opening programs, documents, and websites with simple keystrokes.
• Adding a signature to e-mail, message boards, etc.
• Monitoring a system and automatically closing unwanted programs.
• Scheduling an automatic reminder, system scan, or backup.
• Automating repetitive tasks.
• Filling out forms automatically.
• Prototyping before implementing in another, more time-consuming, programming language.
2.0.26 – May 04, 2026
- Fixed ControlGetItems/ControlGetChoice not throwing for Tab controls.
- Fixed error reporting for ComObjArray().__Enum(), if it ever fails.
- Fixed
TraySetIcon("HBITMAP:" handle)without *.

