A small Wayland keystroke visualizer.
test.mp4
- Zig 0.16.0
- a Wayland compositor with
wlr-layer-shell-unstable-v1.
System dependencies:
- cairo
- libinput
- pango
- udev
- wayland
- xkbcommon
Build-only dependency:
wayland-protocols— needed to generate thexdg-shellprotocol bindings at build time, not required at runtime.
yay -S keywisp-gitzig build -Doptimize=ReleaseSafe --prefix ~/.localThis installs Keywisp as ~/.local/bin/keywisp. Make sure ~/.local/bin is in
your PATH.
Keywisp needs read access to the input devices on seat0. On systems using an
input group, add your user to it and then log out and back in:
sudo usermod -aG input "$USER"Start the overlay with:
keywispPointer buttons and scroll events are optional. Enable them with -B and -S:
keywisp -B -SKeywisp includes four themes:
| Theme | Appearance |
|---|---|
dark |
Dark panel (default) |
light |
Light panel |
wisp-dark |
Transparent panel with dark floating keycaps |
wisp-light |
Transparent panel with light floating keycaps |
Select a theme with, for example:
keywisp --theme wisp-darkCommand-line options can override theme colors and adjust the position, font, spacing, and other appearance settings.
Example:
keywisp --theme wisp-dark \
--position top \
--margin 32 \
--max-width 720 \
--font "Sans Bold 18" \
--text-color FFFFFFFFRun the following command for all available options:
keywisp --helpKeywisp can run in --stdout mode and be used as a Waybar custom module.
Each keystroke line is printed to stdout and picked up by the bar. An example
configuration is provided in examples/waybar-config.jsonc:
Keywisp was inspired by DreamMaoMao/wshowkeys.
Keywisp is available under the MIT License.
