Синхронизация сочетаний клавиш между компьютерами MacOS

13

У меня есть несколько пользовательских ярлыков, определенных с помощью Системных настроек> Клавиатура> Сочетания клавиш, и я хочу синхронизировать их между моими двумя компьютерами Mac.

Кажется, это все еще невозможно с помощью iCloud . Есть ли другие способы? Я думал о включении их в мои точечные файлы, но не могу найти ярлыки с помощью defaultsкоманды.

Nik
источник
1
Я добавляю награду к этому вопросу. Есть ли альтернативное решение? Могут ли сочетания клавиш синхронизироваться и синхронизироваться через Dropbox? Я предполагаю, что проблема в том, что на одном Mac могут быть пользовательские сочетания клавиш для приложения, которое не установлено на другом Mac ...?
Winterflags
4
Я не могу добавить это как ответ, поскольку это может быть снято. Если у вас возникли проблемы с содержимым Apple, я не уверен, почему, но он работает для меня между компьютерами Mac и даже iOS, не задумывались ли вы о переходе на стороннее решение, такое как Keyboard Maestro , которое можно настроить для использования Dropbox? синхронизировать между компьютерами? wiki.keyboardmaestro.com/Syncing_Macros_Between_Macs
jasonology
2
@ jasonology Я не вижу никакой причины, почему предлагать это как ответ было бы проблемой. На самом деле, я бы посоветовал вам сделать это! :)
Monomeeth
1
@jasonology Может ли KeyboardMaestro связывать пользовательские ярлыки для ранее не ярлыков в строке меню приложений? Т.е. как Системные настройки> Клавиатура> Сочетания клавиш> Сочетания клавиш приложений ? Это было бы святым Граалем для стороннего приложения, чтобы копировать параметры настройки системы imo. Я не знаю, что это возможно с BetterTouchTool (может быть, это?).
Winterflags
1
@ jasonology, спасибо за предложение. Я нажал на курок при покупке Keyb. Маэстро и он делает именно то, что я хочу, включая синхронизацию с БД. Интересно, почему ваш ответ удален, так как он лучше для меня. Winterflags, я перенес свои SysPref в Maestro один за другим, это не так сложно и стоит того.
SilverSideDown

Ответы:

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'

Глобальные ярлыки: по умолчанию пишите -g NSUserKeyEquivalents ' outputOfSourceMachine'

Wowfunhappy
источник
Эти команды странно работали для меня в новых версиях macOS, в частности в High Sierra и Mojave. Как ни странно, я имею в виду, что мне иногда приходится запускать команду несколько раз в новой системе, прежде чем они дадут эффект. Трудно выделить проблему, так как тестирование означает переустановку системы ...
Wowfunhappy