A powerful and user-friendly GUI automation tool for simulating keyboard and mouse inputs. Built with Python and CustomTkinter for a stunning modern dark UI. Perfect for gaming macros, testing, or automating repetitive input tasks.
- 🎮 Action Sequencing: Create and run sequences of keyboard presses and mouse actions
- ⏱️ Customizable Timing: Set delays after each action and hold durations for keys/buttons
- 🔄 Repetition Control: Run sequences indefinitely or for a specific number of times
- 🌙 Modern Dark UI: Beautiful glassmorphism dark theme with purple accents
- 🖱️ Advanced Mouse Control: Click and move at specific coordinates (
moveto(x,y),click(x,y)) - 🎯 Coordinate/Color Capture: Built-in tool to capture mouse position and pixel color
- 🎨 Color Detection: Wait for specific colors at designated coordinates (
waitcolor) - ⌨️ Reliable Typing: Type strings accurately with proper case handling
- 💾 Save/Load Configurations: Export and import your automation sequences as JSON
- 🛡️ Safety Features: Safe Mode blocks dangerous keys, ESC for emergency stop
- 💡 Visual Feedback: Active row highlighting and status indicators during execution
- ⌨️ Global Hotkeys: Ctrl+F2 (Start), Ctrl+F3 (Stop), ESC (Emergency Stop)
- 🔧 Custom Keybinds: Reassign start, stop and emergency stop hotkeys via Settings
Download the latest Windows EXE here
Or build from source (see below).
- Python 3.8+
-
Clone the repository:
git clone https://github.com/timoinglin/SimpleKeyClicker.git cd SimpleKeyClicker -
Create and activate virtual environment:
python -m venv .venv # Windows: .venv\Scripts\activate # macOS/Linux: # source .venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
To create a standalone executable:
pip install pyinstaller
pyinstaller --onefile --windowed --icon=logo.ico --add-data "logo.ico;." --add-data "logo.png;." --name "SimpleKeyClicker" main.pyThe EXE will be created in the dist/ folder.
- Click "+ Add Action" to create steps for your sequence
- For each row:
- Enter a Key/Button or command (see Available Actions below)
- Use the 🎯 button to capture coordinates/colors
- Set Hold Time (how long to hold the key/button)
- Set Delay (pause after the action)
- Use ▲ ▼ ❏ ✕ buttons to organize rows
- Select run mode: Indefinitely or X Times
- Click ▶ START or press
Ctrl+F2 - Click ⏹ STOP or press
Ctrl+F3/ESCto halt
| Action | Description |
|---|---|
a, b, 1, 2 |
Single key press |
space, enter, tab, esc |
Special keys |
up, down, left, right |
Arrow keys |
f1 - f12 |
Function keys |
shift, ctrl, alt, win |
Modifier keys (use Hold Time) |
ctrl+c, alt+f4 |
Key combos (modifiers held automatically) |
Hello World! |
Type text string |
| Action | Description |
|---|---|
click |
Left click at current position |
rclick |
Right click at current position |
mclick |
Middle click at current position |
click(x,y) |
Left click at coordinates |
rclick(x,y) |
Right click at coordinates |
moveto(x,y) |
Move cursor to coordinates |
drag(x1,y1,x2,y2) |
Drag from point A to point B |
| Action | Description |
|---|---|
waitcolor(r,g,b,x,y) |
Wait until color RGB appears at (x,y) |
| Value | Description |
|---|---|
0.5 |
Fixed delay in seconds |
0.3-0.8 |
Random delay between min and max |
- Blocks potentially dangerous keys:
alt,ctrl,shift,win,f4,delete,tab - Toggle via the switch in the control panel
- Press
ESCat any time to immediately halt automation
| Hotkey | Action |
|---|---|
Ctrl+F2 |
Start automation (default) |
Ctrl+F3 |
Stop automation (default) |
ESC |
Emergency stop (default) |
All hotkeys are fully customizable. Click ⚙ Settings in the header to open the keybind editor, then click ⏺ Record next to any hotkey and press your preferred key combination. Changes take effect immediately and are saved/loaded with your configuration files.
- Python 3.8+
- customtkinter>=5.2.0
- keyboard>=0.13.5
- PyDirectInput>=1.0.4
- pyautogui>=0.9.54
- Pillow>=10.0.0
- pynput>=1.8.1
Contributions are welcome! Feel free to submit issues and pull requests.
MIT License - Copyright (c) 2025 Timo Inglin
See LICENSE for details.
- Modern UI built with CustomTkinter
- Input simulation by PyDirectInput and PyAutoGUI
- Screen capture via Pillow (PIL)
- Global hotkeys by keyboard
- Mouse capture by pynput
