explaingit

counter-ltd/clonk

16SwiftAudience · generalComplexity · 2/5Setup · hard

TLDR

Clonk is a Mac menu bar app that adds realistic mechanical keyboard click sounds to every keystroke using on-device audio synthesis, with five switch voice modes, typing overlays, customizable profiles, and automatic sleep rules.

Mindmap

mindmap
  root((Clonk))
    Sound synthesis
      Five switch voices
      DSP no audio files
      Key randomization
      Custom audio import
    Typing overlays
      Full keyboard layout
      Minimal key display
      WPM counter
      Piano mode
    Profiles and rules
      Named profiles
      Sleep rules
      Battery mute
      App-based mute
    Privacy
      No keylogging
      No network activity
      Local only
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add satisfying mechanical keyboard click sounds to a MacBook's built-in keyboard without buying a physical mechanical keyboard.

USE CASE 2

Display a floating keyboard overlay that lights up keys as you type, or show your words-per-minute in real time.

USE CASE 3

Create named profiles for different contexts and set sleep rules that auto-mute during calendar events, specific hours, or when a chosen app is in front.

Tech stack

Swift

Getting it running

Difficulty · hard Time to first run · 1h+

Requires macOS 26 (Tahoe) and a local iUX dependency that must be cloned alongside the repo before building.

In plain English

Clonk is a free, open-source Mac app that makes every keystroke sound like a mechanical keyboard. It runs in the menu bar, listens for key presses and mouse clicks, and plays a click sound in response. The app ships with zero audio files. Every sound is generated on the spot using a technique called DSP (digital signal processing), which constructs a realistic thock from mathematical parameters rather than recordings. There are five sound voices to choose from, each modeled on a different type of mechanical switch. Clicky Blue is sharp and bright, Tactile Brown is a balanced everyday click, Linear Red is soft and smooth, Deep Thock is low and rounded, and Vintage Typewriter is loud and metallic. Wide keys like the spacebar and return key automatically get a slightly deeper sound. Each press is also subtly randomized so fast typing never sounds repetitive. You can also import a folder of your own audio files if you prefer real recordings over the synthesized sounds. On top of the sounds, Clonk includes optional floating overlays that visualize your typing. A full keyboard layout lights up as you press keys, a minimal overlay shows just the keys you are currently pressing, a words-per-minute counter tracks your typing speed, and a piano mode maps keys to musical notes. All overlays are transparent panels you can drag anywhere on screen without interrupting other apps. Profiles let you save complete configurations under a name and switch between them quickly. Sleep rules can automatically mute Clonk under specific conditions, such as when the laptop is on battery, during certain hours of the day, when a particular app is in front, or during calendar events. Privacy is straightforward: Clonk needs the macOS Accessibility permission to detect when a key is pressed, but it never reads, stores, or transmits what you type. All sound generation happens on the device. There is no network activity, no analytics, and no accounts. The app requires macOS 26 (Tahoe) and a local dependency called iUX that must be cloned alongside it before building.

Copy-paste prompts

Prompt 1
I'm building a macOS Swift app that plays sounds in response to key presses. Show me how Clonk uses DSP to synthesize a mechanical keyboard click without any audio sample files.
Prompt 2
Help me add a new switch voice to Clonk that models a tactile bump without an audible click, similar to a Cherry MX Clear switch.
Prompt 3
I want to contribute a new overlay mode to Clonk that shows a heatmap of the most frequently pressed keys. Walk me through where overlay rendering is handled in the codebase.
Open on GitHub → Explain another repo

← counter-ltd on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.