解決 Mac 大小寫鍵 (Caps Lock) 切換輸入法的延遲問題
如果你習慣在 Mac 上使用 Caps Lock 來切換中英文輸入法,可能偶爾會覺得「反應慢半拍」,或是按太快沒反應。這其實是系統內建的一個小延遲(為了防止誤觸),但對於打字速度快的人來說反而很困擾。
其實不需要安裝額外的軟體,只要透過內建的 終端機 (Terminal) 輸入一行指令就能解決。
操作步驟
按下
Command + Space搜尋 「終端機」 或 「Terminal」 並開啟它。將下方的指令完整複製並貼上,然後按下
Enter:
hidutil property --set '{"CapsLockDelayOverride":0}'
這樣就完成了!
輸入完畢後,你可以立刻測試看看,Caps Lock 的切換反應應該會變得非常靈敏,不再有那種卡頓感。
小撇步: 這個設定在重啟電腦後可能會失效。如果之後覺得延遲感又回來了,重新執行一次指令即可;或者可以將這行指令加入你的啟動排程中。
希望這個簡單的教學能幫到覺得打字不順暢的 Mac 使用者!
Mac 技巧:如何讓 hidutil 指令在開機時自動執行?
有在使用 macOS 的朋友,可能遇過想用 hidutil 來修改鍵盤行為(例如取消 CapsLock 的延遲:hidutil property --set '{"CapsLockDelayOverride":0}')。但這個指令在重開機後就會失效,每次都要重新打開終端機輸入真的很麻煩。
這篇文章將教你如何利用 macOS 內建的 launchd 服務,建立一個自動執行檔(.plist),讓你一勞永逸,開機自動生效!
詳細設定步驟
步驟 1:建立自動執行設定檔
打開你的 終端機 (Terminal),完整複製並貼上以下這整段指令,然後按下 Enter:
cat << EOF > ~/Library/LaunchAgents/com.user.capslockdelay.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.capslockdelay</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/hidutil</string>
<string>property</string>
<string>--set</string>
<string>{"CapsLockDelayOverride":0}</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
EOF
說明: 這段指令會在你的系統個人目錄中,建立一個名為 com.user.capslockdelay.plist 的設定檔,用途就是告訴系統開機時要背景幫你跑這段指令。
步驟 2:立刻啟用服務
接著,在終端機輸入以下指令來載入剛剛寫好的檔案(這樣不用重開機就能馬上生效):
launchctl load ~/Library/LaunchAgents/com.user.capslockdelay.plist
如何驗證是否成功?
如果你想確認系統到底有沒有吃進去這個設定,可以在終端機輸入:
hidutil property --get "CapsLockDelayOverride"
如果回傳的值顯示為 0,那就恭喜你大功告成啦!以後不管是重開機還是登出,系統都會自動搞定它。
補充:以後想恢復原狀怎麼辦?
如果哪天你更換了鍵盤,或者不需要這個自動功能了,只要打開終端機輸入以下這兩行指令,就能乾乾淨淨地將它移除:
launchctl unload ~/Library/LaunchAgents/com.user.capslockdelay.plist
rm ~/Library/LaunchAgents/com.user.capslockdelay.plist
◆資料來源: https://github.com/gkpln3/CapsLockNoDelay?tab=readme-ov-file
★安迪連碎碎念
專注於3C科技生活、美食旅遊與攝影的部落格,誠實心得,歡迎常來!
部落格: https://blog.andylain.com/
臉書粉絲團: https://www.facebook.com/Andyblogtw/
--