Mac OS X'te Caps Lock uygulamasını Esc olarak kullanma


449

Mac OS X'te nasıl Caps Lockçalışırım Esc?


31
Bu, vim kullanan bir programcı için standart bir görev gibi görünüyor; dolayısıyla yeniden açılacak
oyum

4
Alternatif Kilit Kontrol Caps (Sistem Tercihleri> Klavye> Değiştirici Tuşlar) harita ve kaçış dizisini yürütmek olduğunu Ctrl + [için esc. Vim için kullanışlıdır.
thelostspore

2
MacOS Sierra'da çalışan yerel çözüm: stackoverflow.com/a/41004544/1940276
Kevin Roth

1
MacOS Sierra'da çalışan yerel çözüm, burada en iyi ikinci cevaptır (@rkusa'dan)
Marián Černý

Yanıtlar:


395

Düzenleme: Bu yanıtta açıklandığı gibi , MacOS'un yeni sürümlerinde artık yeniden bağlanma Caps Lockiçin yerel destek var Escape. Bu nedenle, bunu başarmak için artık üçüncü taraf yazılımların yüklenmesi gerekmez.


İşte Seil'i (eski adıyla PCKeyboardHack) kullanarak bunu nasıl yapacağınıza dair kapsamlı, görsel bir cevap (bağlantılar ).

  1. İlk önce Sistem Tercihleri'ne gidin , Klavye'yi , ardından Klavye Sekmesini (ilk sekme) seçin ve Değiştirici Tuşlar'ı tıklayın :

Aşama 1

Açılır iletişim kutusunda Caps Lock tuşunu şu şekilde ayarlayın No Action:

bir eylem seç

2) Şimdi Seil'i indirmek ve yüklemek için buraya tıklayın :

3) Kurulumdan sonra yeni bir Uygulama (Mountain Lion ve daha yeni) yüklenmiş olacak ve daha eski bir işletim sistemindeyseniz yeni bir Sistem Tercihleri ​​bölmesi olup olmadığını kontrol etmeniz gerekebilir:

açık seil veya tercih bölmesi

4) "Büyük Harf Kilidini Değiştir" yazan kutuyu işaretleyin ve çıkış anahtarının kodu olarak "53" girin:

klavye kodunu ayarla

Ve işiniz bitti! Hemen çalışmazsa, makinenizi yeniden başlatmanız gerekebilir.

Etkilendim? Daha Fazla Kontrol İster misiniz?

Ayrıca , amiral gemisi klavye yeniden eşleme aracı olan KeyRemap4MacBook'a da göz atmak isteyebilirsinizpqrs.org - ayrıca ücretsizdir.

Bu araçları beğendiyseniz bağış yapabilirsiniz . Onlarla hiçbir bağlantım yok ama bu araçları uzun süredir kullanıyorum ve oradaki adamların bunları korumak, özellikler eklemek ve hataları düzeltmek için mükemmel bir iş yaptığını söylemek zorundayım.

Önceden seçilebilen (yüzlerce) seçeneklerden birkaçını gösteren bir ekran görüntüsü:

Resim 1.png

PQRS , Noject anahtarını yeniden programlamak için KeyRemap4MacBook ile birlikte kullanabileceğiniz NoEjectDelay adında harika bir yardımcı programa sahiptir . Biraz tweaking sonra benim AirPort Wifi geçiş ayarlamak için var.

Bu yardımcı programlar Mac klavyesini yeniden eşlerken sınırsız esneklik sunar. İyi eğlenceler!


3
Tam olarak bunu yapmak için neredeyse 2 yıldır KeyRemap4Macbook olmadan PCKeyboardHack'i tek başına kullandığımı açıklığa kavuşturmak istiyorum .
rossipedia

13
Harici bir klavye kullanıyorsanız, her klavye için birinci adımı (ör. Caps lock = işlem yok) tekrarlamanız gerektiğini unutmayın. Harici klavyem için bu adımı gerçekleştiremedim ve sonuç olarak büyük harf kilidi, yanlışlıkla büyük harf kilidi koruması nedeniyle çok hızlı tuş basmalarına yanıt vermedi. superuser.com/questions/317900/eliminate-macbook-capslock-delay
Jeromy Anglim

