Sincronizza le scorciatoie da tastiera tra i computer macOS


13

Ho un paio di scorciatoie personalizzate definite usando Preferenze di Sistema> Tastiera> Scorciatoie e voglio sincronizzare quelle tra i miei due Mac.

Sembra che questo non sia ancora possibile usando iCloud . Ci sono altri modi? Ho pensato di includerli nei miei dotfile, ma non riesco a trovare le scorciatoie usando il defaultscomando.


1
Sto aggiungendo una generosità a questa domanda. C'è qualche soluzione alternativa? Le scorciatoie da tastiera possono essere collegate e sincronizzate tramite Dropbox? Immagino che il problema sarebbe che un Mac potrebbe avere scorciatoie da tastiera personalizzate per un'app che non è installata sull'altro Mac ...?
— Winterflags,

4
Non posso aggiungere questo come risposta in quanto potrebbe essere rimosso. Se hai problemi con le cose di Apple, non sono sicuro del perché, ma funziona per me tra mac e persino dispositivi iOS, hai preso in considerazione l'idea di passare a una soluzione di terze parti come Keyboard Maestro , che può essere configurata per utilizzare Dropbox sincronizzare tra computer? wiki.keyboardmaestro.com/Syncing_Macros_Between_Macs
— jasonology

2
@jasonology Non vedo alcun motivo per cui offrirlo come risposta sarebbe un problema. In effetti, ti incoraggio a fare proprio questo! :)
— Monomeeth

1
@jasonology KeyboardMaestro può associare scorciatoie personalizzate per elementi precedentemente non abbreviati nella barra dei menu delle applicazioni? Vale a dire Preferenze di Sistema> Tastiera> Scorciatoie> Scorciatoie per app ? Sarebbe il Santo Graal per un'app di terze parti per replicare imo le opzioni di Preferenze di Sistema. Non so che è possibile con BetterTouchTool (forse lo è?).
— Winterflags il

1
@jasonology, grazie per il suggerimento. Ho premuto il grilletto per l'acquisto di Keyb. Maestro e sta facendo esattamente quello che voglio, inclusa la sincronizzazione del DB. Mi chiedo perché la tua risposta sia stata rimossa, poiché è la cosa migliore per me. Winterflags, ho migrato i miei SysPref sul Maestro uno per uno, non è così difficile e ne vale la pena.
— SilverSideDown

Risposte:


6

Dato che stai utilizzando i file dot, se sai quali scorciatoie vuoi creare in anticipo, puoi aggiungerle a tutte le macchine aggiungendo i seguenti defaults writecomandi allo script di installazione:

Scorciatoie per app : le impostazioni predefinite scrivono com.developer.appNSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut"

Scorciatoie globali : impostazioni predefinite scrivere -g NSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut"

... dove com.developer.appè ID pacchetto dell'applicazione, ed keyboardShortcutè le lettere dei tasti che si desidera includere, oltre i simboli @, $, ~e ^che rappresentano i, Maiusc, Alt chiavi, e Controllo di comando, rispettivamente. Ad esempio, -string "@~K"rappresenterebbe la scorciatoia da tastiera ⌘⌥K.


Se devi sincronizzare le scorciatoie esistenti, dovrai creare uno script più complicato. Immagino che ciò implicherebbe la lettura o il confronto di scorciatoie su una macchina sorgente tramite:

Scorciatoie per app : i valori predefiniti leggono com.developer.appNSUserKeyEquivalents

Scorciatoie globali : impostazioni predefinite leggere -g NSUserKeyEquivalents

... e scrivendoli su una macchina target tramite:

Scorciatoie per app : le impostazioni predefinite scrivono com.developer.appNSUserKeyEquivalents ' outputOfSourceMachine'

Scorciatoie globali : impostazioni predefinite scrivere -g NSUserKeyEquivalents ' outputOfSourceMachine'


Questi comandi hanno funzionato in modo strano per me su versioni macOS più recenti, in particolare High Sierra e Mojave. Stranamente, voglio dire che a volte devo eseguire il comando più volte su un nuovo sistema prima che abbiano effetto. Difficile isolare il problema poiché test significa reinstallare il sistema ...
— Wowfunhappy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.