在macOS计算机之间同步键盘快捷键


13

我有两个使用系统偏好设置>键盘>快捷方式定义的自定义快捷方式,我想在两台Mac之间进行同步。

看来,使用iCloud仍然不可能。还有其他方法吗?我曾考虑过将它们包含到我的点文件中,但无法使用defaults命令找到快捷方式。


1
我为这个问题增加了悬赏。是否有其他替代解决方案?键盘快捷键可以通过Dropbox进行符号链接和同步吗?我猜问题是一台Mac可能为另一台Mac上未安装的应用程序提供了自定义应用程序键盘快捷键...?
Winterflags '17

4
我无法将此添加为答案,因为它可能会被删除。如果您在使用Apple产品时遇到问题,我不确定为什么,但是它在Mac甚至iOS设备上都对我有用,您是否考虑过使用第三方解决方案,例如Keyboard Maestro,可以将其设置为使用Dropbox在计算机之间同步?wiki.keyboardmaestro.com/Syncing_Macros_Between_Macs
杰森学

2
@jasonology我看不出任何理由将其作为答案将是一个问题。实际上,我鼓励您这样做!:)
Monomeeth

1
@jasonology KeyboardMaestro可以在应用程序的菜单栏中为以前未快捷的项目绑定自定义快捷方式吗?即作为系统偏好设置>键盘>快捷方式>应用程序快捷方式?这将是第三方应用复制“系统偏好设置”选项imo的圣杯。我不知道可以使用BetterTouchTool(也许是吗?)。
Winterflags

1
@jasonology,谢谢您的建议。我扣动了购买Keyb的机会。Maestro,它正在完全满足我的要求,包括数据库同步。我想知道为什么您的答案被删除了,因为这对我来说是最好的。Winterflags,我将SysPref的一个一个地迁移到Maestro,这并不难,而且值得。
SilverSideDown

Answers:


6

由于使用的是点文件,因此,如果您知道要提前创建哪些快捷方式,则可以通过将以下defaults write命令添加到安装脚本中来将它们添加到所有计算机:

每个应用程序的快捷方式:默认写入com.developer.appNSUserKeyEquivalents -dict-add“ Menu Item” -string“ keyboardShortcut

全局快捷方式:默认写入-g NSUserKeyEquivalents -dict-add“ Menu Item” -string“ keyboardShortcut

...这里com.developer.app是应用程序的捆绑ID,并且keyboardShortcut是要包括按键的字母,加上符号@$~,和^代表的命令,Shift键,Alt键和控制键,分别。例如,-string "@~K"将代表键盘快捷键K


如果需要同步现有的快捷方式,则必须制作一个更复杂的脚本。我想这将涉及通过以下方式读取或比较源计算机上的快捷方式:

每个应用程序的快捷方式:默认读取为com.developer.appNSUserKeyEquivalents

全局快捷方式:默认为-g NSUserKeyEquivalents

...并通过以下方式将它们写入目标计算机:

每个应用程序的快捷方式:默认写com.developer.appNSUserKeyEquivalents' outputOfSourceMachine'

全局快捷方式:默认为write -g NSUserKeyEquivalents' outputOfSourceMachine'


这些命令在较新的macOS版本(特别是High Sierra和Mojave)上对我来说工作异常。奇怪的是,我的意思是有时我必须在新系统上多次运行该命令才能生效。由于测试意味着很难重新安装系统,因此很难找出问题所在
Wowfunhappy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.