🎹 Key Sound Pro
Satisfying keyboard sounds as you write code in VS Code

Features
- 4 sound themes — Mechanical, Typewriter, Bubble, Soft
- Per-event sounds — distinct sounds for typing, Enter, Backspace/Delete, Save (Ctrl+S), and Paste
- Terminal sounds — plays a sound when you execute a command in the integrated terminal (shell integration)
- Live equalizer — animated waveform reacts to every keystroke in real time
- Session stats — tracks keys typed, lines added, deletes, and saves
- Works everywhere in VS Code — code editors, rename inputs, search boxes, git commit messages
Getting Started
Install the extension from a .vsix file:
- Open the Extensions sidebar (
Ctrl+Shift+X)
- Click
··· → Install from VSIX…
- Select
key-sound-1.0.0.vsix
The Key Sound panel opens automatically in the Activity Bar on first launch.
Click "🎹 Key Sound" in the Activity Bar any time to open the settings panel.
Audio activation: On first open, the panel audio engine starts automatically. If you see the yellow "audio inactive" warning, click the pill once to activate.
Settings Panel
Click the 🎹 icon in the Activity Bar to access:
| Control |
Description |
| Status pill |
Green = audio active, Yellow = click to activate |
| Sounds enabled toggle |
Master on/off switch |
| Live Activity waveform |
Animated equaliser showing real-time activity |
| Sound Theme cards |
Mechanical / Typewriter / Bubble / Soft |
| Volume slider |
0–100% |
| Save sound toggle |
Chime on Ctrl+S |
| Paste sound toggle |
Burst of clicks on paste / AI completion |
| Terminal sound toggle |
Sound on command execution in the integrated terminal (requires shell integration) |
| Session Stats |
Keys / Lines / Deletes / Saves counter |
Commands
Open with Ctrl+Shift+P:
| Command |
Action |
Key Sound: Toggle On/Off |
Enable / disable all sounds |
Key Sound: Change Sound Theme |
Pick a theme via quick pick |
The status bar item (🔊 Keys / 🔇 Keys) also toggles sounds on click.
Sound Themes
| Theme |
Icon |
Feel |
| Mechanical |
⌨️ |
Crisp, punchy clicks like a mechanical keyboard |
| Typewriter |
📜 |
Classic clack-clack with carriage return swoosh |
| Bubble |
🫧 |
Soft bubbly pops — easy on the ears |
| Soft |
🌙 |
Barely-there gentle taps for quiet environments |
Settings (settings.json)
{
"keySound.enabled": true,
"keySound.theme": "mechanical",
"keySound.volume": 0.5,
"keySound.playSaveSound": true,
"keySound.playPasteSound": true,
"keySound.playTerminalSound": true
}
How It Works
All audio synthesis happens inside a VS Code Webview using the built-in Web Audio API — no sound files, no native binaries. This means it works seamlessly across:
- WSL / Remote SSH / Dev Containers
- Windows, Linux, and macOS
The extension hooks into:
- The VS Code
type command (one event per keystroke in editors)
onDidChangeTextDocument (deletions, pastes, AI completions)
onDidSaveTextDocument (save chime)
window.onDidStartTerminalShellExecution (fires on Enter/command execution in the terminal)
Terminal note: VS Code's onDidWriteTerminalData is a permanently-proposed API and cannot be used by installed extensions. Terminal sounds therefore fire on command execution rather than per-keystroke. Shell integration must be active in the terminal (enabled by default for bash, zsh, fish, PowerShell).
General note: Copilot Chat and other webview panels (browser preview, etc.) are sandboxed by VS Code and cannot be intercepted by any extension.
License
MIT © k11e3r — published by yna