Repolode
oomol-lab

oomol-lab/LockIME

A native macOS menu-bar app that locks your keyboard input source globally, per app, or per browser URL.

Open-source alternative to:Input Source ProKeyboardHolder

Stars
614
Forks
24
Open issues
0
Last commit
last month

What is it?

LockIME keeps a chosen keyboard input source from changing. When you or another app switch input methods, it switches back to the locked one right away. Locking can apply globally, to individual apps based on the frontmost application, or, in the optional enhanced mode, to individual browser URLs.

Each per-app or per-URL rule can either lock an input source, re-applying it whenever it drifts, or switch to it once when you focus the app or page and then leave you free to change it. The global default can be locked, switched once, or left unmanaged. URL rules support domain-and-subdomain, exact domain, keyword, and regular expression matching, ordered by priority.

The app runs from the menu bar, supports configurable global shortcuts, keeps a 24-hour activation log, and can export and import rules as a .lockime file. It is distributed as separate Apple silicon and Intel builds, requires macOS 14 or later, and updates through Sparkle.

Key features

  • 01Switches the input source back immediately when it is changed, globally or per app.
  • 02Per-app and per-URL rules can either lock an input source or switch to it once.
  • 03URL rules support subdomain, exact, keyword, and regex matching with drag-to-reorder priority.
  • 04Configurable global shortcuts to toggle LockIME and cycle the locked input source.
  • 05Exports and imports rules as .lockime files with a review step before applying changes.
  • 06Includes a 24-hour activation log and a lockime:// URL scheme for automation.

Use cases

  • Keeping a English layout active in Terminal or code editors while chatting in a Chinese or Japanese input method.
  • Pinning a specific input source for a browser site such as a particular web app or domain.
  • Preventing a game or launcher that manages its own input method from changing your layout.

Quick start

  1. 1

    Install with Homebrew

    brew install --cask oomol-lab/tap/lockime
  2. 2

    Or download the .dmg matching your Mac from the latest release page

Things to know

  • macOS 14+ only; separate builds are needed for Apple silicon and Intel.
  • Per-URL and focused-field rules require Accessibility permission in enhanced mode.
  • Licensed under GPL-3.0, a copyleft license that constrains derivative works.

Topics

FAQ

What is LockIME?
A native macOS menu-bar app that locks your keyboard input source globally, per app, or per browser URL. LockIME keeps a chosen keyboard input source from changing. When you or another app switch input methods, it switches back to the locked one right away. Locking can apply globally, to individual apps based on the frontmost application, or, in the optional enhanced mode, to individual browser URLs.
Is LockIME free to use? What license does it have?
LockIME is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is LockIME still maintained?
Updated within 6 months. The last commit to LockIME was on Sep 18, 2026.
What can I use LockIME for?
Keeping a English layout active in Terminal or code editors while chatting in a Chinese or Japanese input method. Pinning a specific input source for a browser site such as a particular web app or domain. Preventing a game or launcher that manages its own input method from changing your layout.
How do I install LockIME?
Install with Homebrew: brew install --cask oomol-lab/tap/lockime Or download the .dmg matching your Mac from the latest release page
Where can I get LockIME?
The source code and installation instructions are on GitHub: https://github.com/oomol-lab/LockIME

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects