Bob Myrick 7b3fa2f0b3 fix(capture): restore key overlays after hardening
Validate the systemd runtime path using the process effective UID instead of shell ownership probes that fail in Hyprland's embedded Lua runtime. Keep Quickshell FileView watchers live by updating their fixed, private state paths in place and seed both state files when the hook loads.
2026-08-25 21:20:05 -04:00
2026-08-11 09:53:48 -05:00
2026-08-11 09:53:48 -05:00
2026-08-24 14:19:30 -05:00
2026-08-12 11:52:18 -05:00

Omarchy Key Visualizer

A tiny Omarchy plugin that shows the keys you press on screen — no keycap images, no fuss. Great for keybinding tutorials, demos and screencasts.

Preview

Key Visualizer preview

Combo mode in action

Install

omarchy plugin add https://github.com/felixzsh/omarchy-key-visualizer --enable

You'll be asked where to put the bar widget (or add --section right). That's it: the panel shows the keys and the keyboard glyph in the bar opens the menu. On first load the plugin adds a small hook to your ~/.config/hypr/hyprland.lua (safe to remove) and Hyprland reloads it on its own — no manual steps.

Notes

  • If the glyph doesn't appear right after enabling, run omarchy-shell shell rescanPlugins.
  • If the display looks stale after an update, omarchy restart shell reloads everything fresh.
  • Updates: omarchy plugin update felixzsh.key-visualizer.

Bar widget

The keyboard glyph (right section by default) opens a small menu:

  • Show keys — pause/resume the display.
  • FilterAll keys or Bindings only (only combos with a modifier).
  • Position — six placements (top/bottom × left/center/right).
  • Linger — how long a released combo stays, 010s; 0 keeps it until the next key.
  • History — how many combos stack on screen (15); older ones fade.
  • Combo mode — turns the display into a game counter with score and effects (see below).

You can also drive it from the terminal:

omarchy-shell key-visualizer toggle
omarchy-shell key-visualizer pause
omarchy-shell key-visualizer resume

Behavior

  • Typing — shows the character: g, G, !, 5.
  • Combos — modifiers plus the key, shown as a unit: Super Shift G. The combination stays intact no matter the order you release it.
  • Non-printing keys — labeled: Esc, Tab, F1, arrows, Space.
  • Shift is folded into the character: Shift + 1 shows !.
  • After release, the combo lingers briefly (1s by default) and vanishes; a Linger of 0 keeps it until the next key.
  • History — the last few combos stack instead of vanishing, with older ones fading out. Top positions stack downward, bottom positions upward.
  • Combo mode — a game counter. Combos with modifiers score points and build a streak (multiplier up to ×8); plain typing scores a little too. The banner shows COMBO 12 ×3 · 3,450. The longer the streak, the bigger the effects: pulsing, color shifts, screen shake — and at high streaks a constant vibration. Stop for a moment and the streak resets; when the display fades away, the score resets too.
  • Bindings only — shows only combos with a modifier; plain typing stays off screen.

Customize

Options live in ~/.config/omarchy/key-visualizer.json and apply live:

{
  "mode": "all",
  "position": "bottom-center",
  "margin": 67,
  "lingerMs": 1000,
  "historyCount": 1,
  "comboMode": false
}
Option What it does Default
mode all or bindings (only combos with a modifier) all
position top-leftbottom-right bottom-center
margin distance from the screen edge (px) 67
lingerMs how long a released combo stays; 0 = keep until the next key 1000
historyCount combos stacked on screen (15) 1
comboMode game counter, score and effects false

Roadmap

  • Layout-aware key symbols (xkbcommon) instead of the static US table.
  • Per-monitor placement.

License

MIT

S
Description
No description provided
Readme MIT 1.4 MiB
Languages
QML 86%
Lua 14%