Mac 使用 Caps Lock 键切换输入法失灵问题解决
Mac 上的 Caps Lock 键在系统启用了多种输入法的情况下,除了切换大小写之外还承担着切换输入法的功能。理想情况下,轻按 Caps Lock 键会切换输入法,长按则会切换大小写。但是有时候这个功能会失灵,表现为轻按也会切换大小写。需要频繁切换输入法时这个问题很影响输入效率。在 V2EX 论坛了解到这个问题同样困扰着许多人:使用 caps lock 切换输入法偶尔失灵。
取消触发延迟
后来发现 macOS 默认给 Caps Lock 键设置了一个极低的触发延迟,因此快速点按 Caps Lock 键是不会被系统检测到的。这就导致了快速切换输入法时出现的失灵问题。可以通过下面的命令关闭触发延迟:
hidutil property --set '{"CapsLockDelayOverride":0}'
可以将命令写入 ~/.zshrc 实现登录自动设置。
参考:
How to Turn Off Caps Lock Delay in MacOS Without Compromising Key Repetition Speed | Apple Community
又学到了怎么消除 Mac 大写键切换输入法延迟 | 小红书
使用 Globe 键
我曾经使用过先将 Caps Lock 键映射为 ︎︎︎ 键,再将 ︎︎︎ 键的功能设置为 更改输入法 的方式来避免 Caps Lock 键意外切换大小写的问题。不过这种方法也会引入切换输入法提示弹窗的新问题:How do I disable language switch popup? | Ask Different
打开设置 > 键盘 > 键盘快捷键 > 修饰键,将 大写锁定 (⇪) 键 的操作改为 ︎︎地球仪键。
如果你使用蓝牙键盘,记得在最上方的 选择键盘 处选中你的蓝牙键盘然后再进行相同的更改。
接下来,在键盘设置中,将 按下︎︎键时 的操作改为 更改输入法。
最后,在文字输入(输入法)的编辑菜单中,关闭 使用大写锁定键切换 “ABC” 输入法 的选项。
现在,使用 Caps Lock 键时就再也不会意外切换大小写了。