Professional Keyboard & Mouse Automation Tool for Windows
- โ
Simplified Syntax โ Use
press sinstead ofpress('s')- no parentheses or quotes needed! - โ Global Hotkeys โ Control Record/Start/Stop with F-keys even when app is minimized
- โ Visual Keyboard Editor โ Click keys to generate macro code
- โ Help Dialog โ Built-in key code reference
- โ Individual Thread Logs โ Each thread has its own log
- โ Dynamic Threads โ Add/remove threads as needed
- โ Profile System โ Save and switch between macros
- โ Keyboard & Mouse Recording โ Record keyboard and mouse actions in real-time
- โ Mouse Auto-Return โ Mouse returns to starting position when macro loops
- โ Low-Level Input โ Uses Windows SendInput API with scan codes
- โ Humanize Mode โ Random timing variations for natural behavior
- โ 100% English โ All interface and code in English
cd KeyMimic_2.0
python main.pyRequirements:
- Python 3.7+
- Windows OS (for actual input)
- tkinter (usually included with Python)
- Run
python main.py - Click "Help" button to see all key codes
- Click "Visual Editor" to generate macros by clicking keys
- Write a macro or use "Record" to record actions
- Click "Start" to execute
# Keyboard - simple and clean!
press s # Press S key
release s # Release S key
press ctrl # Press Ctrl
press enter # Press Enter
press 31 # Can also use numeric scan codes
# Mouse actions
click # Left click
right_click # Right click
move 100 50 # Move mouse relative (dx, dy)
move_to 500 300 # Move mouse to absolute position (x, y)
# Timing
sleep 1 # Wait 1 second
sleep 5 2 # Wait 5 sec ยฑ 2 sec variation
# Logging
log Starting automation # Log message (captures to end of line)For backward compatibility, the old syntax still works:
press('s') # Old way
release(31) # Old way
sleep(1) # Old way# thread_name: My Automation
# humanize: 15# thread_name: WASD Movement
# humanize: 10
log Starting movement
press w
sleep 1
release w
press a
sleep 0.5
release a
click
sleep 0.3
log Complete!Instead of remembering numeric codes, use friendly names:
# Old way (still works)
press(31)
release(31)
# New way (better!)
press('s')
release('s')Available names:
- Letters:
'a','b','c', ...,'z' - Numbers:
'1','2','3', ...,'0' - Function keys:
'f1','f2', ...,'f12' - Modifiers:
'ctrl','shift','alt','win' - Special:
'enter','space','tab','esc','backspace' - Arrows:
'up','down','left','right' - And 60+ more!
See complete list by clicking "Help" button.
Click the "Visual Editor" button to:
- See a full QWERTY keyboard layout
- Click keys to generate code
- Toggle modifiers (Ctrl/Shift/Alt)
- Insert sleep delays
- Generate macro code automatically
Perfect for beginners or quick macro creation!
Click "Help" button to see:
- All available key names
- Numeric scan codes
- Organized by category
- Both symbolic and numeric formats
- Add Thread: "+" button
- Remove Thread: "X" in panel header
- Individual Logs: Each thread has its own log
- Independent Execution: Threads run separately
- Select Profile: Dropdown menu
- Create: "+" button
- Rename: "Edit" button
- Delete: "Del" button
- Auto-save: Saves while editing
- Click "Record" button
- Press keys
- Click "Stop Recording"
- Profile automatically created
'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'
'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'
'z', 'x', 'c', 'v', 'b', 'n', 'm''1', '2', '3', '4', '5', '6', '7', '8', '9', '0''f1', 'f2', 'f3', 'f4', 'f5', 'f6',
'f7', 'f8', 'f9', 'f10', 'f11', 'f12''shift', 'lshift', 'rshift'
'ctrl', 'lctrl', 'rctrl'
'alt', 'lalt', 'ralt'
'win', 'lwin', 'rwin''esc', 'tab', 'caps', 'space', 'enter',
'backspace', 'delete', 'insert''up', 'down', 'left', 'right''home', 'end', 'pageup', 'pagedown'For complete list with numeric codes, click Help button in the app!
KeyMimic_2.0/
โโโ main.py # Application entry point
โโโ keymimic/
โ โโโ core/ # Core functionality
โ โ โโโ constants.py # Scan codes
โ โ โโโ key_names.py # Symbolic name mappings
โ โ โโโ input_sender.py # Windows API
โ โ โโโ macro_parser.py # Parser with aliases
โ โ โโโ macro_runner.py # Executor
โ โ โโโ recorder.py # Keyboard recording
โ โโโ gui/ # User interface
โ โ โโโ main_window.py # Main window
โ โ โโโ thread_panel.py # Thread panel
โ โ โโโ help_dialog.py # Help window
โ โ โโโ visual_editor.py # Visual keyboard
โ โโโ utils/ # Utilities
โ โโโ profile_manager.py # Profile management
โโโ README.md # This file
Profiles saved in:
Documents/KeyMimic/profiles/
โโโ thread_1_profiles.json
โโโ thread_2_profiles.json
โโโ hotkeys.json
โโโ ...
Debug information automatically saved to:
Documents/KeyMimic/debug.log
See DEBUG_LOGGING.md for details on how to use debug logs.
- Simple syntax โ No parentheses or quotes needed!
- Use Visual Editor โ Quick macro creation
- Check Help โ Reference for all key names
- Test without loop โ Verify macros first
- Check thread logs โ Each thread shows its own activity
- Use humanize โ More natural in games
- Name profiles โ Easy to find later
- Configure hotkeys โ Click Settings to customize F-key shortcuts
# WASD movement
press w
sleep 1
release w# Ctrl+C to copy
press ctrl
press c
sleep 0.1
release c
release ctrl# Click and move
click
sleep 0.5
move 100 50 # Move relative
move_to 500 300 # Move to absolute position
right_click# thread_name: Farm Bot
# humanize: 15
press f1
sleep 0.1
release f1
sleep 2
click
sleep 1.5- Works only on Windows
- May need admin rights for some games
- Some anti-cheats may block it
- Use responsibly within game/app rules
- โ
Simplified syntax -
press sinstead ofpress('s') - โ Global hotkeys - Control with F-keys even when app is minimized
- โ Hotkey configuration - Customize Record/Start/Stop shortcuts in Settings
- โ 100% English interface and code
- โ Visual keyboard editor
- โ Help dialog with key codes
- โ Mouse action aliases
- โ Individual thread logs
- โ Modular architecture
- โ Backward compatible with old syntax
- Basic functionality
- 2 static threads
- Shared log
- Russian interface
Free to use.
Made with โค๏ธ for automation enthusiasts
Need help? Click the Help button in the app!