FeatherClick's blue click icon with the project's name, timing modes, and supported operating systems.
Illustration using the FeatherClick icon. Fixed, uniform, and Gaussian are the three timing modes.

What it does Link to section: What it does

FeatherClick is a small mouse autoclicker (a tool that repeats mouse clicks) I built in Rust. The same click engine runs from a desktop window or in headless mode (without a desktop window) from the command line. The v0.1.0 release provides downloads for Windows, macOS, and Linux.

The window keeps the main controls together: which button to click, when to click it, where to aim, and when to stop. Global hotkeys can start or stop a run and capture a position where the platform supports them.

Timing and targeting Link to section: Timing and targeting

The timing modes are:

  • Fixed: the same requested interval between clicks.
  • Uniform: randomly chosen intervals between two limits.
  • Gaussian: intervals sampled from a Gaussian distribution (a bell-shaped distribution centered around a mean).

A click can use the pointer’s current position or return to a selected point. For a selected point, the target can vary within a box, ellipse, or Gaussian spread.

The engine supports left, right, and middle buttons, including single clicks, double clicks, and press-and-hold. A run can stop:

  • After a set number of clicks.
  • After a time limit.
  • When the pointer moves away from its starting point.

These controls also make short, bounded runs practical.

How it is built Link to section: How it is built

The app uses Rust, egui/eframe (a user-interface library and its app framework) for its window, and platform input and hotkey libraries. The engine takes a snapshot of the settings at the start of each run, so changing a control in the window does not alter a run already in progress.

Edited settings are saved to a local JSON (a structured text format) file after a short delay, with an atomic write (replacing the saved file in one operation) to avoid truncating the file if saving is interrupted.

The click loop sleeps in short slices and uses a brief spin near the next click. On Windows it raises timer resolution (how finely the system schedules timed waits) while a run is active. In the project’s Windows 11 measurements, a requested 100 ms fixed interval produced click intervals of 96–109 ms. Those numbers describe that test setup, not a guarantee across machines.

The command-line mode uses the same engine for scripts or environments without a desktop window. The source includes tests and continuous integration builds for the three supported operating systems.

Platform limits Link to section: Platform limits

Windows supports the window, clicking, and global hotkeys. macOS needs Accessibility permission (macOS authorization to control input) to send clicks; its release is unsigned and not notarized (checked by Apple for malicious software). Linux supports X11 (a Linux display system) and some Wayland (a newer display protocol) compositors (software that manages windows and display output).

On Wayland, global hotkeys are unavailable, and native clicking depends on the compositor’s virtual-pointer support.

FeatherClick does not record macros or automate keyboard input. The README has the current setup notes, platform table, command-line examples, and limitations. The source is available under the MIT license.