Büyük Harf kilidini hem Kaçış hem de Kontrol olarak nasıl yeniden eşleyebilirim?


22

Genelde Linux çalıştırırım. Vim'i çok kullanıyorum, bu yüzden Escape anahtarı çok önemli. Ayrıca diğer klavye kısayollarını da çok kullanıyorum, bu yüzden Kontrol de "anahtar". Linux'ta bunu , Caps lock tuşunu kendiliğinden basılırsa Escape tuşuna basmak için eşleştirmek veya başka bir tuşla birlikte basıldığında Kontrol etmek için xcape kullanarak çözdüm . Bu, her iki dünyanın en iyisini pembemsi parmağımın hızlı bir şekilde ulaşabileceği bir noktaya getiriyor. Bunu Mac'te yapabilmemin bir yolu var mı?

Yanıtlar:


19

Evet , Karabiner (eskiden KeyRemap4Macbook) kullanarak .

İlk önce, Klavye tercihleri ​​bölmesine gidin, "Değiştirici Tuşlar ..." üzerine tıklayın ve Caps Lock tuşunu Control olarak değiştirin. Ardından, Karabiner'e gidin ve bu seçeneği arayın:

Control_L - Control_L
      (+ yalnızca Control_L yazdığınızda, Escape yollayın)

Şuna bak, işin bitti. Karabiner ile daha ilginç şeyler yapabilirsiniz, (şimdi bir işe yaramaz) Escape anahtarını bir Hyper anahtarına eşleştirmek gibi, daha da fazla anahtarlama ile.


kapak kilidini yeniden eşlemek ve kontrol etmek ve kaçmak için kapak kilidini haritalamak mümkün mü? Çünkü bazen, uzun bir büyük harf dize yazmak için büyük harf kilidini kullanmaya ihtiyacım olduğunu hissediyorum.
Aaron Shen

Karibiner şimdi OSX Klavye tercihlerinde Caps Lock'u "No Action" (Eylem Yok) olarak değiştirmenizi (kontrol etmek için oraya ayarlamak yerine) ve Karabiner'in kız kardeşi programı olan Seil'i yeniden yapmayı kullanmanızı söylüyor. Yukarıdaki cevabın son kısmı (+ sadece Control_L yazdığınızda ...) Karabiner'de hala yapılıyor.
ScoBe

@AaronShen sadece kapaklar kilitlenmek için remap ;-).
Ven,

@ScoBe Bunu yapmamasını tavsiye ederim, gerçekten Seil'e ihtiyacın yok,
Ven

Ben Karabiner en azaltılmasını öneririz Anahtar Üst Üste Değiştirici> Zaman Aşımı gelen parametreyi 1000ms için 200ms . Eğer anahtarı tutup sonra fikrimi değiştirip salıverirsem, bir Kaçış ateşlemek istemem.
joeytwiddle

16

Karabiner şu anda MacOS Sierra ile uyumlu değil. Sierra uyumlu diğer bir çözüm ise Keyboard Maestro ile birlikte (ücretsiz değil). Caps Lock tuşunun davranışını, diğerlerinin önerdiği gibi System Preferences-> Keyboard-> ile Kontrol Modifier Keysolarak değiştirin.

Daha sonra Klavye Maestro içinde bir makroyu aşağıdaki gibi ayarlayın:

  • Tarafından tetiklendi USB Device Key Trigger
  • Klavyenizdeki Caps-Lock tuşuna basın
  • bir kez dinlenir
  • bu değiştiricilerle: ^
  • (kullandığınız her USB klavye için önceki tetikleyiciyi tekrarlamanız gerekecek)
  • Ardından bir eylem ekleyin Text->Type a keystroke
  • Esc tuşuna basın

1
Açıkça anlaşılacağı gibi, Sierra'da çalışan Karabiner Elemanları adlı bir proje var (bu, Sierra'da çalışacak bir Karabiner sürümünün öncüsüdür). Denemedim, bu yüzden bu işlevselliğin mevcut olup olmadığını bilmiyorum.
tubedogg 5:16

5
Karabiner-Elements henüz bunun için gerekli olacak olan bir değiştirici tuşa dokunma işlevini desteklemiyor.
neyse ki,

Bu seçenek 'bu değiştiricilerle: ^' sadece ^bir eylemi tetiklemek için capslock ile birlikte basılması gerekir . Soruda gerekli olan hiç değil.
deflt

Önce Caps-Lock'u Sistem Tercihleri ​​ile Kontrol Et gibi davranacak şekilde değiştirdiğimizden, KM, USB olayını Kontrol tuşu basılı olarak görür. ^Değiştiriciyi çıkarırsanız , eylem asla tetiklenmez.
neyse ki

Klavye ana yoluna giderseniz, büyük harf kilidi işlevini yeniden kazanmak için çıkış tuşunu büyük harf kilidiyle eşlemenin bir yolu var mı? Kapakların hem ctrl olarak kilitlenip hem de kaçmalarını seviyorum.
Kvass

1

MacOS 10.12 ve sonraki sürümlerini destekleyen Karabiner Elements ile bunu yapmak ~/.config/karabiner/karabiner.jsoniçin, rulesdiziyi açıp aşağıdaki kuralı ekleyin .

{
  manipulators: [
    {
      description:
        "Change caps_lock to control when used as modifier, escape when used alone",
      from: {
        key_code: "caps_lock",
        modifiers: {
          optional: ["any"]
        }
      },
      to: [
        {
          key_code: "left_control"
        }
      ],
      to_if_alone: [
        {
          key_code: "escape",
          modifiers: {
            optional: ["any"]
          }
        }
      ],
      type: "basic"
    }
  ]
}

Ayrıca kullanmayı deneyebilirsiniz ControlEscape.spoon ile Hammerspoon .


Bu to_if_alonebölümdeki değiştiricileri (anahtar kelime ve tümü) kaldırmadığım sürece çalışamadım . Ama pasaj için teşekkürler. Süper kullanışlıdır.
Michael,
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.