如果习惯在 Mac 上使用 Caps Lock 来切换中英文输入法,可能偶尔会觉得“反应慢半拍”,或是按太快没反应。这其实是系统内置的一个小延迟(为了防止误触),但对于打字速度快的人来说反而很困扰。
macOS的操作手册中有更改键盘响应速度的选项
更改 Mac 键盘的响应速度
也可以通过内置的 终端 (Terminal) 输入一行命令就能解决。
hidutil property --set '{"CapsLockDelayOverride":0}'
输入完毕后,你可以立刻测试看看,Caps Lock 的切换反应应该会变得非常灵敏,不再有那种卡顿感。
小贴士:这个设置在重启电脑后可能会失效。如果之后觉得延迟感又回来了,重新执行一次命令即可;或者可以将这行命令加入你的开机启动项中。
hidutil 命令在开机时自动执行?有在使用 macOS 的朋友,可能遇过想用 hidutil 来修改键盘行为(例如取消 CapsLock 的延迟:hidutil property --set '{"CapsLockDelayOverride":0}' )。但这个命令在重启电脑后就会失效,每次都要重新打开终端输入真的很麻烦。
利用 macOS 内置的 launchd 服务,建立一个自启动任务文件(.plist),让你一劳永逸,开机自动生效!
打开 终端 (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的配置文件,用途就是告诉系统开机时在后台帮你运行这段命令。
接着,在终端输入以下命令来加载刚刚写好的文件(这样不用重启就能马上生效):
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