▄▄▄ ▄▄
█▀██ ██ ██▀▀ ██
██ ██ ██ ██ ▀▀ ▄▄
██ ██ ██ ▄▀▀█▄ ██ ██ ▄███▀ ██ ██ ▄███▀ ██ ▄█▀
██▄ ██▄ ██ ▄█▀██ ██▄██ ██ ██ ██ ██ ████
▀████▀███▀▄▀█▄██▄▄▀██▀▄▀███▄▄██▄██▄▀███▄▄██ ▀█▄
██
▀▀▀
Minimal low-latency auto-clicker for Linux and Wayland.
Direct Linux input injection using evdev/uinput.
Built with:
- Python
- evdev
- uinput
Designed for:
- KDE Plasma
- Hyprland
- Wayland
- tiling window managers
- low overhead
- fast click timing
- Native Linux input injection
- Wayland compatible
- Low latency
- Lightweight
- Left/right click support
- Toggle mode
- Minimal terminal UI
- No GUI frameworks
- No X11 requirement
Clone the repository:
git clone https://github.com/matheuscoletti08/Wayclick.git
cd WayclickCreate virtual environment:
python -m venv .venvActivate venv:
source .venv/bin/activatesource .venv/bin/activate.fishInstall dependencies:
pip install -r requirements.txtWayclick requires access to /dev/uinput.
Create udev rule:
echo 'KERNEL=="uinput", GROUP="uinput", MODE="0660", OPTIONS+="static_node=uinput"' | sudo tee /etc/udev/rules.d/99-uinput.rulesCreate group and add your user:
sudo groupadd uinput
sudo usermod -aG uinput $USERReload rules:
sudo udevadm control --reload-rules
sudo udevadm triggerThen reboot or relog.
Run:
python wayclick.pyThe application will ask for:
- CPS
- mouse button
Example:
CPS (default 20): 100
button (left/right): left
Controls:
ENTER -> toggle clicking
CTRL+C -> exit
System:
- Linux
- Python 3.10+
- uinput access
Python:
- evdev
Typical memory usage:
- ~8MB to ~25MB RAM
Designed to remain lightweight even at high CPS values.
Tested on:
- CachyOS
- KDE Plasma Wayland
Expected to work on:
- Hyprland
- GNOME Wayland
- Sway
- X11
Planned:
- configurable hotkeys
- config.json support
- packaged releases
- AUR package
- live CPS switching
- daemon mode
GPL-3.0 License