Clikr is a simple auto-clicking application designed to cover most use cases. It is intended for tasks that require a bit more than a basic clicking loop without the need to delve into scripting. Clikr allows you to customize actions such as the interval between clicks, the number of clicks to perform, the duration to hold each click, and more. For a description of each available setting, refer to the settings section.
If you are looking for an in-depth macro system for specific purposes, consider using a tool like AutoHotkey instead.
- Icon from Flaticon
You can find appropriate downloads for each release here. There is also the option to run the main script, main.py, directly from source.
Windows: An executable and installer are available to download with each release.
Linux: A binary is included in each release.
Clikr is compatible with both Windows and Linux. Since pynput is used for input callbacks and controls, Wayland support will be provided under Xwayland with limited functionality as described here.
The following are the available settings and what they do. If any input fields are left empty, the default value will be used.
The click interval determines the amount of time between clicks. Setting this to 0 will attempt to click as fast as possible, possibly breaking any programs involved in responding to the click process.
Note: Interval accuracy begins to diminish with smaller intervals, with slight inaccuracy (between 0% and 5% error) below ~100ms, mild inaccuracy (between 5% and 10% error) below ~17ms, and severe inaccuracy (10% error and above) below ~9ms depending on the system. The graph below demonstrates the measured percent error for each interval.
The mouse button determines which button on the mouse will be used for each click event.
The location determines where each click event will occur. A location can be picked by pressing the "Change" button and clicking the desired location on the screen or by setting the values manually. Pressing Esc while changing the location will cancel the action. If an X or Y location is not specified, the user-controlled mouse position will be used instead. If using a specific X or Y location, a hotkey must be set as well to prevent softlocking.
The hotkey sequence determines which keys will toggle the click process. To change the hotkey, click into the field and begin typing. Click out of the field to stop editing the sequence or press Esc to clear it. A hotkey must be set if a specific location is provided.
The click length determines how long to hold the click. For example, if the click length is set to 50 milliseconds, the mouse will be pressed down, wait for 50 milliseconds, then release.
The click events determine how many times to cause a click event. For example, if this is set to 5, the process will conduct 5 different click events then end automatically. If left blank (default), the click process will continue until it is stopped with the hotkey or stop button.
The clicks per event determine how many times to click each time a click event occurs. For example, setting this to 2 will cause each event to be a double click, 3 to be a triple click, etc.
Each executable/binary simply acts as a bundle for the source files and an interpreter. Each time the file is executed, the source code is expanded to a temporary directory. You can read more about how PyInstaller creates these executables here.
git clone https://github.com/CaymanFreeman/Clikr && cd Clikr
python -m venv .venv
.venv\Scripts\activate.bat
python -m pip install --upgrade pip
pip install -r ./requirements.txt
pip install pyinstaller
From this point, Clikr can be run from the source scripts with python src\main.py
.
pyinstaller --noconfirm --onefile --name "Clikr" --windowed --add-data="LICENSE.md:." --icon="assets\icon.ico" --add-data="assets\icon.png:assets" --add-data="assets\window.ui:assets" src\main.py
The executable will be located at dist\Clikr.exe
.
The following packages may need to be installed:
python3-dev python3.12-venv python3-xlib binutils build-essential
git clone https://github.com/CaymanFreeman/Clikr && cd Clikr
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r ./requirements.txt
pip install pyinstaller
From this point, Clikr can be run from the source scripts with python3 src/main.py
.
pyinstaller --noconfirm --onefile --name "clikr" --add-data="LICENSE.md:." --add-data="assets/window.ui:assets" --hidden-import pynput.keyboard._xorg --hidden-import pynput.mouse._xorg src/main.py
The binary will be located at dist/clikr
.
hi :)