使用 Vim/neovim 时我往往会把 caps lock 键重新映射到 esc 键(不然小拇指会断掉),但是如果每次都按照系统设置 -> 键盘 -> 键盘快捷键 -> 修饰键一路点下来的话一点也不 geek,所以我在终端中设置了快捷指令来完成这个操作。
设置方法#
在 .zshrc 设置 alias 的部分添加如下内容:
# Turn on key mapping
alias vmode="hidutil property --set '{\"UserKeyMapping\":[{\"HIDKeyboardModifierMappingSrc\":30064771129,\"HIDKeyboardModif
ierMappingDst\":30064771113}]}'"
# Turn off key mapping
alias nmode="hidutil property --set '{\"UserKeyMapping\":[]}'"
vmode 和 nmode 可以自定义,选自己喜欢的字母组合就可以啦!
2024.11.05 更新 :
升级到 macOS Sequoia 后要在
系统设置 -> 隐私与安全性 -> 输入监控里添加如下两项:添加 iTerm 比较简单,而要添加 hidutil 的话可以先在终端输入
whereis hidutil,这时候会出现 hidutil 所在的路径。一般来说应该是hidutil: /usr/bin/hidutil /usr/share/man/man1/hidutil.1然后点击 + ,用快捷键
⌘ + ⇧ + G打开 前往 窗口,输入/usr/bin/hidutil就可以啦!
说明#
- 命令中用到了
hidutil来更改键位,但这个工具在网上相关信息很少,只能找到 Developer 上的这篇 《Technical Note TN2450》。我主要参考了 《Using hidutil to map macOS keyboard keys》 来进行设置。如果有其他的改键需求,可以参考 Key Table Usages 来自己设置。 - 设置
alias时要注意单引号内的双引号前要添加\来转义。 - 这样设置当然不是为了显得 geek,是因为真的很方便!
