Caps Lock tuşu Arch Linux'ta Escape tuşuna nasıl eşlenir


23

İşletim sistemim Arch Linux amd64, Gnome ENV.

Caps LockAnahtarı EscArch Linux'ta (escape) ile eşlemek istiyorum . Komutu çalıştırıyorum:

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

İyi çalışıyor, ancak bir süre sonra Caps Lock tuşu tekrar çalışıyor. Ve komutu tekrar çalıştırmalıyım.

Bu çözümün belki bir yıl önce iyi çalıştığından eminim. Benim sorunum ne? Herkes Arch Linux işletim sistemimde Caps Lock tuşunu sonsuza dek Escape anahtarıyla eşlememe yardımcı olabilir mi?

Yanıtlar:


47

Aşağıdakilerden herhangi biri (artan karmaşıklık düzeninde):

  1. setxkbmapAnahtarı yeniden eşlemek için kullanın (arka plan programı gerektirmez ve masaüstü ortamınızdan veya pencere yöneticinizden bağımsızdır). Önce komut eklemek unutmayın exec gnome-sessionGözlerinde farklı (veya benzeri) hattı ~/.xinitrcveya ~/.xsession:

    setxkbmap -option caps:escape
    

setxkbmapextra / xorg-setxkbmap paketinde bulunabilir .

  1. dconf-editororg.gnome.desktop.input-sources.xkb-optionscaps:escapeYukarıda belirtilen alana ekleyin .
  2. gnome-session-settings → Başlangıç ​​Programları → Ekle → Ad = Kaçmak için büyük harf kilidini yeniden, command =setxkbmap -option caps:escape
  3. Özel klavye düzeni oluşturma

Bilginize, ben tarafından XKB kural elde grep ping /usr/share/X11/xkb/rulesiçin capsve esc.


2
Dconf yöntemi benim için mükemmel çalıştı teşekkürler!
Keith Smiley

Hayır için teşekkürler. 2. Çağlar boyunca bu bilgiyi arıyordum. Hayır bunu komut satırında ayarlayabilirimgsettings org.gnome.desktop.input-sources xkb-options ['caps:none', 'numpad:pc', 'numpad:mac']
Oliver Jan Krylow

Hayır ile ilgili olarak. 1: İki kaçış tuşu yerine onu değiştirmek isterseniz, koşabilirsiniz setxkbmap -option caps:swapescape.
comfreak

5

Kullanım için X, Arch Wiki Gnome sayfa talimatlarını bulabilirsiniz XkbOptions klavyeyi değiştirerek :

Dconf-düzenleyiciyi kullanarak org.gnome.desktop.input-sources.xkb-options adlı anahtara gidin ve listeye istediğiniz XkbOptions (örn. 'Caps: swapescape') ekleyin.

Konsolda, aynı efekt için özel bir tuş haritası oluşturabilirsiniz . Kişisel anahtar eşlemenizi , o tarihte CapsLockve sonrasında gerekli değişikliklerle oluşturun ve aramak için bir satır ekleyin :Escape/usr/share/kbd/keymaps/i386/qwerty/yourmaptar/etc/vconsole.conf

KEYMAP=yourmap

3

xorg.conf

Dosyayı düzenleyerek bunu başarabilirsiniz /etc/X11/xorg.conf.d/00-keyboard.conf.

Örnek dosya:

Section "InputClass"
        Identifier      "system-keyboard"
        MatchIsKeyboard     "on"
        Option          "XkbLayout" "us"
        Option          "XkbModel"  "pc104"
        Option          "XkbOptions" "caps:swapescape"
EndSection  

Birden fazla XkbOptions belirtebilirsiniz, örneğin caps:swapcaps,terminate:ctrl_alt_bkspesc ve kapakların değiştirilmesini, ancak X'in öldürülmesine izin vermesini de sağlayabilirsiniz CtrlAlt Backspace. Bu konuda daha fazla bilgi bulabilirsiniz man xkeyboard-config.

GUI

GNOME Tweak Tool'u (gnome-tweak-tool paketi) da kullanabilirsiniz. Sadece tıklayın Typingve Ctrl positionmenüden istediğinizi seçin (aşağıdaki resme bakın).

resim açıklamasını buraya girin


2

Xmodmap kullanabilirsiniz. Koy ~/.Xmodmap:

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

(X'i başlattığınızdan emin olun ~/.Xmodmap)


Bu doğru, distro-agnostik ve masaüstü-agnostik cevaptır.
dotancohen

Bunu koyduğumda ~/.Xmodmap, hiçbir şey olmuyor :(
Jan Warchoł

Satırını xmodmap ~/.Xmodmapkendinize koyun ~/.xinitrc!
uzsolt

Bunu koymak ~/.Xmodmapve daha sonra çalıştırmak xmodmap ~/.Xmodmapzaman hataları xmodmap: .Xmodmap:1: bad remove modifier name 'lock=caps_lock', not allowed xmodmap: .Xmodmap:2: bad keysym target key symbol 'Escape=Caps_Lock' xmodmap: .Xmodmap:3: bad keysym target key symbol 'Caps_Lock=Escape' xmodmap: .Xmodmap:4: bad add modifier name 'lock=caps_lock', not allowed xmodmap: 4 errors encountered, aborting
alıyorum

Eşit işaret etrafında boşluklara ihtiyacınız olacak. Cevabı değiştirdim.
uzsolt

0

! Yukarıdaki cevapların neden işe yaramadığını bilmiyorum. İşte benim için çalışan bir tane. ~ / .Xmodmap'inizde

! 66 is the keycode of Caps_Lock
clear    Lock
keycode  66 = Escape 

ve sonra

$ xmodmap ~/.Xmodmap

Fedora ve Gnome olmayan pencere yöneticisini kullanıyorum. HTH


0

Dosya /etc/X11/xorg.conf.d/00-keyboard.confayrıca kullanılarak otomatik olarak oluşturulabilir systemd-localed. Aşağıdaki komutu kullanın:

localectl set-x11-keymap us "" "" caps:escape

Veya diğer bazı faydalı seçenekler de dahil olmak üzere:

localectl set-x11-keymap us,de "" "" caps:escape,grp:alt_caps_toggle,grp_led:caps,lv3:ralt_switch_multikey,terminate:ctrl_alt_bksp,eurosign:e,rupeesign:4

Hızlı açıklamalar:

  • CapsLk olarak işlev görür Esc
  • İki klavye düzenleri arasında geçiş yapar us/ deile Alt+CapsLk
  • CapsLk LED'i hangi düzenin etkin olduğunu gösterir
  • Sağ Alt ( RAlt) "multikey" dir (Yazma Anahtarı'na bakın )
    • RAlt+ eüretir
    • RAlt+ 4üretir ( Shift+ nasıl 4oluşturduğuna benzer $)
  • Ctrl+ Alt+ BackspaceX öldürür
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.