Synchronisieren Sie Tastaturkürzel zwischen MacOS-Computern

13

Ich habe einige benutzerdefinierte Verknüpfungen, die über Systemeinstellungen> Tastatur> Verknüpfungen definiert wurden, und möchte diese zwischen meinen beiden Macs synchronisieren.

Es scheint, dass dies mit iCloud immer noch nicht möglich ist . Gibt es noch andere Möglichkeiten? Ich habe darüber nachgedacht, sie in meine Punktedateien aufzunehmen, kann aber die Verknüpfungen mit dem defaultsBefehl nicht finden .

nik
quelle
1
Ich füge dieser Frage ein Kopfgeld hinzu. Gibt es eine alternative Lösung? Können die Tastaturkürzel über Dropbox miteinander verknüpft und synchronisiert werden? Ich denke, das Problem wäre dann, dass ein Mac möglicherweise benutzerdefinierte App-Tastaturkürzel für eine App hat, die nicht auf dem anderen Mac installiert ist ...?
Winterflags
4
Ich kann dies nicht als Antwort hinzufügen, da es möglicherweise entfernt wird. Wenn Sie Probleme mit Apple haben, bin ich mir nicht sicher, warum, aber es funktioniert für mich zwischen Macs und sogar iOS-Geräten. Haben Sie überlegt, auf eine Drittanbieterlösung wie Keyboard Maestro umzusteigen , die für die Verwendung von Dropbox eingerichtet werden kann? zwischen Computern synchronisieren? wiki.keyboardmaestro.com/Syncing_Macros_Between_Macs
Jasonology
2
@jasonology Ich kann keinen Grund erkennen, warum es ein Problem wäre , dies als Antwort anzubieten . In der Tat würde ich Sie ermutigen, genau das zu tun! :)
Monomeeth
1
@jasonology Kann KeyboardMaestro benutzerdefinierte Verknüpfungen für zuvor nicht verknüpfte Elemente in der Menüleiste der Anwendung binden? Dh als Systemeinstellungen> Tastatur> Verknüpfungen> App-Verknüpfungen ? Das wäre der heilige Gral für eine Drittanbieter-App, um die Systemeinstellungen imo zu replizieren. Ich weiß nicht, dass es mit BetterTouchTool möglich ist (vielleicht ist es das?).
Winterflags
1
@ Jasonology, danke für den Vorschlag. Ich drückte den Abzug beim Kauf von Keyb. Maestro und es macht genau das, was ich will, einschließlich DB-Synchronisierung. Ich frage mich, warum Ihre Antwort entfernt wird, da es für mich am besten ist. Winterflags, ich habe meine SysPref nacheinander nach Maestro migriert, es ist nicht so schwer und es lohnt sich.
SilverSideDown

Antworten:

6

Da Sie Punktdateien verwenden und wissen, welche Verknüpfungen Sie im Voraus erstellen möchten, können Sie diese allen Computern hinzufügen, indem Sie defaults writeIhrem Setup-Skript die folgenden Befehle hinzufügen :

Verknüpfungen pro App : com.developer.appStandardmäßig wird NSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut" geschrieben.

Globale Verknüpfungen : Standardeinstellungen schreiben -g NSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut"

... wo com.developer.appist die Bundle - ID der Anwendung, und keyboardShortcutist die Buchstaben der Tasten Sie einschließen möchten, sowie die Symbole @, $, ~und ^repräsentiert den Befehl, Umschalt, Alt und Tasten Kontrolle sind. Zum Beispiel -string "@~K"würde die Tastenkombination darstellen K.


Wenn Sie vorhandene Verknüpfungen synchronisieren müssen, müssen Sie ein komplizierteres Skript erstellen. Ich stelle mir vor, dies würde das Lesen oder Vergleichen von Verknüpfungen auf einem Quellcomputer beinhalten über:

Verknüpfungen pro App : com.developer.appStandardmäßig wird NSUserKeyEquivalents gelesen

Globale Verknüpfungen : Standardmäßig lautet -g NSUserKeyEquivalents

... und schreiben sie auf eine Zielmaschine über:

Verknüpfungen pro App : com.developer.appStandardmäßig schreiben NSUserKeyEquivalents ' outputOfSourceMachine'

Globale Verknüpfungen : Standardeinstellungen schreiben -g NSUserKeyEquivalents ' outputOfSourceMachine'

Wowfunhappy
quelle
Diese Befehle haben bei neueren MacOS-Versionen, insbesondere High Sierra und Mojave, seltsamerweise für mich funktioniert. Seltsamerweise meine ich, dass ich den Befehl manchmal mehrmals auf einem neuen System ausführen muss, bevor sie sich auswirken. Es ist schwierig, das Problem zu isolieren, da das Testen eine Neuinstallation des Systems bedeutet ...
Wowfunhappy