Skip to content

Repository files navigation

LockInput

默认语言:简体中文

其他语言: English | Français | Deutsch | 日本語

LockInput 是一个轻量级 macOS 菜单栏应用,用于锁定当前输入法,减少在写作、编程或跨应用切换时误触切换输入法的问题。

功能

  • 锁定当前输入法,并在输入法被系统或应用切走后自动切回
  • 锁定中文等输入法时,允许用 Caps Lock 临时切到 ABC/ASCII 英文输入
  • 在菜单栏运行,不显示 Dock 图标
  • 左键打开输入法列表,右键打开快速菜单
  • 支持 English、简体中文、Français、Deutsch、日本語
  • 支持开机启动设置(需要 macOS 13.0 或更高版本)

系统要求

  • macOS 12.0 Monterey 或更高版本
  • 开机启动功能需要 macOS 13.0 或更高版本

安装

推荐从 GitHub Release 安装:

  1. 打开 Releases 页面。
  2. 下载最新的 LockInput-1.0.dmg
  3. 打开 DMG,把 lockinput.app 拖到 Applications 文件夹。
  4. Applications 启动 LockInput。

当前发布包未经过 Apple 公证。如果 macOS 首次启动时提示无法打开,请在“系统设置 > 隐私与安全性”中允许打开,或按住 Control 点击应用后选择“打开”。

使用

  • 左键点击菜单栏锁图标:打开主面板
  • 右键点击菜单栏锁图标:打开快速操作菜单
  • 点击列表中的输入法:切换到该输入法并锁定
  • 点击“锁定 / 解锁”:锁定当前输入法或解除锁定
  • 锁定中文输入法时,按 Caps Lock 可临时切到 ABC/ASCII 英文输入;再次切回锁定输入法后仍保持锁定
  • 在底部语言菜单中切换界面语言
  • 打开“开机启动”后,应用会在登录时自动启动(macOS 13.0+)

从源码运行

git clone https://github.com/bigccc/inputlock.git
cd inputlock
open lockinput.xcodeproj

在 Xcode 中选择 lockinput scheme 后运行。

构建发布包

如果 xcodebuild 当前指向 Command Line Tools,需要切换到完整 Xcode:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

构建 Release app:

xcodebuild -project lockinput.xcodeproj \
           -scheme lockinput \
           -configuration Release \
           -derivedDataPath build \
           clean build

生成 DMG:

./scripts/create-dmg.sh

生成的文件为:

LockInput-1.0.dmg

项目结构

lockinput/
├── lockinputApp.swift        # 应用入口与菜单栏
├── ContentView.swift         # 主面板 UI
├── InputMethodManager.swift  # 输入法读取、切换和锁定逻辑
├── InputSourceLockState.swift # 锁定状态模型
├── LanguageManager.swift     # 运行时语言切换
├── Info.plist                # 应用元数据
├── Assets.xcassets/          # 图标和资源
└── Resources/
    ├── en.lproj/             # English
    ├── zh-Hans.lproj/        # 简体中文
    ├── fr.lproj/             # Français
    ├── de.lproj/             # Deutsch
    └── ja.lproj/             # 日本語

本地化

新增语言时:

  1. lockinput/Resources/ 下创建新的 .lproj 目录。
  2. 复制现有 Localizable.strings 并翻译。
  3. lockinput.xcodeproj/project.pbxprojknownRegions 中加入语言代码。
  4. LanguageManager.swiftAppLanguage 中加入对应枚举值。

许可证

当前仓库尚未包含单独的 LICENSE 文件。

About

一款简洁的 macOS 状态栏工具,一键锁定输入法,告别误切换烦恼。A minimal macOS menu bar app that locks your input method to prevent accidental switching.

Resources

Stars

14 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages