Skip to content

MerlinClicker - Professional Windows desktop automation tool built with Python and PyQt5. Enables precise mouse click automation on specific application windows without interrupting user workflow.

License

Notifications You must be signed in to change notification settings

chienthan2vn/MerlinClicker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Merlin Auto-Clicker

A powerful desktop auto-clicker application for Windows that allows users to create and execute automated mouse clicking scripts on specific target windows without interfering with user workflow.

Features

Live Coordinate Tracking

  • Real-time coordinate display: When in capture mode, coordinates update live in the X/Y boxes as you move your mouse
  • Visual feedback: Status bar shows live coordinates while hovering over the target window
  • Precise positioning: Find exact click positions easily before capturing

🎯 Target Window Selection

  • Select any open window from dropdown list
  • Window validation and refresh functionality
  • Works with games, applications, and system windows

📍 Advanced Coordinate Capture

  • F6 hotkey for quick capture mode toggle
  • Live tracking: See coordinates update in real-time while moving mouse
  • Click to capture: Click on target window to save exact position
  • Manual input: Enter coordinates manually if needed
  • Client coordinate system: Uses window-relative coordinates

Action Configuration

  • 5 Action Types: Left Click, Right Click, Double Click, Middle Click, Move Mouse
  • Custom delays: Set delay between actions (0-999999 ms)
  • Action names and comments: Organize your scripts
  • Individual repeat counts: Repeat specific actions multiple times

📝 Script Management

  • Visual script editor: Table view of all actions with full details
  • Reorder actions: Move actions up/down in execution order
  • Remove actions: Delete individual or all actions
  • Script-level repeats: Execute entire script multiple times

🚀 Multi-threaded Execution

  • Non-blocking UI: Scripts run in separate thread
  • Real-time progress tracking: See current iteration and action status
  • Start/Stop control: Full control over script execution
  • Error handling: Comprehensive error reporting

💾 Save & Load Scripts

  • JSON format: Human-readable script files
  • Version tracking: Scripts include version information
  • Easy sharing: Share scripts between users or computers

How to Use

1. Setup

pip install PyQt5 pywin32
python main.py

2. Create a Script

  1. Select Target Window: Choose your target application from the dropdown
  2. Capture Coordinates:
    • Click "Capture (F6)" button
    • Move mouse over target window (coordinates update live in X/Y boxes)
    • Click when you find the exact position you want
  3. Configure Action: Set action type, delay, name, comment, and repeat count
  4. Add Action: Click "Add Action" to add to your script
  5. Repeat: Add more actions as needed

3. Execute Script

  1. Set "Script Repeat Count" if you want to loop the entire script
  2. Click "Start" to begin execution
  3. Click "Stop" to interrupt if needed

4. Save & Load

  • Save Script: Click "Save Script..." to export to JSON file
  • Load Script: Click "Load Script..." to import previously saved scripts

Live Coordinate Tracking

NEW FEATURE: When you activate capture mode, the coordinate boxes now show live updates as you move your mouse over the target window. This makes it much easier to find the exact position you want to click.

How it works:

  1. Click "Capture (F6)" to enter capture mode
  2. The button turns red and shows "Capturing..."
  3. Move your mouse over the target window
  4. Watch the X and Y coordinate boxes update in real-time
  5. Status bar shows: "Live coordinates: (X, Y) - Click to capture"
  6. Click when you see the coordinates you want
  7. Coordinates are locked in and capture mode ends

Technical Details

  • Language: Python 3.7+
  • GUI Framework: PyQt5
  • Windows Integration: pywin32 for Windows API access
  • Architecture: Clean separation of UI, business logic, and Windows integration
  • Threading: Non-blocking execution with Qt signals for UI updates
  • Coordinate System: Client-relative coordinates for consistent positioning

System Requirements

  • OS: Windows 10/11
  • Python: 3.7 or higher
  • Dependencies: PyQt5, pywin32

Project Structure

merlin-autoclicker/
├── src/
│   ├── config.py              # Configuration constants
│   ├── main_window.py         # Main UI and logic
│   └── core/
│       ├── win_handler.py     # Windows API interactions
│       └── script_runner.py   # Script execution with threading
├── main.py                    # Application entry point
├── requirements.txt           # Dependencies
└── README.md                  # This file

Version History

  • v0.0.1: Initial release with live coordinate tracking
    • Real-time coordinate display during capture mode
    • Multi-threaded script execution
    • Complete save/load functionality
    • Professional UI with comprehensive error handling

Created by: Merlin
Version: 0.0.1

🎯 Perfect for: Game automation, repetitive tasks, UI testing, and any scenario requiring precise, automated mouse clicks.

About

MerlinClicker - Professional Windows desktop automation tool built with Python and PyQt5. Enables precise mouse click automation on specific application windows without interrupting user workflow.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages