Mac OS X Lion'daki komut sekmesi uygulama değiştiricisini devre dışı bırakmak mümkün müdür?


Yanıtlar:


6

Komut-sekmesini KeyRemap4MacBook ile başka bir tuş kombinasyonuna eşleyebilirsiniz :

<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::F19</autogen>

Bu komut-sekmesini ve shift-komut-sekmesini devre dışı bırakır:

<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>

Teşekkürler, bu iyi bir ipucu. DefaultKeyBinding.dict aracılığıyla yeniden eşleştirmenin bir çıkma yolu olduğunu bilmek de iyidir. KeyRemap4MacBook
Sean Mackesey'i

1
Bu harika çalıştı, teşekkürler. Başkaları için net değilse, bu tanımları altındaki private.xmlkendi <item>etiketine eklemeniz gerekir <root>. Ardından, private.xmlyeni seçeneği yeniden yükleyin ve değiştirin.
jrhorn424

<item> girişine bir ad ve tanımlayıcı eklediğinizden emin olun <name>Disable Command Tab</name> <identifier>private.disable_command_tab</identifier>
Willem D'Haeseleer

1

Montaj seviyesi olarak yapabilirsiniz. ML 10.8.3 için bu Cmd+ Tabkaydı, 0x10000b258 adresindeki alt yordamda gerçekleşir. Sahte kodda şöyle görünür:

rax = CPSRegisterForKeyOnConnection(*(int32_t *)rbx, 0x1002cd078, 0x1, 0x1);
if (rax != 0x0) {
    fprintf(**__stderrp, "Error registering cmd-tab key, %d\\n");
}
rax = CPSRegisterForKeyOnConnection(*(int32_t *)0x1002ccda8, 0x1002cd078, 0x2, 0x1);
if (rax != 0x0) {
    fprintf(**__stderrp, "Error registering cmd-shift-tab key, %d\\n");
}

Aşağıdaki bayt kodlarını değiştirirseniz:

488D35691C2C008B3BBA01000000B901000000E85CD71B0085C0741A488B0DD5FC2400488B39488D355B341C0089C230C0E892C51B00488D0563192C008B38488D352A1C2C00BA02000000B901000000E81FD71B0085C0741A488B0D98FC2400488B39488D3541341C0089C230C0E855C51B00

ile:

90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090

Ve Dock.app istifa et, işe yarayacak. Ayrıca Dock ikili şifreli olduğundan Dock ikili kodunun korumasını kaldırmanız gerekir.


5
Lütfen cevabınızı bir tür kaynak ile yedekleyebilir misiniz? Tüm bu kod kafa karıştırıcı olabilir ve gelecekteki okuyucular tarafından güvensizliğe itiraz edilebilir. umarım anlarsın.
Lorenzo Von Matterhorn

1
Ayrıca orijinal kodun ne yaptığını ve değiştirmeyi de ekleyin (sökme benim ilgilendiğim kadar iyi olur)
vonbrand

3
Bu oldukça güzel bir cevap. Diğer iki yorumdaki endişe muhtemelen geçerli olmakla birlikte, tüm yorumların sorguladığı için üzücü bir teklif, ancak hiç kimse bunun oldukça havalı olduğuna dikkat çekiyor. Hangi alt rutinin adresini ve 090909'un ne olduğunu nereden biliyorsunuz? (no-op?)
Gal,

0

Kabul edilebilir bir cevap, yeniden eşlemeyi içerir mi?

Mac OS X Lion (10.7) ilk taktığımda klavye düzenini tespit etmekte zorlanıyor.

Sistem Tercihleri'nde, Lion harika bir klavye paneline sahiptir:

Lion's klavye panelinin ekran görüntüsü

Ardından, Değiştirici Tuşlara git…

görüntü tanımını buraya girin

Bingo, şimdi CapsLock Kontrol olarak davranır.

Veya, önemli bağlantıları deneyip etkileyebilirsiniz:

Varsayılan keybindings dosyasını, ~ / Library / KeyBindings / DefaultKeyBinding.dict dosyasını düzenleyin. Dizin ve / veya dosya henüz mevcut değilse yaratın ve şöyle görünmesini sağlayın:

{
  /* Remap Home / End to be correct */
  "\UF729" = "moveToBeginningOfLine:"; /* Home */
  "\UF72B" = "moveToEndOfLine:"; /* End */
  "$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
  "$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
}

DefaultKeyBinding.dict dosyasına zaten girdiler varsa, yukarıdaki 4 yeni eşlemeyi dosyanızın ana bölümüne ekleyin. Etkili olması için yeniden başlatılması gerekebilir.

Yapmaya çalıştığınız şey için yukarıdaki kodu ayarlamanız gerekir.


1
Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantıyı sağlamak tercih edilir.
Kanadalı Luke,

3
Yukarıdaki yorumcuya katılıyorum - bu cevap çok dolambaçlı. Yanıtını denediğin için teşekkür ederim, ama lütfen daha doğrudan olmaya çalış. Bu yazının ileride bu soruyu bulan diğer kişilerin kafasını karıştırması muhtemel olduğunu düşünüyorum. Ayrıca, komut tuşunun tamamını başka bir şeye yeniden yazmak, komut tuşunu diğer birçok şey için kullandığım için benim için kabul edilebilir bir çözüm değil. Çözümünüzün ikinci bölümünde gösterdiğiniz kodun CMD + SEKME'yi seçmeli olarak devre dışı bırakmama izin verip vermeyeceğini söyleyemem, ancak lütfen açıkça ne kadar açıklayabildiğini açıklayabilir.
Sean Mackesey

Caps Lock'a komut tuşunu tekrar eklemek muhtemelen önerebileceğim en iyi fikir. Hala komut anahtarını alıyorsunuz ve aslında bir şey için büyük harf kilidini kullandığınızı duymaktan şaşırdım. İkinci seçenek, kolay yolun işe yaramayacağına dair bir nedeniniz varsa, yapmanız gereken iş miktarını göstermekti. Bu ikisinin dışında senin için başka hiçbir şeyim yok. Luke'un önerdiği gibi temel parçaları sağladım.
Everett

Aslında CapsLock zaten Escape'e getirildi (Vim kullanıyorsanız çok önemlidir). Çabalarınız için teşekkürler, yine de yayınınızı düzenlemenizi önereceğim. Lütfen sadece değiştirici anahtarları yeniden ele alma ile ilgili bir şeye bağlanın, böylece gelecekteki tarayıcılar bu çözümün onlar için işe yaramayacağını bildiklerinde tüm açıklamayı gözden geçirmek zorunda kalmayacaklardır.
Sean Mackesey
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.