11
Harika bir öğretici. Caps Lock'u yaklaşık bir yıl boyunca Esc ile eşledim. Çılgınca etkili oldu. Ancak bir gün üst düzey bir geliştiriciyle eşleşiyordum. Ona Vim'i birincil editörüm olarak kullandığımı söyledim. Ben de dedi. Makinesini açtı ve çalışmaya başladık. Sırayı kodu düzenlemeye geldiğimde, onun Caps Lock eşleşmediği için takıldım ve takıldım. Esc'e kadar gitmeye çalıştım, ama Caps'e her seferinde vurdum ve sonra normal komutlarım değişecekti. Bana Ctrl-c'nin sizi tekrar Görsel moda bırakacağını öğretti. Kendinize bir iyilik yapın ve Ctrl-c kullanmaya başlayın.
campeterson

7
(Her gün daha fazla bilgi edinmek) CTRL-[aslında ESC ile eşdeğerdir. stackoverflow.com/questions/5030164/…
campeterson

5
Ayrıca, bu kullanıcının macOS 10.12.1'de @ rkusa'nın cevabı için yerel bir özellik olduğunu ve bu nedenle yeni kullanıcıların üçüncü taraf yazılımlarını
indirmesine gerek kalmayacağını söyleyebilirseniz harika olurdu

309

MacOS 10.12.1 beri yeniden eşleştirmek mümkündür Caps Lockiçin Escdoğal (Sistem Tercihleri -> Klavye -> Değiştirici Tuşlar).

resim açıklamasını buraya girin


11
Müthiş! Bunu yeni MBP'nin bir kaçış anahtarı olmayacağını duyduktan sonra buldum. Görünüşe göre Apple biraz boşluk bekliyordu.
Andy E

1
El Capitan 10.11.6 çalıştırılıyor ve bu ayar zaten mevcut.
zool

1
Bunun için şükürler olsun; Sierra Seil / Karabiner'i kırdıktan sonra mahkum olduğumu düşündüm.
Philip

4
İşin garibi, 10.11.6'dayım ve bu seçeneğim yok. Yalnızca esc'i caps, ctrl, opt veya command ile eşleştirebiliyorum. Bu, WASD klavyelerim v2 için geçerlidir.
Benny Powers

1
Bunu komut satırı üzerinden yapmanın bir yolu var mı? Belki de buna benzer bir yöntemde? github.com/herrbischoff/awesome-osx-command-line#keyboard
Jordan Eldredge

40

Buradaki cevapların hiçbirinden memnun kalmadım ve bir komut satırı çözümü aramaya gittim .

MacOS Sierra 10.12'de Apple, kullanıcıların anahtarları yeniden eşlemeleri için yeni bir yol sundu.

  • Sistem GUI'leriyle uğraşmanıza gerek yok
  • Özel ayrıcalık gerekmez
  • Tamamen özelleştirilebilir
  • PCKeyboardHack / Seil / Karabiner / KeyRemap4MacBook / DoubleCommand / NoEjectDelay gibi herhangi bir üçüncü taraf bokunu yüklemeye gerek yok

Bu size iyi geliyorsa, bir göz atın hidutil.

Örneğin, caps-lock'u kaçmak için yeniden eşlemek için, anahtar tabloya bakın ve caps-lock'un 0x39 kullanım koduna ve escape'in 0x29 kullanım koduna sahip olduğunu bulun. Bu kodları veya 0x700000000 onaltılık değeri ile kaynağa koyun ve dest şöyle:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}'

Aynı komutta başka eşlemeler de ekleyebilirsiniz. Şahsen ben, backspace için caps-lock remap ve silmek için backspace remap gibi:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}'

Geçerli eşlemeyi görmek için:

hidutil property --get "UserKeyMapping"

Sistem yeniden başlatıldığında değişiklikleriniz kaybolacak. Kalmasını istiyorsanız, bir komut dosyasına yerleştirin ve bir giriş kancası ayarlayın:

sudo defaults write com.apple.loginwindow LoginHook /path/to/login_script.sh

3
+! Bu macOS tuşları yeniden modern ve doğru yolu
Fanckush

2
Karabiner'in anahtarları tekrarlamasıyla ilgili sorun, anahtar yeniden eşleme için yerel bir çözüm aramama neden oldu. Bu yazı ve apple.stackexchange.com'daki başka bir yazı çok yardımcı oldu.
chb

Bunun için teşekkürler +1! Apple postasına bazı teğet notlar ekledim, umarım bize Esc anahtarı istemeyen ancak Caps Lock'da olmayan fakir insanlara bir miktar değer katar.
Üçlü

Yerleşik klavye ile sorunları olan MacBook'lar için harika bir yöntem. Mine, Klavye Ayarları ile ilgili sorunlara neden oldu, bu yüzden orada herhangi bir anahtarı yeniden eşleştiremedim.
Igor

