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

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

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

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

Ответы (1)

Поскольку вы используете точечные файлы, если вы заранее знаете, какие ярлыки вы хотите создать, вы можете добавить их на все машины, добавив следующие defaults writeкоманды в свой сценарий установки:

Ярлыки для каждого приложения : по умолчанию пишут com.developer.appNSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut"

Глобальные ярлыки: по умолчанию write -g NSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut"

... где com.developer.app— идентификатор пакета приложения, а keyboardShortcut— буквы клавиш, которые вы хотите включить, а также символы @, $, ~и ^представляющие клавиши Command, Shift, Alt и Control соответственно. Например, -string "@~K"будет представлять сочетание клавиш K.


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

Ярлыки для каждого приложения : по умолчанию читаются com.developer.appNSUserKeyEquivalents

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

...и запись их на целевую машину через:

Ярлыки для каждого приложения : по умолчанию пишут com.developer.appNSUserKeyEquivalents ' outputOfSourceMachine'

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