Skip to content

Klicky v0.2.0

Choose a tag to compare

@Muneer320 Muneer320 released this 03 Oct 19:10
· 13 commits to master since this release
18bede2

Klicky 0.2.0

Klicky 0.2.0 turns the original macOS keyboard-sound daemon into a cross-platform, Linux-first utility while preserving macOS support and the existing sound-pack format.

Highlights

  • Native Linux input through evdev, independent of Wayland or X11
  • Verified operation on Arch Linux, Omarchy, Hyprland, Wayland, and PipeWire
  • Persistent Rodio 0.22 mixer with 256-frame output when supported
  • Predecoded, cached per-key samples with clipping-safe loudness normalization
  • systemd user-service installer with automatic restart and device rediscovery
  • Narrow keyboard-only udev access rule
  • Optional native Omarchy top-bar toggle
  • Owner-only runtime directory, PID file, and IPC socket
  • Linux and macOS CI covering formatting, tests, Clippy, release builds, documentation, shell scripts, and systemd packaging

Measured Linux performance

On the tested Omarchy laptop, 55 physical keypresses produced:

  • Mean dispatch latency: 0.241 ms
  • Median: 0.220 ms
  • p95: 0.520 ms
  • p99: 0.570 ms

These measurements cover event receipt through audio dispatch. They do not claim physical key-to-speaker latency.

Install on Linux

git clone https://github.com/Muneer320/klicky.git
cd klicky
./scripts/install-linux.sh

The installer requires Rust 1.87 or newer, systemd user services, udev, and the distribution package that provides ALSA development headers.

Upgrade notes

Existing Linux installations can rerun ./scripts/install-linux.sh. The installer migrates service enablement to default.target, restarts the installed binary, and removes legacy runtime files from the config directory.

Known limitations

  • macOS is continuously compile-tested, but this release has not received a fresh physical Mac runtime validation.
  • Input devices are discovered at daemon startup. Reader failure triggers a systemd restart and rescan, but adding another keyboard while current readers remain healthy requires a restart.
  • Linux installation automation currently targets systemd and udev distributions.
  • Windows support is not included.

Lineage

Klicky began as Sauhard Gupta's original Klicky. This release preserves the original Git history, MIT license, macOS implementation, sound-pack format, and attribution while adding the Linux platform, packaging, performance work, security hardening, and documentation maintained here.

See the changelog and benchmark methodology for details.