https://github.com/kamillobinski/thock
THOCK your mac keyboard
https://github.com/kamillobinski/thock
desktop keyboard keyboard-sounds macos sounds swift thock
Last synced: about 2 months ago
JSON representation
THOCK your mac keyboard
- Host: GitHub
- URL: https://github.com/kamillobinski/thock
- Owner: kamillobinski
- License: mit
- Created: 2025-03-07T01:26:43.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2026-01-15T20:28:10.000Z (about 2 months ago)
- Last Synced: 2026-01-17T05:09:53.188Z (about 2 months ago)
- Topics: desktop, keyboard, keyboard-sounds, macos, sounds, swift, thock
- Language: Swift
- Homepage: https://discord.gg/sGVaUxgfJx
- Size: 50.1 MB
- Stars: 416
- Watchers: 3
- Forks: 19
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - kamillobinski/thock - THOCK your mac keyboard (Swift)
- stars - kamillobinski/thock - THOCK your mac keyboard (Swift)
README
Thock
A native macOS utility that adds sound effects to your keyboard.
Blazing fast, lightweight and runs in the menu bar.
Table of Contents
## About The Project

Thock is a high-performance utility designed to bring the tactile satisfaction of mechanical switches to your macOS workspace. Built natively in Swift, it bridges the gap between hardware feel and software execution with zero compromises on speed or privacy.
Started this project to challenge the status quo. While paid alternatives exist, Thock is built on the belief that the best tools should be open-source and community-driven. By focusing on a custom low-latency engine and deep system integration, Thock offers a professional-grade typing experience that stays out of your way and keeps your flow state intact.
## Features
Quick Overview (if you don't feel like scrolling today)
Feature
Description
Custom Engine
Native AudioQueue APIs achieving ultra-low latency for perfectly synced feedback.
Sound Library
Extensible JSON-based architecture to import or create custom switch profiles.
Smart Integration
Music awareness that automatically mutes audio during playback.
Advanced Control
Hands-on-keys management via Raycast extension and dedicated CLI.
Translation
Fully localized interface for English, 日本語, and 中文 users.

### Custom Engine
Features a custom audio engine built on native macOS AudioQueue APIs, achieving ultra-low latency that feels instantaneous. By bypassing standard high-level processing layers, we have eliminated perceptual lag to provide perfectly synced auditory feedback.
Whether you are a high-speed programmer or a creative writer, Thock ensures every keystroke is met with organic, realtime sound that keeps pace with your fastest workflow.

### Sound Library
Built to be an open platform. While the app comes pre-loaded with high-quality recordings, you aren't limited to the defaults.
With support for custom sound packs, you can easily import new switch profiles or create your own using a simple JSON structure. Whether you want the heavy 'thock' of a vintage board or a completely unique experimental soundscape, you can expand your library to suit your specific taste. Drop your folder into the directory and switch profiles instantly.

### Smart Integration
With music awareness, Thock intelligently manages your soundscape so you never have to manually toggle settings. By detecting active playback from apps like Spotify or Apple Music, it automatically mutes its typing sounds to let your music take priority.
As soon as the music stops, the app instantly resumes your mechanical feedback. It's a seamless, 'set-and-forget' feature designed for deep work sessions where your focus shifts between rhythm of your keys and the rhythm of your playlist.

### Advanced Control
Built for power users, Thock extends beyond the menu bar with its own Raycast Extension and a dedicated CLI. This integration allows you to toggle the audio engine and switch sound packs entirely via the command bar.
By exposing every core function to the system, Thock fits seamlessly into your automation workflows and productivity scripts. Whether you're using Raycast, Alfred, or the terminal, you have total control over your typing environment without ever lifting your hands.

### Translation
With localization, Thock bridges the gap between powerful functionality and effortless usability. The interface is fully translated into English, 日本語 (Japanese) and 中文 (Chinese), allowing users to navigate the ecosystem without language barriers.
Select your preferred language in the general settings to enjoy a workspace tailored to your needs.
## Getting Started
It's quick and easy. You can either download a prebuilt release or build it yourself if you prefer.
> [!WARNING]
> Thock requires macOS 13.5 Ventura or later.
### `A` Homebrew Cask Installation (recommended)
```sh
brew tap kamillobinski/thock
brew install --cask thock
```
or one command:
```sh
brew install --cask kamillobinski/thock/thock
```
B: Release Download
1. Go to the [latest release](https://github.com/kamillobinski/thock/releases/latest)
2. Download `Thock-x.y.z.zip`
3. Unpack the ZIP file
4. Move the app to your Applications folder for easy access
5. Open Thock
C: Build From Source
1. Clone the repository
```sh
git clone https://github.com/kamillobinski/thock.git
cd thock
```
2. Open in Xcode
```sh
open Thock.xcodeproj
```
3. Build and run the application
## License
Distributed under the MIT License. See `LICENSE` for more information.
## Contributing
Got an idea or want to improve something? Awesome!
Check out the [contributing guide](./docs/CONTRIBUTING.md) for everything you need to know.
## Acknowledgments
Thanks to the folks that helped make this project a reality!
**Community Contribution**
- [@Kaedeeeeeeeeee](https://github.com/Kaedeeeeeeeeee) - Developed the dynamic localization system and provided the initial Japanese & Chinese language support.
- [@distantorigin](https://github.com/distantorigin) - Fixed menu bar accessibility to ensure the app is fully responsive when using VoiceOver.
- [@SouhailBlmn](https://github.com/SouhailBlmn) - Volume persistence across output devices, global shortcut to toggle the app
- [@shailantani](https://github.com/shailantani) - Raycast extension ([source code](https://github.com/raycast/extensions/tree/main/extensions/thock))
- [@qalonbudker](https://github.com/qalonbudker) - Pitch variation for key sounds
- [@zenangst](https://github.com/zenangst) - Event handling, mode saving, perf improvements
- [@iamsoum](https://github.com/iamsoum) - Updated the sound pack conversion instructions for improved clarity and step-by-step guidance
[Swift-url]: https://img.shields.io/badge/swift-%23FA7343.svg?style=for-the-badge&logo=swift&logoColor=white