CapsLangSwitcher

macos · menu-bar · caps lock · zero-delay input switch

Tap Caps Lock, switch languages — instantly. No macOS hotkey-disambiguation delay, ever.

⬇︎  Download for macOS View on GitHub

macos 12+ · apple notarized · free & open source · pure swift

How it works

1

Caps Lock is remapped to F18 via hidutil — below the firmware caps-lock delay, so it fires the instant you press it

2

A CGEventTap catches the F18 key-down at the HID level and swallows it

3

The app calls macOS's Text Input Source API directly, in-process — your input source switches on the spot

Why CapsLangSwitcher

⌨️

Zero-Delay Switching

Remaps Caps Lock to F18 at the HID level, beating both the OS hotkey delay and the firmware caps-lock activation delay.

🔒

Real Caps Lock Repurposed

The physical key is swallowed at the HID level — it never triggers actual caps lock while the app is running.

Signed & Notarized

Signed with a Developer ID and notarized by Apple — double-click to install, no security warnings.

🔁

Cycles Any Input Sources

Works with however many keyboard layouts you have enabled — not hardcoded to Thai/English.

📍

Lives in the Menu Bar

Shows your current input source at a glance. No Dock icon, no clutter.

Launch at Login

Optional toggle in the menu bar so the app starts automatically when you log in (macOS 13+).

🪶

Featherweight

Pure Swift. No Electron, no background daemons weighing your Mac down.

🛠️

Open Source

MIT licensed and small enough to read in one sitting — hack it to fit your own workflow.

🔄

Auto-Updates

Checks for new releases on launch and daily via Sparkle — no need to manually redownload.

Get started in 2 minutes

  1. Download the .dmg from Releases, open it, and drag CapsLangSwitcher into the Applications folder
  2. Launch it — it's signed and notarized, so no Gatekeeper warnings
  3. Optional: enable Launch at Login from the menu bar so it starts with your Mac
  4. Allow Accessibility access when prompted (System Settings → Privacy & Security → Accessibility) — the app then remaps Caps Lock automatically
  5. Turn off any existing Caps Lock shortcut in System Settings → Keyboard → Keyboard Shortcuts → Input Sources
  6. Tap Caps Lock and enjoy instant switching