> 方植贤 · Zhixian — 在这里学习、写作、慢慢创造。

zhixian · 本地会话

Zhixian 的空间

▾ 栏目

▸ 试试

[ OK ] 打开个人空间

[ OK ] 整理文字与作品入口

[ OK ] 准备好了,随时进入

就绪zhtty1访问 … 次~/zhixian-space
← 作品

~/zhixian-space/projects/safekeys

SafeKeys

擦键盘时,暂时锁住输入

一个 macOS 键盘清洁工具:临时拦截按键,保留鼠标和触控板操作。

项目记录中文
SafeKeys 应用图标:带锁的键帽
macOS 13+SafeKeys

清洁键盘时,暂时锁定输入。

Swift · SwiftUI · CGEventTap
SafeKeys 应用图标:带锁的键帽

The project details below are in Chinese.

想解决什么

清洁 Mac 键盘时,擦拭动作可能触发按键和快捷键。SafeKeys 希望在清洁期间暂停键盘输入,同时留出方便恢复的操作通道。

做了什么

  • 锁定期间拦截键盘事件,鼠标和触控板仍可使用。
  • 提供 30 秒、60 秒、90 秒、2 分钟及不限时选项,均受 10 分钟上限约束。
  • 支持按住按钮、键盘口令和倒计时等解锁方式。

使用方式

选择自动解锁时长和口令,点击“锁定键盘”后,浮层会显示剩余时间和解锁提示。

清洁结束后,可以按住解锁按钮 0.8 秒、按照提示输入口令,或等待倒计时结束。

实现与恢复设计

项目使用 Swift 和 SwiftUI,锁定时通过 CGEventTap 处理键盘事件;解锁时释放事件通道。

独立看门狗监测主线程心跳;系统睡眠、锁屏、用户切换或权限被撤销时,程序也会尝试解除锁定。

记录时的边界

需要辅助功能权限;Touch ID 与电源键不在拦截范围内。当前项目采用本地签名,尚未公证。