喵喵守門員
偵測到貓踩鍵盤時自動鎖定輸入,保護你正在編輯的文件。
家裡有貓的人都知道 — 你離開電腦五秒,回來文件就被改成 aaaaaaaaaaaaaaa,
或者文章一半被 Backspace 吃掉。
喵喵守門員偵測到這種高速連續輸入時,會立刻鎖定輸入法、
跳出一個 slide-to-unlock 視窗,等你回來再解鎖。
偵測邏輯
兩個偵測器各管一種情境,門檻依敏感度而變,以下是預設的「平衡」:
- 踩過去 — 500 毫秒的滾動視窗內出現 15 次以上的鍵入, 換算是每秒 30 鍵以上。專業打字員全速大約每秒 8 到 10 鍵,不會有人持續打到這個速度。
- 坐下來 — 同一顆鍵連續自動重複超過 3 秒。 Backspace 與 Forward Delete 的引信較短,1.5 秒就鎖,因為刪掉的東西不一定救得回來。
方向鍵與 Home / End / Page Up / Down 永遠不進偵測器, 壓著捲動是正常行為,壓再久也不會弄壞內容。
鎖定時會發生什麼
- 螢幕中央彈出一個鎖定視窗,上面有「▸ 滑動以解鎖」按鈕
- 所有後續鍵盤事件被攔截 — 應用程式看不到任何輸入
- 持續按住的按鍵(例如貓壓著 Backspace)會被中斷(需要 Accessibility 權限,見下方)
- 使用者拖動滑桿到底解鎖,鍵盤輸入恢復正常
敏感度三檔
每個人的容忍度不同(家裡有暴走柯基的 vs 偶爾踩鍵盤的安靜貓)。 在偏好設定 → 基本設定 → 喵喵守門員 可調:
| 敏感度 | 觸發行為 | 適合誰 |
|---|---|---|
| 敏感 | 0.5 秒 10 鍵 / 壓住 1.5 秒 / Backspace 首次自動重複就鎖 | 家裡有特別愛踩鍵盤的寵物 |
| 平衡(預設) | 0.5 秒 15 鍵 / 壓住 3 秒 / Backspace 1.5 秒 | 大多數人 |
| 寬鬆 | 0.5 秒 25 鍵 / 壓住 5 秒 / Backspace 3 秒 | 常常自己快打、覺得「敏感」誤觸太多 |
輔助使用權限(完整保護需要)
macOS 預設情況下,輸入法只能過濾鍵盤事件 — 看到再決定要不要送出。 但如果貓壓住一個鍵不放(自動重複輸入),macOS 會直接把鍵盤事件送給應用程式, 輸入法根本沒機會攔。
要即時中斷持續按住的按鍵(例如貓壓住 Backspace 持續刪除), ZingIME 需要授予輔助使用(Accessibility)權限:
- 第一次開啟喵喵守門員時,會跳出提示問你要不要啟用完整保護 —— 按「打開系統設定」。
- (或隨時)在偏好設定 → 基本設定,找到「輔助使用權限」,按「開啟系統設定」。未授權時這裡會顯示 ⚠ 未授權。
- 在「系統設定 → 隱私權與安全性 → 輔助使用」清單裡,打開「晶晶輸入法」的開關。
- 回到偏好設定,「輔助使用權限」會變成 ✓ 已授權,完整保護就生效了。若狀態沒立刻更新,登出 macOS 再登入一次即可。
沒給權限會怎樣? 鎖定視窗還是會跳出,但持續按住的鍵會繼續輸入 直到貓自己鬆開。換句話說,鎖定機制仍在運作、但保護力受限。
狀態指示
選單列輸入法選單會顯示喵喵守門員當前狀態:
- 喵喵守門員 開啟 · 完整保護 — 偵測 + 中斷持續按鍵都能做
- 喵喵守門員 開啟 · 受限(無輔助使用) — 偵測能做、但無法中斷持續按鍵
- 喵喵守門員 關閉 — 完全停用
啟用 / 停用
兩個地方都可以切換:
- 選單列輸入法選單 → 喵喵守門員
- 第一次啟用 ZingIME 時的教學第 6 頁有勾選方塊可以選擇開啟
偏好設定 → 基本設定的「喵喵守門員」只調敏感度與查看輔助使用權限狀態,沒有開關。
為什麼這是輸入法的功能
輸入法本來就站在「鍵盤事件 → 文字輸出」這條路徑的中間, 技術上是最適合做這件事的地方。 寫成獨立應用程式反而需要更高的系統權限、可能會與其他輸入法衝突。 內建在 ZingIME 裡,能用就用、不用就關 — 沒有額外負擔。