# taojy123/keymousego

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/taojy123-keymousego).**

9,621 stars · 1,300 forks · Python · gpl-2.0

## Links

- GitHub: https://github.com/taojy123/KeymouseGo
- Homepage: http://taojy123.github.io/KeymouseGo
- awesome-repositories: https://awesome-repositories.com/repository/taojy123-keymousego.md

## Topics

`automate` `keyboard` `mouse` `python` `simulation`

## Description

KeymouseGo is an input automation tool and macro recorder designed to capture, edit, and replay keyboard and mouse sequences to automate repetitive desktop tasks. It functions as a scriptable input automator that translates recorded user interactions into reusable blueprints for automated playback.

The system distinguishes itself through a logic-based scripting framework that supports conditional branching, sub-routine calls, and jump-to-labels for complex workflow control. It further extends runtime behavior via a plugin system that allows for the registration of custom functions to modify timing and event parameters during execution.

The tool provides a command line interface for launching automation scripts with configurable repetition and loop settings. It also includes a system for triggering the start or immediate termination of active scripts using designated keyboard shortcuts.

## Tags

### Development Tools & Productivity

- [Input Recording and Playback](https://awesome-repositories.com/f/development-tools-productivity/input-recording-and-playback.md) — Captures user input sequences into scripts and replays them to automate repetitive desktop tasks. ([source](https://cdn.jsdelivr.net/gh/taojy123/keymousego@master/README.md))
- [Automation Scripts](https://awesome-repositories.com/f/development-tools-productivity/automation-scripts.md) — Supports the creation of logic-based scripts with loops and conditionals for multi-step desktop workflows.
- [Input Sequence Specifications](https://awesome-repositories.com/f/development-tools-productivity/automation-scripts/input-sequence-specifications.md) — Uses a structured script format to specify exact mouse coordinates, key presses, and timing. ([source](https://github.com/taojy123/KeymouseGo/wiki/%E6%96%87%E6%A1%A3))
- [Scriptable Automation Engines](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/desktop-automation-workflows/scriptable-automation-engines.md) — Provides a scriptable engine for defining complex automation workflows with conditional logic and plugin functions.
- [Input Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/input-automation-tools.md) — Records, edits, and replays keyboard and mouse sequences to automate repetitive desktop tasks.
- [Input Simulators](https://awesome-repositories.com/f/development-tools-productivity/input-simulators.md) — Interfaces directly with operating system APIs to programmatically simulate mouse and keyboard input.
- [Macro Recorders](https://awesome-repositories.com/f/development-tools-productivity/macro-recorders.md) — Captures user input events and saves them as scripts for automated playback.
- [Script Interpreters](https://awesome-repositories.com/f/development-tools-productivity/script-interpreters.md) — Implements an interpreter that parses custom automation files and translates them into native system input calls.
- [CLI Task Runners](https://awesome-repositories.com/f/development-tools-productivity/cli-task-runners.md) — Provides a command-line task runner for executing input scripts with configurable loop settings.
- [Command Line Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/command-line-automation-tools.md) — Automates repetitive system tasks by executing recorded input sequences via a terminal interface.
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Offers a terminal-based interface for launching automation scripts with repetition and loop settings. ([source](https://cdn.jsdelivr.net/gh/taojy123/keymousego@master/README.md))
- [Global Hotkey Managers](https://awesome-repositories.com/f/development-tools-productivity/global-hotkey-managers.md) — Implements global keyboard listeners to trigger the start or immediate termination of active scripts. ([source](http://taojy123.github.io/KeymouseGo))

### Business & Productivity Software

- [Automation Script Editors](https://awesome-repositories.com/f/business-productivity-software/automation-script-editors.md) — Includes a mechanism to edit recorded event sequences in configuration files to refine timing, coordinates, and automation behavior. ([source](http://taojy123.github.io/KeymouseGo))

### Operating Systems & Systems Programming

- [Desktop Automation](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-automation.md) — Automates repetitive software interactions by recording and replaying mouse clicks and keystrokes.
- [Input Event Serializers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/input-event-interception/input-event-interceptors/input-event-serializers.md) — Records keyboard and mouse movements by listening to system events and saving them as scripts.

### Programming Languages & Runtimes

- [Label-Based Control Flows](https://awesome-repositories.com/f/programming-languages-runtimes/label-based-control-flows.md) — Supports complex workflow control through named labels, jumps, and sub-routine calls within scripts.
- [CLI Script Execution](https://awesome-repositories.com/f/programming-languages-runtimes/cli-script-execution.md) — Provides a command-line interface for executing automation scripts with configurable parameters.

### Software Engineering & Architecture

- [Execution Flow Control](https://awesome-repositories.com/f/software-engineering-architecture/execution-flow-control.md) — Implements conditional branching and jump-to-labels to manage the progression of automation scripts. ([source](https://github.com/taojy123/KeymouseGo/wiki/%E6%96%87%E6%A1%A3))
- [Plugin-Based Logic Extensions](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-logic-extensions.md) — Provides a plugin system for registering custom functions to modify script timing and event parameters at runtime.

### DevOps & Infrastructure

- [Runtime Event Modifiers](https://awesome-repositories.com/f/devops-infrastructure/release-automation/plugin-extensibility/plugin-extensible-runtimes/runtime-event-modifiers.md) — Provides a plugin system to register custom functions that modify timing and event parameters during automation playback. ([source](https://github.com/taojy123/KeymouseGo/wiki/%E6%96%87%E6%A1%A3))

### Part of an Awesome List

- [Notes and Productivity](https://awesome-repositories.com/f/awesome-lists/productivity/notes-and-productivity.md) — Mouse and keyboard automation.
