Keyboard 以编程方式将键盘快捷键添加到Mac系统首选项

Keyboard 以编程方式将键盘快捷键添加到Mac系统首选项,keyboard,applescript,macos,Keyboard,Applescript,Macos,如果我转到系统首选项、键盘、键盘快捷键,然后是应用程序快捷键,我可以定义要在Mac上使用的自定义快捷键 通过Applescript?系统首选项访问此功能的任何方式都无法通过Applescript本机编写脚本,您必须通过与它交互。GUI脚本实际上是一种最后的手段,它允许您通过显式声明和调用控件来与控件进行交互,而且不需要花费太多时间就可以摆脱GUI脚本。即使是有经验的Applescript程序员也很难实现。你可以在网上找到一些,但其他的就不多了。Mac操作系统的内部结构很快就成为一门失传的艺术。在

如果我转到系统首选项、键盘、键盘快捷键,然后是应用程序快捷键,我可以定义要在Mac上使用的自定义快捷键


通过Applescript?

系统首选项访问此功能的任何方式都无法通过Applescript本机编写脚本,您必须通过与它交互。GUI脚本实际上是一种最后的手段,它允许您通过显式声明和调用控件来与控件进行交互,而且不需要花费太多时间就可以摆脱GUI脚本。即使是有经验的Applescript程序员也很难实现。你可以在网上找到一些,但其他的就不多了。

Mac操作系统的内部结构很快就成为一门失传的艺术。在shell中运行以下命令,或在Applescript中通过shell运行:

defaults write com.google.Chrome NSUserKeyEquivalents '{ "Search the Web…" = "@k"; }'

快捷方式存储在~/Library/Preferences/.GlobalPreferences.plist中的NSUserKeyEquivalents字典和应用程序的属性列表中

defaults write -g NSUserKeyEquivalents -dict-add Duplicate '~@d' Minimize '\0'
defaults write com.apple.finder NSUserKeyEquivalents '{"Show Package Contents"="@\r";}'

文章中介绍了快捷方式格式。

系统首选项确实有一个基本字典,但如果没有系统事件,则无法修改单个首选项。不过,许多首选项(如应用程序快捷方式)可以在属性列表中编辑。@Lri:True,但正如您所指出的,“……在没有系统事件的情况下,您无法修改个人首选项。”这样一来,苹果就不必费心了。