LockIME logo

LockIME

A native macOS menu-bar app that keeps your keyboard input source locked — global, per-app, and per-URL.

releasebuildmacOS 14+Swift 6.0
GitHub

What is it?

What it is

A macOS menu‑bar app that locks the keyboard input source and immediately restores it whenever it changes, supporting global, per‑app, and per‑URL locking.

Why it exists

To provide a continuous re‑lock mechanism that keeps the desired input source active even when the user or another app tries to switch it, offering more control than simple switch‑only tools.

Who should use it

macOS users needing to lock input sources (e.g., developers, power users, multilingual users), those switching between apps/websites frequently

Who should avoid it

Users on macOS <14, those who don't require input source locking, users avoiding GPL-3.0 license

How it works

A quick walkthrough in plain English

How LockIME works

Step 1 of 3

You interact with it

Open LockIME, send a request, or connect it to your stack.

Features

Instant re‑lock of the selected input source when it changes
Lock or one‑time switch per app or URL
Global or per‑app locking
Per‑URL rules with domain, subdomain, keyword, regex matching and priority ordering
Menu‑bar control (activate/deactivate, switch source, view current source, activation count)
Configurable global keyboard shortcuts and per‑app shortcuts
Launch at login support
Light and dark mode with system‑native design
Live language switching (9 languages)
24‑hour activation log
Config backup/import via .lockime files with conflict review
Auto‑update via Sparkle (stable and beta channels)
Tiny download (<3 MB)
Core locking requires no system permissions; optional Accessibility for enhanced mode
Automation via lockime:// URL scheme with x‑callback‑url support
Per‑browser address‑bar rule support
Per‑app rules for lock or switch
Per‑URL rules for lock or switch
Per‑URL rules for priority ordering
Per‑app rules for lock or switch
Per‑URL rules for lock or switch
Per‑URL rules for lock or switch

Advantages

  • Free and open source (GPL‑3.0)
  • Supports macOS 14+ only, ensuring modern APIs
  • Very small download size (<3 MB)
  • Continuous re‑lock guarantees the source stays pinned
  • Allows both lock and one‑time switch per rule
  • Global and per‑app keyboard shortcuts
  • Menu‑bar control for quick status and changes
  • 24‑hour activation log for audit
  • Config backup/import with conflict review
  • Automation via URL scheme for scripts and Shortcuts
  • Live language switching without restart
  • No system permissions needed for core locking
  • Optional Accessibility for enhanced mode only
  • Sparkle auto‑update with stable and beta channels
  • Rich per‑URL matching options (subdomain, exact, keyword, regex)
  • Per‑app and per‑URL rules with priority ordering

Disadvantages

  • Requires macOS 14+ (no support for older macOS versions)
  • No built‑in on‑screen input hints like some alternatives
  • Per‑URL rules need Accessibility permission for enhanced mode
  • No universal binary – separate builds for Apple‑silicon and Intel
  • Limited to macOS only (no cross‑platform support)
  • Requires manual rule configuration for complex setups
  • No community‑driven plugin system
  • No built‑in support for custom input sources beyond system ones

Installation

FAQ

How do I install LockIME on my Mac?

You can install LockIME via Homebrew with `brew install --cask oomol-lab/tap/lockime` (the cask selects the correct build for your Mac’s architecture) or download the matching .dmg (`-arm64` for Apple silicon, `-x86_64` for Intel) from the latest release and run it. The app keeps itself up to date through Sparkle.

What macOS version and hardware does LockIME support?

LockIME requires macOS 14 or later and runs on both Apple silicon and Intel Macs; separate builds are provided for each architecture.

What is the difference between ‘lock’ and ‘switch’ modes in LockIME?

In lock mode, LockIME continuously reapplies the chosen input source the moment it drifts away. In switch mode, it applies the source only once when you focus the app or page, then steps aside and lets you change the input source freely.

How do per‑URL rules work and what matching options are available?

Per‑URL rules (available in enhanced mode) match by a domain and its subdomains, an exact domain, a domain keyword, or a regular expression over the full URL. Rules are evaluated in the priority order you drag to arrange; the first match wins.

Can I automate LockIME from scripts or Shortcuts?

Yes. LockIME exposes a `lockime://` URL scheme with x‑callback‑url support. Enable it in Settings ▸ General ▸ Automation, then use URLs like `open "lockime://lock"`, `open "lockime://lock-to-source?id=com.apple.keylayout.ABC"`, or `open "lockime://set-app-rule?bundle=com.apple.Terminal&mode=lock&source=com.apple.keylayout.ABC"` to control the app.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for LockIME

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
LockIME | MushyBook