Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mach

mach Icon

MIT License Star this repo

Mechanical keyboard sounds for your Mac. mach is a lightweight macOS menu bar app that plays realistic typing sounds globally while you type.

Built with Swift and designed to be configurable, mach supports KeyZen-style per-key sound routing with both keydown and keyup sounds for an authentic mechanical keyboard experience.

Features

  • Native macOS Experience - Clean menu bar app with no Dock icon (LSUIElement)
  • Global Key Capture - Works across all apps via CGEventTap
  • Per-Key Sound Routing - Scancode-based mapping for down/up sounds
  • Sound Pack System - Configurable packs with sprite slicing or individual samples
  • Adjustable Volume - Control sound level from the menu bar
  • Launch at Login - Optional auto-start on macOS boot

Installation

Requirements: macOS 13+ (Ventura or later)

Homebrew (Recommended)

brew tap fauzanazz/mach
brew install --cask mach

Download Pre-built Release

Tip: For easier installation without Gatekeeper warnings, use Homebrew instead.

  1. Go to the Releases page
  2. Download mach.zip
  3. Extract and drag mach.app to /Applications
  4. First Launch: Right-click the app → Open → click Open on the warning dialog
  5. Grant Input Monitoring permission when prompted

Build from Source

git clone https://github.com/fauzanazz/mach.git
cd mach
scripts/build-app.sh
open mach.app

Permissions

mach requires Input Monitoring permission to capture global key events.

If key sounds do not play:

  1. Open System Settings → Privacy & Security → Input Monitoring
  2. Enable mach (or remove and re-add it)
  3. Quit and relaunch the app

Troubleshooting

Issue Solution
CGEvent.tapCreate FAILED Re-grant Input Monitoring permission, then relaunch
App runs but no sound Check enabled state and volume in menu bar; verify pack has valid assets
Debug logs tail -f ~/mach-debug.log

Documentation

Inspiration

The per-key sound routing approach is inspired by shivabhattacharjee/KeyZen.

License

MIT License - see LICENSE file for details.

About

Lightweight macOS menu bar app that plays realistic mechanical keyboard sounds as you type.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages