Skip to content

Releases: Muneer320/klicky

Klicky v0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 22:10
d28a6e7

Klicky 0.3.0

Klicky 0.3.0 adds native Arch Linux and Debian-compatible distribution packages, system-wide sound packs, and automated package release assets.

Install on Arch Linux or Omarchy

gh release download v0.3.0 --pattern 'klicky-*.pkg.tar.zst'
sudo pacman -U klicky-*.pkg.tar.zst
systemctl --user enable --now klicky.service

Install on Ubuntu or Debian

gh release download v0.3.0 --pattern 'klicky_*_amd64.deb'
sudo apt install ./klicky_*_amd64.deb
systemctl --user enable --now klicky.service

The assets can also be downloaded directly below without GitHub CLI.

Upgrade from the source installer

Before installing a distribution package, remove the user-local binary and service while preserving configuration:

cd ~/Work/klicky
./scripts/uninstall-linux.sh

Do not use --purge. Install the package afterward and enable its service.

Included in this release

  • Arch Linux x86_64 package
  • Debian and Ubuntu amd64 package
  • Ten MIT-licensed sound packs under /usr/share/klicky/sounds
  • User sound-pack overrides under ~/.config/klicky/sounds
  • systemd user service under /usr/lib/systemd/user
  • Keyboard-only udev access rule
  • klicky(1) manual page
  • SHA-256 checksums

Package verification

Both package formats are built and installed in clean CI environments. The Arch package was also installed on an Omarchy laptop and verified with a physical service session.

  • Ubuntu CI: passed
  • macOS CI: passed
  • Debian package build, Lintian, extraction, and runtime checks: passed
  • Arch makepkg, namcap, pacman installation, and runtime checks: passed
  • Omarchy package ownership, migration cleanup, service health, and runtime permissions: passed

Important paths

/usr/bin/klicky
/usr/lib/systemd/user/klicky.service
/usr/lib/udev/rules.d/70-klicky.rules
/usr/share/klicky/sounds/
~/.config/klicky/config.toml
~/.config/klicky/sounds/

Current package scope

Release packages currently target x86_64 Arch Linux and amd64 Debian-compatible systems. macOS continues to build and test in CI but does not receive a binary package until physical runtime validation is completed. Windows remains unsupported.

See the packaging guide and full changelog for details.

Signed APT repository

Debian and Ubuntu users can install and update Klicky through:

https://muneer320.github.io/klicky

Signing fingerprint:

DBB6 7AE4 78D2 FFCE C663 7B55 9899 E554 D358 0D8F

Follow the APT repository instructions to install the repository-specific key and Deb822 source.

Full comparison: v0.2.0...v0.3.0

Klicky v0.2.0

Choose a tag to compare

@Muneer320 Muneer320 released this 03 Oct 19:10
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.