Escape tuşuna basıldığında Caps kilidini kapatın


10

Basıldığında devre dışı CapsLockbırakmanın herhangi bir yolu var mı Esc? Evet, VIM kullanıyorum! Aslında alternatif bir all-caps klavye düzeni var Ctrl-6ama bunu hantal buluyorum ve sadece Escbasıldığında işletim sisteminin CapsLock'u devre dışı bırakmasını tercih ederim . Ayrıca, genellikle birkaç saat boyunca diğer sunuculara SSH yapıyorum, bu yüzden orada bir stok VIM'deyim.

CapsLockVe Esctuşlarını zaten değiştirmiş olduğumu unutmayın . Ancak, Esctuşa basıldığında ( CapsLockklavyede etiketlenir ve yanındadır A), her ikisini de gerçekleştirmek için ona ihtiyacım var Escapeve Disable-CapsLock-If-It-Is-Enabled.

Bu Kubuntu 12.10'da. Teşekkürler.


Bu işlevi yalnızca vimmasaüstü için mi yoksa masaüstü için mi eklemeniz gerekiyor ?
mtk

Masaüstü özelliği olmasını istiyorum.
dotancohen

Yanıtlar:


5

X11'de (bilmiyorum konsolunda) Escape tuşunun davranışını yeniden tanımlayarak yapabilirsiniz. Nasıl çalıştığını görmek için "shift (break_caps)" tanımına baktım ve uyarladım.

Yerel olarak değiştirilen dosyaların nasıl / nereye yerleştirileceği ve yükleneceği hakkında daha fazla bilgi için xkb'deki bu cevaba bakın .

İstediğinizi yapmak için, yerel semboller dosyasında (örneğin ~/.xkb/symbols/mysymbols:) aşağıdaki gibi bir bölüme ihtiyacınız vardır:

partial modifier_keys
xkb_symbols "esc_breaks_caps" {
    key <ESC> {
        type = "ALPHABETIC",
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
};

ve yerel tuş haritası dosyasında (örneğin ~/.xkb/keymap/mykbd:; ile oluşturabilirsiniz setxkbmap -print > ~/.xkb/keymap/mykbd) xkb_symbolseklenecek satırı değiştirin +mysymbols(esc_breaks_caps).

Şimdi ile yükleyebilirsiniz: xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY ve tuşuna basarak EscCapsLock durumunu kaldıracak (aslında, efekt Esc'in serbest bırakılmasında gerçekleşiyor; Bence sadece değiştirici tuşların hemen etkisi var; diğerleri efekt yayınlandıktan sonra.)

Oh, ayrıca Escape ve CapsLock tuşlarını da değiştirmek isterseniz; bunun yerine bunu kullanın (ve mykbd dosyanıza "+ mysymbols (esc_swap_and_breaks_caps)" koydunuz):

partial modifier_keys
xkb_symbols "esc_swap_and_breaks_caps" {
    replace key <CAPS> {
        type = "ALPHABETIC",
        symbols = [ Escape, Escape ],
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
    replace key <ESC> { [ CapsLock, CapsLock ] };
};

fiziksel tuşların <CAPS>ve <ESC>; <CAPS>( CapsLockklavyenizde oyulmuş tuş) Escape gönder ve <ESC>(tuş oyulmuş Esc) CapsLock gönderir, <CAPS>(Escape'i gönderir) ayrıca unlocking capslock state


1

Bu satırları şuraya ekle ~/.Xmodmap:

clear lock
keycode 0x42 = Escape

Ardından şu komutu yazın:

xmodmap ~/.Xmodmap

Kişisel Caps Lockanahtar şimdi tekrar-eşlenmektedir Esctuşu.

Referans URL .


Ayrıca Unix.se kullanıcısı gibi görünen Ubuntu'da Escape to CapsLock'u eşleme hakkında bu güzel makaleyi okuyun :)


Teşekkür ederim. CapsLock ve Esc'i zaten değiştirdim. Ancak Esc tuşu (klavyede CapsLock etiketlenecek olur ve A yanındaki olan) basıldığında, ben gerçekleştirmek için ihtiyaç hem Escape ve Devre Dışı-CapsLock-If-It-Etkin mi. Açıklığa kavuşturmak için soruyu düzenleyeceğim. Teşekkürler.
dotancohen

Diğer yöne ihtiyacın olduğunu düşündüm. Burada biraz karıştı. Bu değişikliklere basıldıktan sonra Escve Capslockssonra ne olur ?
mtk

Şu anda: basıldığında ESCtuşunu CapsLockfonksiyon taban fiyatlar ve basıldığında CapsLockanahtar ESCkomutu gönderilir (yani ESCanahtar tekrar-eşlenmektedir CapsLockve CapsLockanahtar tekrar-eşlenmektedir ESC). Bu soru ile Amacım basarak sahip olmaktır CapsLockanahtar gerçekleştirmek hemESC (şu anda yapar) fonksiyonunu ve kapatmak CapsLockancak ve ancak işlevini CapsLockişlevi etkindir (değil geçiş yani CapsLockişlevi değil, devre dışı o takdirde CapsLocketkindir).
dotancohen

1

Bunun sorunuzu cevaplayıp yanıtlamadığından emin değilim, ancak Escişlevi CapsLockanahtarla eşleştirmek için bunu kullanabilirsiniz:

setxkbmap -option "caps:escape"
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.