Welcome to Auto Clicker in Assembly, a lightweight and super fast auto clicker built entirely in Assembly language! This project is designed for those who appreciate low-level programming and want to explore the power of Assembly while automating repetitive mouse-clicking tasks.
- Multi-Platform Support: Runs smoothly on Windows, Linux, and macOS.
- User Configurable: Define the duration, click rate (per minute or per second), and whether to run indefinitely.
- Lightweight: Written in Assembly, offering minimal overhead and maximum performance.
- Open Source: Released under the MIT License, so you can freely use, modify, and distribute the code.
The Auto Clicker in Assembly can be particularly useful in the following scenarios:
- Automated Testing: When you need to simulate mouse clicks at specific intervals to test UI elements or software behavior.
- Repetitive Tasks: For automating repetitive clicking tasks in games, data entry applications, or any software that requires frequent mouse clicks.
- Stress Testing: Use it to stress test software or hardware by simulating a high volume of clicks over a set period.
- Assisting with Accessibility: Automate clicks for users who may have difficulty performing repetitive mouse actions.
- Learning and Experimentation: Great for developers and learners interested in exploring low-level programming with Assembly and understanding how to manipulate mouse input programmatically.
Please use this tool responsibly and ensure that your use cases comply with any terms of service, licensing agreements, or ethical guidelines related to the software or environment where it will be deployed.
To get started, you'll need the following tools installed:
- NASM: The Netwide Assembler, for compiling Assembly code.
- LD: A linker for creating executables.
- xdotool (for Linux/macOS): A command-line tool for simulating keyboard and mouse input.
You can automatically detect your operating system, install dependencies, and compile the project with a single command:
make allOptions:
YES=yes: Automatically confirm all prompts during dependency installation.-h,--help: Display help information.
For example, to run the setup and compilation with automatic confirmation of prompts:
make all YES=yesIf you prefer to manually compile the project for a specific platform:
Windows:
- Compile and link:
or with automatic confirmation:
make windows
make windows YES=yes
Linux/macOS:
- Compile and link:
or with automatic confirmation:
make linux
make linux YES=yes
To remove compiled files and reset the environment:
make cleanUpon running the program, you will be prompted to enter the following parameters:
- Duration: Enter the number of seconds you want the auto clicker to run. Enter
0to run indefinitely. - Clicks Per Minute: Specify how many clicks per minute you want. For example, enter
60for 1 click per second.
-
Run for 10 seconds with 60 clicks per minute:
- Duration:
10 - Clicks Per Minute:
60
- Duration:
-
Run indefinitely with 120 clicks per minute (2 clicks per second):
- Duration:
0 - Clicks Per Minute:
120
- Duration:
We welcome contributions from the community! Whether it's fixing a bug, adding a new feature, or improving documentation, your help is appreciated.
-
Fork the repository on GitHub.
-
Create a new branch:
git checkout -b feature-name
-
Make your changes and commit them using Conventional Commits:
git commit -m "feat: add new click rate option"Why Conventional Commits?
Conventional Commits are important because they provide a consistent way of writing commit messages. This consistency helps in generating changelogs, automating versioning, and maintaining a clean project history. Following this convention is necessary for your contributions to be approved and merged.Some examples of Conventional Commits:
feat: add option for infinite clickingfix: correct calculation of click intervaldocs: update README with new usage instructions
-
Push to your branch:
git push origin feature-name
-
Create a Pull Request on GitHub.
If you encounter any issues or bugs, please open an issue on GitHub. Be sure to include details such as your operating system, the steps to reproduce the issue, and any error messages.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions, suggestions, or just want to chat about Assembly programming, join the discussion on our GitHub Discussions page!