macOS Caps Lock 延遲修正:CapsLockDelayOverride 指令與持久化提醒
這篇 Threads 是一個很實用的 macOS 小技巧:如果你用 Caps Lock 切換中英文,覺得按下去有延遲,可以在 Terminal 貼上這個指令:
sudo hidutil property --set '{"CapsLockDelayOverride":0}'
原文只有一句「所有 Mac 使用者都應該知道的指令,貼在終端機」,後續作者補充這個指令是用來處理 macOS 原廠 Caps Lock 預設延遲。留言也有不少人表示「原來是故意有延遲」「相遇恨晚」「一直打錯中英文」。
這個指令在做什麼
macOS 對 Caps Lock 有一個刻意設計的延遲,目的是避免誤觸。問題是,很多中文使用者會把 Caps Lock 當成中英文切換鍵,這個延遲就會變成輸入體驗上的摩擦:想打中文時還停在英文,想打英文時又慢半拍。
hidutil property --set 是 macOS 用來設定 HID 裝置屬性的工具。CapsLockDelayOverride: 0 的意思是把 Caps Lock 延遲覆蓋為 0,讓切換更即時。
何時值得用
適合:
- 用 Caps Lock 切換中英文。
- 常常覺得第一個字母或第一個中文字打錯。
- 明顯感覺 Caps Lock 切換慢半拍。
- 寫程式、寫中文文件、聊天頻繁切換中英。
不一定適合:
- 不用 Caps Lock 切換輸入法。
- 已經改用 Control + Space、Fn、地球鍵或其他快捷鍵。
- 完全感覺不到延遲。
留言裡也有人說自己沒感覺,這很正常。這個設定高度依賴個人輸入習慣,不是每台 Mac 都必改。
重開機後可能會失效
重要留言補充:這個設定重開機後可能會失效,因為 macOS 會回到預設值。作者後來也承認如果想要重開機自動啟用,需要另外設定。
比較穩的做法是建立 LaunchAgent,在登入時自動執行該指令。不過這牽涉到 sudo 權限與系統啟動項,建議只在確認自己需要這個設定後再做。對一般使用者,先手動執行測試幾天即可。
安全提醒:不要亂貼 Terminal 指令
這串留言裡有人開玩笑貼:
sudo rm -rf --no-preserve-root /
這是危險刪除指令,不要執行。macOS 不一定支援完全相同參數,但任何 sudo rm -rf / 類型指令都應該視為高風險。
這也提醒一件事:Threads 上看到「貼在終端機」的指令,不管多少人按讚,都要先理解它做什麼。尤其包含 sudo、rm -rf、curl | bash、修改系統設定、關閉安全機制的指令,一律要先查。
Raycast 補充
作者後續也推薦 Raycast,理由是可以自定義快捷鍵、內建比原廠好用的剪貼簿、Spotlight 替代、查匯率等。這和另一篇 Mac 工具清單互相呼應:Raycast 是 Mac 生產力工具裡最值得優先建立的 command palette。
我的判斷
這個 CapsLockDelayOverride 是很小但很有感的輸入法摩擦修正。它不會讓 Mac 變快,但會讓中英切換頻繁的人少犯很多「第一個字打錯」的錯。
我會把它列入 Mac 新機設定 checklist,但加兩個註記:
- 先手動跑,確定有感再做 LaunchAgent 持久化。
- 任何 Terminal 指令都先理解再貼,尤其看到留言區有人貼危險指令時更要警覺。