← Notes

Mechanical keyboard sound on any keyboard

You can have the sound of a good mechanical board without buying one — but most apps that do this ask for permission to read every key you press. There is a way that does not.

A MacBook keyboard is quiet, shallow and perfectly good to type on. What it is not is satisfying. A well-built mechanical board gives you a sound with weight to it, and a lot of people find that the difference between typing and wanting to type.

Buying one costs somewhere between a modest and an alarming amount of money, needs desk space, and does nothing for you on a train. Software that plays the sound is the obvious shortcut — and it comes with a problem most people do not think about until they read the permission dialog.

The permission problem

To play a sound when you press a key, an app has to know you pressed a key. On macOS, the usual way to learn that is to ask for Input Monitoring or Accessibility access.

Both of those grant far more than "something was pressed". They let an app observe keyboard events including which keys, which means the characters you type — in any application, including your password manager, your bank's website and your private messages.

That is not a hypothetical concern. It is the same capability a keylogger needs. The overwhelming majority of typing-sound apps ask for it, most of them are honest, and you have no practical way of telling which are.

So the question worth asking of any app in this category is not "does it sound good" but "what exactly does it receive?"

What macOS will tell an app without that permission

More than you would expect. The system can report that a key-down or key-up event occurred — a count — without disclosing which key it was. That is enough to trigger a sound and nothing else. No characters, no key identities, no sequence.

If an app only needs to make a noise, count-only events are sufficient. Anything asking for more is asking for more than the job requires.

There is one visible consequence of working this way, and it is a reasonable trade: because the app does not know which key you hit, it cannot play a different sound for the spacebar than for a letter, and it cannot react to modifier-only presses or key autorepeat. The sound is uniform. In practice this is close to inaudible as a limitation and completely audible as a reassurance.

Choosing a sound that you can live with

Three practical notes from using these things for real work:

Volume matters more than the pack. The most common mistake is setting it at a level that is pleasant for ten minutes and grating by the afternoon. Start quieter than feels right.

Check it against your microphone before a call. Your laptop mic will pick up system audio in some configurations, and even when it does not, an external mic near a speaker will. The polite default is to switch the sound off for calls — some apps let you bind that to a Shortcut so it is one keystroke rather than a trip to settings.

Pick a pack with a short decay. Long, resonant samples smear together when you type quickly and turn into noise. Tight, dry samples stay legible at speed.

Rolling your own

The sound you actually want is often not in any bundled pack. If you own a board you like, record it: a phone microphone close to the keys, a few dozen presses, then cut the cleanest one or two into short samples. Trim the silence at the start aggressively — even 30ms of lead-in makes the sound feel late and disconnected from your finger.

Any tool worth using will let you import audio files you own as a local pack.

What ClackSmith does

ClackSmith is a menu bar app for Mac that does exactly this job and nothing else.

The part that matters for this article: it does not request Input Monitoring or Accessibility permission. It reads count-only key-down and key-up values — it never receives key identities, typed characters or keyboard event contents. It keeps no history of your keyboard activity, has no clipboard access, and carries no advertising or analytics. Modifier-only presses and key autorepeat do not trigger sounds, which is a direct consequence of working from counts rather than keystrokes.

Beyond that it is unremarkable in the way a utility should be: choose a bundled pack, set the volume and audio output, build your own packs from audio files you own, optionally launch at login, and adjust the volume through Shortcuts when a call starts. Imported packs stay on your Mac.

It is a one-time purchase on the Mac App Store.

Keep reading