Saya telah mencoba mencari tahu ini sejak lama. Saya memiliki skrip penyediaan Mac OS yang sangat khas:
https://gist.github.com/ryanpcmcquen/b2e608311f286a4ab3e1
Saya ingin mengubah pintasan kontrol Misi menjadi Ctrl+ Alt+ ...alih-alih Ctrl+ .... Misalnya, standarnya adalah: Ctrl+ Upuntuk mengaktifkan Kontrol Misi. Saya ingin mengubahnya ke Ctrl+ Alt+ Up, karena pintasan saat ini bertentangan dengan program lain yang saya gunakan.
Perhatikan bahwa saya sudah mengetahui cara melakukan ini System Preferences > Keyboard > Shortcuts
, saya mencari solusi baris perintah skrip.
EDIT: Terima kasih kepada @ user3439894 Saya telah melaluinya dan membuat skrip untuk mengubah semua kunci plist menjadi apa yang saya inginkan. Satu-satunya masalah adalah, itu tidak berfungsi. :-(
Inilah yang saya miliki sejauh ini:
#!/bin/bash
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 32 "{enabled = 1; value = { parameters = (65535, 126, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 33 "{enabled = 1; value = { parameters = (65535, 125, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 34 "{enabled = 1; value = { parameters = (65535, 126, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 35 "{enabled = 1; value = { parameters = (65535, 125, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 79 "{enabled = 1; value = { parameters = (65535, 123, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 80 "{enabled = 1; value = { parameters = (65535, 123, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 81 "{enabled = 1; value = { parameters = (65535, 124, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 82 "{enabled = 1; value = { parameters = (65535, 124, 3014656); type = standard; }; }"
chown -Rf `whoami` ~/Library/Preferences/com.apple.symbolichotkeys.plist;
defaults read com.apple.symbolichotkeys
sumber
type = standard;
harus benar-benartype = 'standard';
diperhatikan tanda kutip di sekitar'standard'
. Meskipun demikian, kadang-kadang bahkan dengan baris perintah yang dibentuk dengan benar, perubahan itu tidak berlaku, bahkan dengan; killall -u $USER cfprefsd
ditambahkan ke akhirdefaults
perintah . Juga path lengkap ke.plist
file dalam kasus penggunaan ini tidak diperlukan dan hanya mis.defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys ...
Dan sisa perintah adalah semua yang diperlukan.Jawaban:
Ini bukan jawaban langsung walaupun saya harap informasi yang disajikan di sini akan membantu Anda mendapatkan jawaban langsung.
Saya dapat memberi tahu Anda apa yang berubah di file mana ketika Anda mengubah pintasan keyboard default untuk Kontrol Misi dari Control-Up Arrow ke Control-Option-Up Arrow. Ini adalah "Item 2 Number" dari "parameter" Array dalam "nilai" Kamus dari "32" Kamus dan "34" Kamus dari Kamus "AppleSymbolicHotKeys" di
/Users/$USER/Library/Preferences/com.apple.symbolichotkeys.plist
file.Berikut ini adalah
defaults read
representasi daricom.apple.symbolichotkeys.plist
struktur file yang berkaitan dengan perubahan yang dibuat dalam keadaan yang ditentukan di atas.Kontrol Misi dengan default Control-Up Arrow
Kontrol Misi berubah menjadi Control-Option-Up Arrow
Bagian BUGS dari
defaults
halaman manual mengatakan:Dan ini adalah contoh yang sempurna karena akan menjadi baris perintah yang sangat kompleks yang digunakan
defaults
untuk menulis nilai target ke elemen array target, jika itu bisa dilakukan. Hanya sebuah FYI ... Jika Anda akan mencoba melakukandefaults write com.apple.symbolichotkeys ...
perintah, pastikan Anda telah mencadangkan file target terlebih dahulu.Opsi lainnya adalah menggunakan AppleScript untuk mengubah pengaturan dengan menavigasi GUI Preferensi Sistem dan itu juga akan sedikit rumit dibandingkan dengan mengatur objek tingkat atas, yang targetnya di sini bukan. Saya bahkan tidak yakin itu bisa dilakukan, tetapi jika saya membutuhkan cara otomatis maka saya akan mencari tahu tetapi saya tidak punya waktu untuk mencari tahu metode mana pun, maaf.
Setidaknya Anda sekarang tahu apa yang berubah di mana dan dari sana Anda mungkin bisa mencari tahu sendiri atau mendapatkan bantuan tambahan dengan mengetahui ini sedikit lebih banyak.
Berikut gambar yang terpotong dalam Xcode
com.apple.symbolichotkeys.plist
file.BTW Saya menjebak perubahan menggunakan utilitas pihak ketiga yang mencatat perubahan sistem file dan kemudian mengubah informasi itu menjadi keluaran yang lebih dapat dibaca manusia untuk memberikan informasi ini.
sumber
filemon
adalah bagian dari Ekstra dari buku "Mac OS X Internal - To The Apple's Core" dalam bentuk kode sumberfilemon.c
yang saya kompilasi untuk dieksekusi pada sistem saya. Saya kemudian membandingkan perbedaan dalam file yang diubah dari kondisi saat ini terhadap file dari cadangan Time Machine yang dibuat tepat sebelum perubahan. Anda juga dapat menggunakan perintah fs_usage asli .Ini rekomendasi saya: gunakan utilitas seperti Karabiner untuk menyertai penyesuaian seperti itu.
Sebagai seorang pengembang, saya ingin mengatakan bahwa secara pribadi saya menganggapnya sebagai masalah yang menarik dan menggiurkan, dan itu benar-benar menampilkan sisi MacOS yang lebih buruk dan lebih gelap yang menyelinap di belakang layar yang hanya dapat dinikmati oleh pengembang perangkat lunak dan peretas yang benar-benar menghargai ...
Masalahnya cukup sederhana: Saya hanya ingin memetakan ulang kombinasi tombol default ke binding saya sendiri.
Mengapa begitu sulit / rumit? Saya bermaksud mencari dan memposting solusi ... Tetap disini.
sumber