KeymouseGo is a mouse and keyboard automation tool that records user interactions and replays them on demand.
The tool addresses the need to automate repetitive, simple tasks by capturing mouse clicks and keyboard input during a recording session, then executing those recorded actions repeatedly at the press of a hotkey. It works through a straightforward record-and-playback model: users click a record button, perform their actions, click stop, and then trigger playback through a hotkey or button press. The number of repetitions is configurable, including an infinite loop option. Recording captures only mouse clicks and keyboard input, not mouse movement trajectories, keeping script files lightweight and focused on intentional actions.
The tool suits anyone performing monotonous, repetitive work that involves simple mouse and keyboard interactions. It is available as a standalone executable for Windows, Linux, and macOS, requiring no Python installation for end users, though the source is written in Python. Users can edit recorded scripts directly by modifying the script files in the scripts folder, and the tool supports both a graphical desktop interface and command-line execution of scripts. The default hotkeys are F6 to start playback and F9 to stop, and these can be customized. One limitation to be aware of is that when mouse input speed exceeds a certain threshold, the tool cannot execute scripts at the intended speed due to program performance constraints. On some systems, particularly macOS, additional permissions may be required for the tool to record and execute actions correctly.
Development activity shows consistent maintenance with fixes and improvements applied to address platform-specific issues. The project maintains documentation in multiple languages and incorporates user feedback regarding permission requirements and system compatibility across different operating systems. Updates have addressed edge cases such as incomplete mouse event recording on certain systems and accessibility requirements on macOS.