keypop-0.1.1 is not a library.
keypop
A transparent keypress overlay for Linux. Shows your recent keypresses in a pill bar — great for screencasts, tutorials, and live demos.
Works on X11 and Wayland.
┌──────────────────────────────────┐
│ │
│ (your desktop) │
│ │
│ ┌──────────────────┐│
│ │ Ctrl+C │ Tab │ V ││
│ └──────────────────┘│
│ ▲ │
│ ════════════════════│
└──────────────────────────────────┘
Install
Make sure you have Rust installed, then:
This builds a release binary and places it in ~/.cargo/bin/keypop.
System dependencies [if not already]
# Ubuntu / Debian
# Fedora
Permissions
keypop reads directly from /dev/input. Add yourself to the input group — no root required:
# log out and back in, then verify:
|
Usage
Configure
Set your preferences interactively. Press Enter to keep the value shown in brackets:
keypop configuration
Press Enter to keep the value shown in [brackets].
Font size [24]: 28
Opacity (0.0–1.0) [0.75]:
Display time in seconds (2, 3, or 5) [3]: 5
Number of keys to show (1–5) [3]:
Saved to /home/user/.config/keypop/config.toml
Settings are saved to ~/.config/keypop/config.toml. Run keypop configure again at any time to update them.
Run
Press Esc or Ctrl+C to quit.
Command list
Shows:
..K...K..EEEE..Y...Y..PPPP....OOO...PPPP..
..K..K...E......Y.Y...P...P..O...O..P...P.
..KKK....EEE.....Y....PPPP...O...O..PPPP..
..K..K...E.......Y....P......O...O..P.....
..K...K..EEEE....Y....P.......OOO...P.....
-----------------------------------------------
keypop --help
keypop run
keypop configure
Options
| Setting | Default | Description |
|---|---|---|
font_size |
24 |
Key label font size in pixels |
opacity |
0.75 |
Bar opacity (0.0–1.0) |
display_time |
3 |
Seconds before overlay hides (2, 3, or 5) |
keys |
3 |
Number of recent keys to show (1–5) |
Tiling WM notes
| WM | Config |
|---|---|
| Sway | for_window [app_id="keypop"] floating enable, sticky enable |
| Hyprland | windowrulev2 = float, class:^(keypop)$ + windowrulev2 = pin, class:^(keypop)$ |
| i3 | Requires a compositor (e.g. picom) for transparency |
| GNOME / KDE | Works out of the box |
Contributing
- Create an issue for the bug or feature.
- Fix it in your branch.
- Open a pull request linked to the issue.
Socials
License
MIT — see LICENSE