A lightweight, fast auto-clicker built with Rust.
FerroClicker provides a simple GUI for automated mouse clicking, configurable delays, and global hotkey control.
- π±οΈ Automated mouse clicking
- β‘ Adjustable click interval from 1β1000 ms
- β³ Configurable startup delay from 0β10 seconds
- π’ Visible startup countdown
- β¨οΈ Global toggle hotkeys from F1βF12
- π
/dev/inputpermission detection - π Built-in permission re-check
- π PAUSED, STARTING, and ACTIVE status indicators
- π¦ Built with Rust
- π¦ Portable AppImage
- π§ Linux support
- π Open source
Warning
Linux input automation has important limitations on modern Wayland desktops.
See Wayland Compatibility before reporting input-related issues.
Download the latest ferro-clicker.AppImage from the Releases page.
Make it executable:
chmod +x ferro-clicker.AppImageRun it:
./ferro-clicker.AppImageIf you see:
Cannot mount AppImage, please check your FUSE setup
you can run the AppImage without installing FUSE:
APPIMAGE_EXTRACT_AND_RUN=1 ./ferro-clicker.AppImageInstall the FUSE 2 compatibility library:
sudo add-apt-repository universe
sudo apt update
sudo apt install -y libfuse2t64Then run:
./ferro-clicker.AppImagesudo apt update
sudo apt install -y libfuse2Tip
If the AppImage still refuses to mount, use:
APPIMAGE_EXTRACT_AND_RUN=1 ./ferro-clicker.AppImageFerroClicker reads Linux input events from /dev/input to detect global hotkeys. The application checks whether it can access these devices and displays a warning if permissions are missing. :contentReference[oaicite:2]{index=2}
If the hotkey does not work, add your user to the input group:
sudo usermod -aG input $USERThen log out and log back in.
You can verify your groups with:
groupsWarning
Membership in the input group gives applications broad access to input devices. Only do this if you understand the security implications.
Modern Linux desktops increasingly use Wayland instead of X11.
Wayland intentionally restricts applications from:
- Reading global keyboard input
- Injecting input into other applications
- Simulating unrestricted mouse clicks
Because of this, FerroClicker's functionality may depend on:
- Your desktop environment
- Your Wayland compositor
- Security policies
- XWayland availability
You can check your current session:
echo $XDG_SESSION_TYPEIf the output is:
wayland
try using an X11 session if your distribution provides one.
Examples:
GNOME on Xorg
Plasma (X11)
Important
Running FerroClicker with sudo is not guaranteed to bypass Wayland's input restrictions.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shLoad Cargo:
source "$HOME/.cargo/env"Verify:
rustc --version
cargo --versionsudo apt update
sudo apt install -y \
build-essential \
pkg-config \
libx11-dev \
libxtst-dev \
libxi-devsudo dnf install -y \
gcc \
pkg-config \
libX11-devel \
libXtst-devel \
libXi-develsudo pacman -S --needed \
base-devel \
pkgconf \
libx11 \
libxtst \
libxisudo zypper install \
gcc \
pkg-config \
libX11-devel \
libXtst-devel \
libXi-develgit clone https://github.com/rxjith/ferro-clicker.git
cd ferro-clicker
cargo run --releaseThe optimized binary will be available at:
target/release/ferro-clicker
You can also build without running:
cargo build --releaseThen launch it manually:
./target/release/ferro-clickerInstall cargo-appimage:
cargo install cargo-appimageBuild:
cargo appimageIf AppImage tooling encounters FUSE issues:
APPIMAGE_EXTRACT_AND_RUN=1 cargo appimageCheck your session type:
echo $XDG_SESSION_TYPEIf you're running Wayland, try an X11 session.
Check /dev/input permissions:
sudo usermod -aG input $USERThen log out and log back in.
Try:
APPIMAGE_EXTRACT_AND_RUN=1 ./ferro-clicker.AppImageOn Ubuntu 24.04 / 26.04:
sudo add-apt-repository universe
sudo apt update
sudo apt install -y libfuse2t64Contributions, bug reports, and suggestions are welcome.
When reporting an issue, include:
- Linux distribution and version
- Desktop environment
- X11 or Wayland
- Exact error message
- Steps to reproduce
This makes debugging significantly less like archaeological excavation.
FerroClicker is distributed under the GPL-3.0 License.
See LICENSE for details.
