Skip to content

Releases: linuxmobile/keystroke

Keystroke: Modern Wayland Key Visualizer

09 Feb 03:42
v0.1.5
ac7e06c

Choose a tag to compare

Keystroke is a modern, highly customizable keystroke visualizer built in Rust, designed specifically for Wayland compositors. It provides a clean, aesthetic overlay for screencasts, presentations, or just for the love of mechanical keyboard sounds.

showcase.mp4

💡 Caption: Turn up the volume to enjoy it better!.

Key Features

  • Wayland Native: Built with GTK4 and Layer Shell, ensuring it works natively on modern compositors like Niri, Hyprland, and Sway without X11 workarounds.
  • Two Visual Modes:
    • Keystroke: A classic, precise visualizer that shows every key press.
    • Bubble: A sleek, minimal, aesthetic mode inspired by devaslife, perfect for clean setups.
  • Mechanical Audio Engine: Experience satisfying typing sounds with built-in support for Mechvibes sound packs. Includes zero-latency playback on a dedicated thread.
  • Deep Customization:
    • Granular control over typography (Font Family, Weight, Size).
    • Theming that respects your system's GTK theme.
    • Draggable overlays to position the visualizer exactly where you want it.
Screenshot-from-2026-02-08-14-53-56

Supported Compositors

Keystroke automatically detects your environment:

  • Niri: 🟢 Fully Verified
  • Hyprland: 🟡 Experimental (Needs testing)
  • Sway: 🟡 Experimental (Needs testing)

Installation

Cargo:

cargo install --git https://github.com/linuxmobile/keystroke

Nix:

nix run github:linuxmobile/keystroke

> This is an early release (v0.1.5). We are actively looking for feedback, especially from Hyprland and Sway users!