Bu LoginHookyöntemle düzgün çalışmasını sağlayamadım - sanırım yürüttükten sonra bir şey İskandinav klavye için yerel klavye ayarlarımı seçer? Her neyse, stackoverflow.com/a/22872222/874188LoginHook kullanımdan kaldırılan notlar ve launchdbunun yerine kullanılmasını savunuyor .
tripleee

34

Mümkün.

Çözüm 1

Gönderen bir arcticle TrueAffection.net üzerinde.

  • PCKeyboardHack'i indirin ve kurun.
  • Sistem Tercihleri'nde PCKeyboardHack'e gidin.
  • 'Büyük Harf Kilidini Değiştir' seçeneğini etkinleştirin ve anahtar kodunu 53 olarak ayarlayın.

Çözüm 2

Bu çözüm, klavye sürücüsünün yamalanmasını gerektirmez, ancak Vim'e özgü bir çözüm sunar.

OS X, Caps Lock tuşunun bir çok anahtarla eşlenmesini destekler, ancak .plist dosyalarını düzenleyerek 'elle' yapmanız gerekir. İşlem bu makalede açıklanmaktadır . Bu ipucuna ek olarak, önce Sistem Tercihleri'nde Caps-Lock'u Yok olarak ayarlamanızı öneririm, o zaman .plist dosyasında yalnızca bir değeri değiştirmeniz gerekir. Ayrıca, elbette XML dönüştürme adımlarını uygulamak yerine Özellik Listesi Düzenleyicisi'ni kullanabilirsiniz.

İşin püf noktası Caps Lock tuşunu, çoğu klavyede olmayan Yardım tuşuyla (kod 6) eşlemektir. Ancak öyleyse, muhtemelen kullanmamanız gereken ekleme anahtarı olarak kabul edilecektir, çünkü ellerinizi germeyi önlemek için Caps Lock'unuzu yeniden eşleştirmeyi soruyorsunuz;)

Daha sonra Yardım'ı ve Insertanahtarı Escvim içinde eşleyebilirsiniz .

map  <Help> <Esc>
map! <Help> <Esc>
map  <Insert> <Esc>
map! <Insert> <Esc>

Bu gvim için çalışacaktır (Vim.app). Terminalde vim ile çalışmayı başaramadım ve MacVim ile test etmedim.

Yani, oldukça karmaşık, yarı pişmiş bir çözüm veya üçüncü taraf bir bilgisayar korsanlığı parçası kurmak. Senin seçimin ;)

Düzenleme: Sadece fark çözüm 3, kullandığınız takdirde MacVim kullanabileceğiniz Ctrl, Optionve Commandolduğu gibi Esc. Sistem Tercihleri ​​ile Caps Lock'u bu tuşlardan biriyle eşleştirmek önemsizdir.


1
Çözüm 3: Ctrl, Option veya Command'ı MacVim'de Esc olarak nasıl kullanıyorsunuz? Bu ayarı tercihlerde bulamıyorum.
clizzin

Sistem tercihleri ​​=> klavyede eşlersiniz.
maletor

9
İtiraz ettiğiniz ipucu nerede?
Matthew Schinckel

2
Maletor - macvim'e kontrolü kaçış olarak kullanmasını söyleyecek hiçbir yer yok
Scott Schulthess

1
@MatthewSchinckel böyle bir bağlantı: hints.macworld.com/article.php?story=20060825072451882
Ben


30

Nasıl yapacağımı bildiğim tek şey Caps Lock'u Control veya Option veya Command ile eşlemektir. Bu, Sistem Tercihleri'nin Klavye ve Fare bölmesinden yapılabilir. Sol alt kısımdaki "Değiştirici Tuşlar" ı tıklayın ve Caps Lock, Control, Option ve Command tuşlarını bunlardan herhangi birine yeniden eşleyebileceksiniz.

@Craig: Bu Caps Lock düşündürmektedir olabilir -, non-durumlu düğmeyi - Anahtarı normal olarak kullanılabilir. MacBook'umda Caps Lock'u Kontrol Etmek için yeniden eşlediğimden, Caps Lock ışığı asla yanmıyor. Sadece Kontrol tuşu gibi davranır.

resim açıklamasını buraya girin



1
Ne yazık ki Logitech klavyeleriyle değil, CapsLock'ta kaçış tuşu yok, vim == me klavyeyi döndürüyor
Enric Ribas

