Görev Kontrolü kısayollarını komut satırından nasıl değiştirebilirim?


11

Bunu uzun zamandır anlamaya çalışıyorum. Oldukça tipik bir Mac OS sağlama komut dosyası var:

https://gist.github.com/ryanpcmcquen/b2e608311f286a4ab3e1

Bütün edilecek Görev kontrol kısayolları değiştirmek isterdiniz Ctrl+ Alt+ ...yerine Ctrl+ .... Örneğin, Görev Denetimi'ni etkinleştirmek için varsayılan: Ctrl+ Up. Geçerli kısayol kullandığım diğer programlarla çakıştığından bunu Ctrl+ Alt+ olarak değiştirmek istiyorum Up.

Zaten bunu nasıl yapacağımı bildiğimi unutmayın, ben System Preferences > Keyboard > Shortcutsbir komut dosyası, komut satırı çözümü arıyorum.

DÜZENLEME: @ user3439894 sayesinde tüm plist anahtarlarını olmasını istediğim şekilde değiştirmek için bir komut dosyası yaptım. Tek sorun, işe yaramıyor. :-(

Şimdiye kadar sahip olduğum şey:

#!/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

Bunun için bir çözüm buldunuz mu?
Nathan

@Nathan, hayır. Şimdi sadece varsayılanlarla yuvarlanıyorum.
ryanpcmcquen

Benzer bir sorunum vardı. Belki benim çözümümü deneyebilirsiniz: apple.stackexchange.com/questions/344494/…
Nathan

@Nathan, çözümünüz manuel müdahale gerektiriyor gibi görünüyor. Farklı kısayol tuşlarına sahip olmak için kullandığım diğer programların nasıl değiştirileceğini öğrendim. Hammerspoon FTW.
ryanpcmcquen

Komutun bu kısmı type = standard;aslında type = 'standard';alıntıları not etmelidir 'standard'. Bununla birlikte, bazen düzgün bir şekilde oluşturulmuş bir komut satırı ile bile, değişiklik komutun; killall -u $USER cfprefsd sonuna eklenmiş olsa bile etkili olmaz . Ayrıca bu kullanım durumunda dosyanın tam yolu gerekli değildir ve sadece örn. Ve komutun geri kalanı tüm gerekli olan şeydir. defaults .plistdefaults write com.apple.symbolichotkeys AppleSymbolicHotKeys ...
user3439894

Yanıtlar:


5

Umarım burada sunulan bilgiler doğrudan bir yanıt almanıza yardımcı olacaktır.

Görev Kontrolü için varsayılan klavye kısayolunu Kontrol-Yukarı Ok'tan Kontrol-Seçenek-Yukarı Ok olarak değiştirdiğinizde hangi dosyada hangi değişikliklerin değiştiğini söyleyebilirim. Dosyadaki "32" Sözlüğü'nün "değer" Sözlüğü ve "34" Sözlüğü'ndeki "parametreler" Dizisinin "Öğe 2 Numarası" dır /Users/$USER/Library/Preferences/com.apple.symbolichotkeys.plist.

Aşağıda , yukarıda tanımlanan koşullar altında yapılan değişikliklerle ilgili olarak dosya yapısının bir defaults readtemsili verilmiştir com.apple.symbolichotkeys.plist.

Kontrol Ok Varsayılanı ile Görev Kontrolü

{
    AppleSymbolicHotKeys =     {
        32 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2359296
                );
                type = standard;
            };
        };
        34 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2490368
                );
                type = standard;
            };
        };
    };
}

Görev Kontrolü, Kontrol-Seçenek-Yukarı Ok olarak değiştirildi

{
    AppleSymbolicHotKeys =     {
        32 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2883584
                );
                type = standard;
            };
        };
        34 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    3014656
                );
                type = standard;
            };
        };
    };
}

BÖCEK bölümünde defaultsadam sayfasında diyor ki:

