Sinkronkan pintasan keyboard antara komputer macOS

13

Saya memiliki beberapa pintasan khusus yang ditentukan menggunakan Preferensi Sistem> Keyboard> Pintasan dan saya ingin menyinkronkannya di antara kedua Mac saya.

Sepertinya, ini masih tidak mungkin menggunakan iCloud . Apakah ada cara lain? Saya berpikir tentang memasukkan mereka ke dotfiles saya, tetapi tidak dapat menemukan pintasan menggunakan defaultsperintah.

nik
sumber
1
Saya menambahkan hadiah untuk pertanyaan ini. Apakah ada solusi alternatif? Bisakah pintasan keyboard disinkronkan dan disinkronkan melalui Dropbox? Saya kira masalahnya adalah apakah satu Mac mungkin memiliki pintasan keyboard aplikasi khusus untuk aplikasi yang tidak diinstal pada Mac lain ...?
Winterflags
4
Saya tidak dapat menambahkan ini sebagai jawaban karena dapat diturunkan. Jika Anda mengalami masalah dengan hal-hal Apple, saya tidak yakin mengapa tetapi itu berfungsi untuk saya di antara mac dan bahkan perangkat iOS, apakah Anda mempertimbangkan untuk pindah ke solusi pihak ketiga seperti Keyboard Maestro , yang dapat diatur untuk menggunakan Dropbox untuk menyinkronkan antara komputer? wiki.keyboardmaestro.com/Syncing_Macros_Between_Macs
jasonology
2
@jasonologi Saya tidak bisa melihat alasan mengapa menawarkan itu sebagai jawaban akan menjadi masalah. Bahkan, saya mendorong Anda untuk melakukan hal itu! :)
Monomeeth
1
@jasonologi Dapatkah KeyboardMaestro mengikat pintasan khusus untuk item yang sebelumnya tidak dipotong di bilah menu aplikasi? Yaitu sebagai Preferensi Sistem> Keyboard> Pintasan> Pintasan Aplikasi ? Itu akan menjadi cawan suci untuk aplikasi pihak ketiga untuk mereplikasi opsi Preferensi Sistem imo. Saya tidak tahu bahwa itu mungkin dengan BetterTouchTool (mungkin itu?).
Winterflags
1
@jasonology, terima kasih atas sarannya. Saya menarik pelatuk membeli Keyb. Maestro dan ia melakukan persis apa yang saya inginkan, termasuk sinkronisasi DB. Saya ingin tahu mengapa jawaban Anda dihapus, karena ini yang terbaik untuk saya. Winterflags, saya memindahkan yang SysPref saya ke Maestro satu per satu, tidak sulit, dan sepadan.
SilverSideDown

Jawaban:

6

Karena Anda menggunakan file dot, jika Anda tahu pintasan apa yang ingin Anda buat sebelumnya, Anda dapat menambahkannya ke semua mesin dengan menambahkan defaults writeperintah berikut ke skrip pengaturan:

Per Pintasan Aplikasi : tulis default com.developer.appNSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut"

Pintasan Global : default tulis -g NSUserKeyEquivalents -dict-add " Menu Item" -string " keyboardShortcut"

... di mana com.developer.appadalah ID bundel aplikasi, dan keyboardShortcutmerupakan huruf kunci yang ingin Anda sertakan, ditambah simbol @, $, ~, dan ^mewakili, Shift, Alt, dan Pengendalian Command, masing-masing. Misalnya, -string "@~K"akan mewakili pintasan keyboard K.


Jika Anda perlu menyinkronkan pintasan yang ada, Anda harus membuat skrip yang lebih rumit. Saya membayangkan ini akan melibatkan membaca atau membandingkan pintasan pada mesin sumber melalui:

Per Pintasan Aplikasi : default dibaca com.developer.appNSUserKeyEquivalents

Pintasan Global : defaultnya baca -g NSUserKeyEquivalents

... dan menulisnya ke mesin target melalui:

Per Pintasan Aplikasi : default tulis com.developer.appNSUserKeyEquivalents ' outputOfSourceMachine'

Pintasan Global : default tulis -g NSUserKeyEquivalents ' outputOfSourceMachine'

Wowfunhappy
sumber
Perintah-perintah ini telah bekerja aneh untuk saya pada versi macOS yang lebih baru, khususnya High Sierra dan Mojave. Anehnya, maksud saya kadang-kadang saya harus menjalankan perintah beberapa kali pada sistem baru sebelum mereka memiliki efek. Sulit mengisolasi masalah karena pengujian berarti menginstal ulang sistem ...
Wowfunhappy