A lightweight macOS menu bar app to lock your input method and prevent accidental switching.
一个轻量级的 macOS 状态栏应用,用于锁定输入法,防止意外切换。
- Lock Input Method - Lock to your preferred input method, prevent accidental switching
- Menu Bar App - Lives in the menu bar, no dock icon
- Multi-language Support - English, 简体中文, Français, Deutsch, 日本語
- Launch at Login - Optional auto-start when you log in
- Simple & Clean UI - Minimal and intuitive interface
| Unlocked | Locked |
|---|---|
| 🔓 | 🔒 |
- macOS 26.0 or later
-
Clone the repository
git clone https://github.com/yourusername/lockinput.git cd lockinput -
Open in Xcode
open lockinput.xcodeproj
-
Build and run (
Cmd + R)
Download the latest release from Releases page.
- Left-click menu bar icon - Open the main panel
- Right-click menu bar icon - Quick actions menu
- Click an input method in the list - Switch and lock to that input method
- Lock/Unlock button - Toggle lock status
- Language - Choose interface language or follow system
- Launch at Login - Enable/disable auto-start
# Switch to Xcode (if needed)
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
# Build Release version
xcodebuild -project lockinput.xcodeproj \
-scheme lockinput \
-configuration Release \
-derivedDataPath build \
clean build
# Find the app at: build/Build/Products/Release/lockinput.applockinput/
├── lockinputApp.swift # App entry point & menu bar setup
├── ContentView.swift # Main UI
├── InputMethodManager.swift # Input method control logic
├── LanguageManager.swift # Localization manager
├── Info.plist # App configuration
├── Assets.xcassets/ # App icons and assets
└── Resources/
├── en.lproj/ # English
├── zh-Hans.lproj/ # Simplified Chinese
├── fr.lproj/ # French
├── de.lproj/ # German
└── ja.lproj/ # Japanese
The app supports the following languages:
| Language | Code |
|---|---|
| English | en |
| 简体中文 | zh-Hans |
| Français | fr |
| Deutsch | de |
| 日本語 | ja |
To add a new language:
- Create a new
.lprojfolder inResources/ - Copy
Localizable.stringsfromen.lproj - Translate the strings
- Add the language code to
knownRegionsinproject.pbxproj - Add the language to
AppLanguageenum inLanguageManager.swift
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.