Varsayılanlar çok karmaşık şekillerde yapılandırılabilir, bu da kullanıcının bu komutla girmesini zorlaştırır.

Ve bu mükemmel bir örnektir, çünkü defaultseğer yapılabilirse hedef değerleri hedef dizi öğelerine yazmak için kullanılan çok karmaşık bir komut satırı olacaktır . Sadece bir FYI ... Bir defaults write com.apple.symbolichotkeys ...komut yapmaya çalışacaksanız, önce hedef dosyayı yedeklediğinizden emin olun.

Diğer seçenek, Sistem Tercihleri ​​GUI'sinde gezinerek ayarları değiştirmek için bir AppleScript kullanmaktır ve bu da, burada hedefin olmadığı bir üst düzey nesne ayarlamakla karşılaştırıldığında biraz karmaşık olacaktır. Ben ancak otomatik bir şekilde gerekirse o zaman anlıyorum ancak ben her iki yöntem, anlamaya zamanım yok üzgünüm emin değilim.

En azından şimdi nerede ve hangi değişiklikleri değiştirdiğini biliyorsunuz ya kendi başınıza anlayabilir veya bu biraz daha fazla bilmek için ek yardım alabilirsiniz.

İşte com.apple.symbolichotkeys.plistdosyanın Xcode'unda kırpılmış bir görüntü .

resim açıklamasını buraya girin

BTW Dosya sistemi değişikliklerini kaydeden bir üçüncü taraf yardımcı programını kullanarak değişiklikleri hapsettim ve daha sonra bu bilgileri sağlamak için bu bilgileri daha insan tarafından okunabilir bir çıktıya dönüştürdüm.


Uygun plist dosyalarını değiştiriyor gibi görünüyor, tek sorun, kısayollar aslında yeniden değil, dosyayı yeniden okuduktan sonra değil, değişmiyor.
ryanpcmcquen

Bu "dosya sistemi değişikliklerini kaydeden ve daha sonra bu bilgileri daha okunabilir bir çıktıya dönüştüren üçüncü taraf yardımcı programının adı nedir?"
Allen Bargi

1
@Allen Bargi, IIRC Muhtemelen sistemimdeki bir çalıştırılabilir dosyaya derlediğim kaynak kodufilemon biçiminde "Mac OS X Internals - The Apple's Core" kitabındaki Ekstraların bir parçasıydı . Daha sonra, mevcut durumunun değiştirilmiş dosyasındaki değişikliklerden hemen önce yapılan bir Time Machine yedeklemesindeki dosyaya göre farklılıkları karşılaştırdım. Yerel fs_usage komutunu da kullanabilirsiniz . filemon.c
user3439894

@ryanpcmcquen bağlantı bozuldu
charlesreid1

@ charlesreid1, oh, işe yaramadı.
ryanpcmcquen

0

Bu benim tavsiyem: böyle bir özelleştirmeyi gerçekleştirmek için Karabiner gibi bir yardımcı program kullanın .

Bir geliştirici olarak, kişisel olarak büyüleyici ve doyurucu bir sorun bulduğumu söylemek istiyorum ve gerçekten sadece yazılım geliştiricilerinin ve bilgisayar korsanlarının gerçekten takdir edebileceği sahnelerin arkasında çirkin macOS'un daha çirkin, daha karanlık tarafını sergiliyor ...

Sorun yeterince basit: Sadece varsayılan tuş kombinasyonunu kendi bağlayıcıma yeniden eşlemek istiyorum.

Neden dünyada bu kadar zor / karmaşık? Bir çözüm bulup yayınlamayı düşünüyorum ... Bizi izlemeye devam edin.


Teşekkür ederim, ne bulduğunuzu görmeyi dört gözle bekliyorum. Ancak harici bir program indirmek, Mac'in standart arayüzleri aracılığıyla ayarlandığı sürece, hala yerleşik bir komut satırı çözümü bekliyorum.
ryanpcmcquen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.