14

Seil henüz macOS Sierra'da mevcut değildir (10.12 beta). Bu nedenle, Keyboard Maestro'yu şu ayarlarla kullanıyorum:resim açıklamasını buraya girin

Bu github yorumuna teşekkür ederiz: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664


2
Ben kullanıyorum github.com/tekezo/Karabiner-Elements (Sierra çalışır). Şimdiye kadar harika çalışıyorum, keşke "Control_L to Control_L (+ yalnızca
Control_L yazdığınızda

1
@atomkirk Kullandığınız Karabiner JSON yapılandırmasını paylaşmayı düşünür müsünüz?
LandonSchropp

1
{"profiller": [{"ad": "Varsayılan profil", "seçili": doğru, "basit_modifikasyonlar": {"caps_lock": "kaçış"}}]}
atomkirk


Karabiner bana hileyi atomkirk'ın JSON'u ile yaptı. Yukarıdaki ekran görüntüsüne rağmen, Keyboard Maestro UI bir karışıklık ve bunu yapılandıramıyordum.
Paul

10

Bu çözümlerden birkaçını denedikten sonra, bazı notlarım var:

DoubleCommand olacak değil takas esc ve harf kilidi etmenize olanak tanır.

PCKeyboardHack , kaçmak için kapak kilidini eşlemenizi sağlar,ancak kaçmayı kapsül kilidine eşleme özelliği yoktur. Son sürümler, her iki tuşu da düzenleyerek tam bir takas gerçekleştirmenizi sağlar.

Bu ihtiyaçlarınız için yeterli olabilir veya olmayabilir (benim için olduğunu biliyorum).


1
PCKeyboardHack, capslock'a kaçış haritasını belirlemenize izin vermez, ancak KeyRemap4MacBook yardımcı uygulaması yapar. “CapsLock'a Kaçış” ve “Shift + CapsLock'a Kaçış” öğelerini eşleştirmenizi sağlar.
Rory O'Kane

9

Üçüncü taraf bir uygulama yüklemek istemiyorsanız ve iTerm'in içindeki vim'i gerçekten önemsiyorsanız, aşağıdakiler çalışır:

Burada açıklandığı gibi Yardım için CapsLock'u yeniden eşleştirin .

Kısa versiyon: düzenlemek için plutil veya benzeri kullanın ~/Library/Preferences/ByHost/.GlobalPreferences*.plist, şuna benzer görünmelidir:

<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>

Tekrar başlat! Basit bir çıkış ve giriş benim için işe yaramadı.

İTerm'de, Yardım için yeni bir anahtar eşleme ekleyin: Escape'e karşılık gelen 0x1b onaltılı kodunu gönderin.

Bunun tam olarak istenen şey olmadığını biliyorum, ama böyle bir çözüm arayan birçok insanın niyetinin aslında bu daha uzmanlaşmış bir varyant olduğunu varsayıyorum.


4

Kaçış anahtarını hem PCKeyboardHack hem de KeyRemap4MacBook'u kullanarak caps lock tuşuyla (yalnızca biriyle eşleştirmek değil) değiştirmek için, bu konudaki talimatları izlemeniz ve caps lock anahtarını klavye fakat KeyRemap4MacBook tarafından muhasebeleştirilir (örn. 110). Daha sonra, PCKeyboardHack'te, bu anahtar kodunu kaçmak için eşleyen uygun seçeneği seçin (110 durumunda, "Kaçmak için Uygulama Anahtarı" dır). KeyRemap4MacBook tercihlerinizin nasıl görünmesi gerektiği aşağıda açıklanmıştır ("yalnızca etkinleştirilenleri göster" onay kutusunu seçtiyseniz).

resim açıklamasını buraya girin

Başlangıçta bu bilgileri göndermeye çalıştı bir düzenleme olarak karşı CWD mükemmel cevap , ancak reddedildi. Tarif ettiğim rotaya gitmek isteyen herkesi ilk önce cevabını okumaları için teşvik ediyorum.




1

Klavye tercihlerini açın ve değiştirici tuşlara tıklayın ... kontrol, seçenek, kaçış veya komut için büyük harf kilidi tuşunu değiştirebilirsiniz.

resim açıklamasını buraya girin


9
Bunların hiçbiri posterin sorduğu "Esc" değil. Vim kullanımı için muhtemeldir.
Rafi Jacoby

1
@RafiJacoby Escve arasındaki fark nedir Escape? (ciddi soru)
byxor

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.