The author is a quintessential keyboard-centric user. When writing code, drafting documents, and processing spreadsheets, his hands almost never leave the keyboard. Yet certain operations in Windows constantly force him to reach for the mouse: clicking a button in a dialog box, switching to an input field buried deep within a window, or selecting an item in a list. Each time his hands leave the keyboard to locate the cursor, his flow of thought is interrupted; dozens of such interruptions in a single day prove extremely irritating. I tried Windows’ built-in Tab-key traversal, but once the number of controls increases, I lose all sense of direction. When I searched online for “operating mouse controls with the keyboard,” most results were AHK scripts or unfinished utilities: some could operate only fixed applications, while others required writing rules for each program. No general solution existed, so I decided to develop one myself.

The initial prototype was an AutoHotkey script that assigned labels to controls and enabled letter-based jumping. The approach was viable, but AHK is cumbersome to distribute, prone to false positives from antivirus software, and unsuitable as a formal commercial product. The real breakthrough was Windows UI Automation (UIA), which can enumerate all focusable controls within the foreground window. To eliminate the size and compatibility problems associated with third-party wrapper libraries, I wrote probe scripts in Python to determine, one by one, the correct indices of the IUIAutomation interfaces in the COM vtable. I ultimately rewrote the complete set of UIA interface definitions in Pascal, achieving zero external dependencies and a single-file native implementation.

The tool is highly vertically positioned: it performs only one task—keyboard focusing and clicking of controls—and is implemented as a lightweight utility resident in the system tray. Pressing Ctrl+Win+Space enters focus mode (Ctrl+Win+A enters click mode). The program overlays borders and letter labels on all controls on the screen; when there are more than 26, it automatically upgrades to two-letter labels, supporting up to 676. Typing the letters focuses or clicks the corresponding control, while Esc or a five-second timeout exits automatically.

After pressing the shortcut, all controls are labeled with letters, and typing at most two letters is then sufficient to focus or click the target control, with both hands remaining on the keyboard at all times. It has become an indispensable productivity tool on my computer, especially when working away from the office; without the need to connect a mouse or use an unwieldy touchpad, my work efficiency has increased considerably.