An advanced automatic mouse clicker written in Rust with a sleek GUI interface. Perfect for automation tasks, gaming, and repetitive clicking operations.
- Multiple Click Types: Support for single click and double click operations
- Left/Right Click: Choose between left or right mouse button clicking
- Custom Coordinates: Intelligent mode allows recording and playback of precise mouse movements
- Ordinary Mode: Simple automated clicking with fixed intervals
- Intelligent Mode: Record and replay complex mouse movement sequences
- Record mouse positions and clicks
- Save and load recording sessions
- Custom sleep intervals between actions
- Customizable Hotkeys: Set your preferred key combinations for:
- Start/Stop clicking operations
- Record mouse movements (Intelligent Mode only)
- Smart Debouncing: Prevents accidental multiple triggers
- Click Count Control: Set exact number of clicks to perform
- Time Interval Configuration: Adjust delay between clicks (milliseconds)
- Sound Effects: Enable/disable audio feedback for recording actions
- Persistence: Automatic saving of settings and recordings
- Visual Indicators: Color-coded status showing clicking, recording, or stopped states
- Record Counter: Track number of recorded actions in Intelligent Mode
- Rust and Cargo installed on your system
# Clone the repository
git clone git@github.com:jcglqmoyx/clicker.git
cd clicker
# Build the project
cargo build --release
# Run the application
cargo run --release
The built binary will be available at target/release/clicker
- Launch the Application: Run the executable to open the GUI
- Configure Settings:
- Select mouse button (Left/Right)
- Choose click type (Single/Double)
- Set click count and time interval
- Set Hotkeys: Configure your preferred key combinations
- Choose Mode:
- Ordinary Mode: For simple repetitive clicking
- Intelligent Mode: For complex sequences (record movements first)
- Start Clicking: Use the hotkey to start/stop the clicking process
- Enable "Smart Click" checkbox
- Position your mouse where you want to record the first click
- Press the record hotkey to capture the position and click
- Repeat for each step in your sequence
- Use the start hotkey to replay the entire sequence
- Rust: Systems programming language for performance and safety
- FLTK: Lightweight GUI toolkit for cross-platform compatibility
- DeviceQuery: Keyboard and mouse input handling
- Enigo: Cross-platform input automation
- Rusqlite: SQLite database for persistence
- Rodio: Audio playback for sound effects
The application follows a modular architecture with clear separation of concerns:
- GUI Layer: FLTK-based interface components
- Business Logic: Global state management and click operations
- Persistence: SQLite database for storing settings and recordings
- Input Handling: Device query and Enigo for input automation
Settings are automatically saved to a local SQLite database in the application data directory. You can:
- Clear recorded sequences
- Save/Load specific recording sessions
- Customize all operational parameters
Contributions are welcome! Please feel free to submit issues and pull requests for:
- Bug fixes
- New features
- Documentation improvements
- Performance optimizations
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).