Keyson · v0.1 · macOS 13+

Sounds like $400.
Costs nothing.

A menubar app that plays mechanical-keyboard sounds on every keystroke. Free, MIT, sandbox-safe, and silent the moment a password field opens.

Hear it nowStar on GitHubno account · no telemetry · no upgrade tier
/ Try it ·audio plays in your browser · same engine as the app
keyson — playground.zsh
LOAD ON TYPE
clicky
tactile
linear
$ type anything · MX Blue
tap a key
vol
Free as in MITPrivate as in offlineOpen as in fork-it13 sound packsSix menubar stylesMechvibes-compatibleSandbox-friendlyPassword-awareApple Silicon nativemacOS 13+Free as in MITPrivate as in offlineOpen as in fork-it13 sound packsSix menubar stylesMechvibes-compatibleSandbox-friendlyPassword-awareApple Silicon nativemacOS 13+
§ 01

Three principles. Held tightly.

Every keystroke-sounds app makes one of three trade-offs. We refused all three.

P · 01 — Free

Free, the way the web used to be.

MIT licensed. No account, no upgrade tier, no “credits running low.” The repo is the receipt — fork it, ship it, sell a rebrand if you want.

> license: MIT
P · 02 — Private

Quiet around your secrets.

Keystrokes are observed via CGRequestListenEventAccess, not Accessibility — and IsSecureEventInputEnabled is checked inline. sudo, 1Password and the lock screen stay silent. Nothing is recorded.

> telemetry: 0 bytes
P · 03 — Open

Bring your own packs.

Drop any Mechvibes v1 or v2 folder into ~/Library/Application Support/Keyson/custom/ — sprite or multi-file, both work. Roll your own studio for the cost of a microphone.

> format: mechvibes
§ 02

Pick the one that disappears for you.

Every menubar panel is hand-typeset for its aesthetic — from terminal prompts to neon to native macOS glass. Six options, switch any time from Settings.

Terminal

charcoal · terminal green
$ keysonrunning
> packmx-black ▾
> volume[═══════════──────]70%
> opacity[════════════════]100%
⇧⌘K toggle · q quit

Brutalist

acid yellow · hot pink

KEYSON

Pack
MX BLACK
Volume · 70%
Opacity · 100%
⇧⌘K · QUIT

Native glass

translucent · SF Pro

Keyson

PackMX Black ⌄
Volume70%
Opacity100%
⇧⌘K toggles · Quit

Cyberpunk

magenta + cyan · neon

KEYSON

Pack
MX-BLACK
Volume70%
Opacity100%
⇧⌘K · QUIT

Dev tool

warm dark · violet

Keyson

keypress
PackMX Black⌘1
Volume
70%
Opacity
100%
Silence⇧⌘K

Cozy journal

brown + amber · serif

Keyson.

a soft companion
Pack
MX Black◦ ◦ ◦
Volume70%
Opacity100%
⇧⌘KQuit
§ 03

Two ways to live with it.

Same audio engine, two front doors. Pick whichever matches how you already work.

Door A — the menubar

Flip a switch. Pick a pack. Type.

The whole product is two clicks deep. Sit in the menubar, never block focus, never demand the front window.

  • Live preview before you commit to a pack
  • Six menubar styles, one keystroke to switch
  • Global hotkey ⇧⌘K to mute anywhere
Door B — your own packs

Drop a folder. It just shows up.

Mechvibes v1 and v2 are accepted as-is. Sample your own switches with a $40 mic, drop the folder, restart.

$ cp -R my-pack ~/Library/Application\\
Support/Keyson/custom/
§ 04 — the only honest pitch we could write
Your fingers will know within thirty seconds whether you want to keep it. That’s the whole sales pitch.
VGVictor Galvez · maker
§ 05

The pricing is the positioning.

$0/forever

MIT licensed. No account. No telemetry. No upgrade tier.

the repo is the receipt

what you actually get
  • +13 sound packs. Cherry · Topre · NovelKeys · Halo · vintage Buckling Spring · 4 customs
  • +Six menubar styles. Terminal · Brutalist · Glass · Cyberpunk · Dev tool · Cozy Journal
  • +Custom-pack support. Drop any Mechvibes v1/v2 folder, restart, it's there
  • +Global hotkey ⇧⌘K. Mute anywhere, remappable
  • +Sandbox-friendly. Ships in App Store. No Accessibility prompt.
  • +Password-aware. Silent in sudo, 1Password, lock screen
§ 06

The questions before install.

Q · 01

Does it record my keystrokes?

+
No. Input Monitoring observes events and discards them after triggering a sound. Nothing is logged, sent, or written to disk. The audio engine never sees the key — only the fact that one fired. The source is open; verify it.
Q · 02

Will it slow my Mac down?

+
~3 MB resident memory, around 0.1% CPU at typing speed. The audio engine sleeps when you stop and wakes on the next keystroke. It is designed to be a background process the way a clock is.
Q · 03

What happens in password fields?

+
Keyson checks IsSecureEventInputEnabled before every sound. sudo prompts, 1Password, the lock screen, macOS login — all silent. There is no setting to override this.
Q · 04

Can I use my own sound packs?

+
Yes. Any Mechvibes v1 or v2 pack — sprite-based or multi-file — works. Drop the folder into ~/Library/Application Support/Keyson/custom/, relaunch, it shows up in the picker.
Q · 05

Will this ship in the App Store?

+
Yes — that is the design constraint that drives most of the architecture. We use CGRequestListenEventAccess instead of Accessibility, run inside the sandbox, and avoid every rejection-bait API. v0.2 will be signed and notarised.
Q · 06

Is it really MIT?

+
The code, yes. Sound packs are sampled from kbsim (also MIT). Fonts are SIL Open Font. You can fork it, you can ship it, you can sell a rebrand. Attribution in your About panel is the only ask.
~/keyson

> final prompt

Make your keyboard feel
like it costs $400.

Star on GitHub