在 Mac OS X 中通过命令行重新映射键

Mar*_*ros 11 terminal remapping command-line macos

我正在尝试编写一个脚本来复制我的 OS X 设置。特别是我想将箭头键重新映射到CMD+ HJKL

该技术似乎类似于此Linux 解决方案,不同之处在于要修改的密钥文件位于/usr/X11/share/X11/xkb/symbols/us. 不过,它并没有真正按预期工作,似乎正在映射选项键。

如何通过 OS X 中的命令行重新映射键?

Dan*_*eck 4

应用程序特定的键盘快捷键(例如系统偏好设置中的键盘快捷键)存储在/Users/username/Library/Preferences/顶级键中相应应用程序的首选项文件中NSUserKeyEquivalents

可以使用命令行上的/usr/libexec/PlistBuddy和程序来读取和写入这些文件。defaults

$ defaults read com.apple.Automator NSUserKeyEquivalents
{
    "Hide Library" = "@$l";
    "Show Library" = "@$l";
}
$ defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "About Terminal" '^@$a'
Run Code Online (Sandbox Code Playgroud)

符号及其含义:

  • @Command
  • $Shift
  • ^Control
  • ~Option

此外,您只需将这些文件复制到其他计算机即可保留您的用户首选项。

  • 如今,在 Mojave 中,人们可以在“键盘”首选项窗格中更改修饰键。但我不知道如何从命令行执行此操作。有人知道吗? (2认同)