Omahub
← All plugins
F

Key Visualizer

by felixzsh

Shows the keys you press on screen. Great for keybinding tutorials, demos, and screencasts.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
1aadf9c
Scanned
3 weeks ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
1aadf9c
Reviewed
3 weeks ago

The plugin is a key visualizer that captures keyboard input locally and displays it on screen. It writes state files with proper permissions and includes security checks on the runtime directory. It modifies the user's hyprland config on first load to hook the Lua script, which is documented and reversible. No malicious or dangerous behavior found.

  • Modifies ~/.config/hypr/hyprland.lua to add a dofile hook; users should be aware and it is reversible.
  • Captures keystrokes by design; user consent is implied by installing the plugin.
  • Uses shell commands for file writes, but paths are properly quoted and state files are protected with chmod 600.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/felixzsh/omarchy-key-visualizer --enable
Desktop #bar

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.
  • Filter — All keys or Bindings only (only combos with a modifier).
  • Position — six placements (top/bottom × left/center/right).
  • Linger — how long a released combo stays, 0–10s; 0 keeps it until the next key.
  • History — how many combos stack on screen (1–5); 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-left … bottom-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 (1–5) 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