Caps Lock'u xmodmap ile yeniden eşleştirmek işe yaramıyor


10

Ben program zaman bu tuşları takas etmek istiyorum:

EscTab CtrlCapsLock

İçinde ~/.xmodmap, bu yeniden eşlemeleri belirttim:

keycode 66 = Control_L
keycode 37 = Caps_Lock
keycode 23 = Escape
keycode 9 = Tab

EscapeVe Tabtuşları takasları, sorun değil, ama yerine Caps_Lockve Control_Ltakarken hem bu anahtarlar olur Caps_Lock.

Ne yapmaya çalışırsam yapayım Kontrol tuşları Caps_Lockatanmıyor (tuş kodu 66). Ben bırakırsanız keycode 66 =, anahtar un-atanmış, ama atadığınızda Control_Lveya Control_R, sadece işini yapmaz. Ancak, başka bir anahtar atarsam, örneğin, keycode 66 = Tabatanır, sorun değil.

Bu xmodmap gibi Caps Lock ve Control tuşlarının değiştirilmesini istemiyor. Gerçekten sinir bozucu. Herhangi bir yardım / işaretçiler gerçekten yararlı olacaktır.

PS: Archlinux kullanıyorum.

Yanıtlar:


8

Xmodmap (1) kılavuz sayfası tam olarak bunun için bir örnek vardır

   !
   ! Swap Caps_Lock and Control_L
   !
   remove Lock = Caps_Lock
   remove Control = Control_L
   keysym Control_L = Caps_Lock
   keysym Caps_Lock = Control_L
   add Lock = Caps_Lock
   add Control = Control_L

ancak bunu başladığınız şekilde bitirmek istiyorsanız, en azından removeve addsatırlarını eklemeniz gerektiğini düşünüyorum.

   remove Lock = Caps_Lock
   remove Control = Control_L
   keycode 37 = Caps_Lock
   keycode 66 = Control_L
   add Lock = Caps_Lock
   add Control = Control_L

Sanırım bu paragrafa dayalı durum böyle

   add MODIFIERNAME = KEYSYMNAME ...
           This adds all keys containing the given keysyms  to  the  indi‐
           cated  modifier  map.  The keysym names are evaluated after all
           input expressions are read to make it easy to write expressions
           to swap keys (see the EXAMPLES section).

bu da değiştirici değişiklikleri (vardiya, kontrol vb.) gibi ses çıkarır. Siz de çalıştırıncaya kadar uygulanmaz.

(Ve mantıksal olarak aynı remove)


Manpage'i okudum ve örneği izleyerek Caps_Lock ve Control_L anahtarlarını yeniden atadım. Ancak, OP'de belirtilen anahtarların neden yeniden eşlenmesinin işe yaramadığını merak ettim. Bir hata mı yoksa bir şey mi?
Aby James

Görünen o ki, tam da çalışması gerekiyor. Güncellenmiş cevabımı görün.
Mikel

4

Gevşek olarak ilgili cevap: Caps lock tuşunu sol kontrole yeniden eşleştirmek ve gerçek sol kontrole dokunmadan bırakmak istedim. Xmodmap man sayfası da çözüm sunar:

    keycode 66 = Control_L
    clear Lock
    add Control = Control_L
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.