Caps Lock tuşunu üçüncü bir Shift tuşu haline nasıl getirebilirim?


19

Caps Lock tuşunun başka bir Shift tuşu gibi çalışmasını nasıl sağlayabilirim?

Burada, yeniden atama veya özel bir komut başlatmasını gerektiren birçok soru var. Sadece başka bir Shift tuşu gibi çalışmasını istiyorum. Başka anahtarların yaptıklarını değiştirmesini istemiyorum, sadece o anahtar.

Klavye Düzeni / Caps Lock tuş davranışı yapmaz, CCSM'de nasıl yeniden eşleştireceğimizi anlamıyorum.

Şu anda bir İngiliz klavyesi kullanıyorum, ancak bir ABD klavyesinde yazmayı öğrendim, soldaki küçük Shift tuşu SOMUNLAR SÜRÜCÜ.



1
@ David-arkadaşın OP özellikle xmodmapişe yaramadı dedi .
TheWanderer

1
Xkb'de bunun, belirli tuş kombinasyonlarını sembollerden ziyade eylemlere dönüştüren uyumluluk haritalarıyla bir ilgisi var gibi görünüyor. Bu, şu an mevcut olduğumdan daha fazla araştırma ve test süresi alacaktır. Eğer şansımı yakalarsam, bu konuya daha fazla gireceğim, belki de bu ekmek kırıntısı başka birini doğru yönde yönlendirecektir.
Elder Geek

Yanıtlar:


14

@ Zacharee1 cevabına genişleyen:

ile yedek yap cp /usr/share/X11/xkb/symbols/pc ~/pckeybak

ardından gksu gedit /usr/share/X11/xkb/symbols/pcveya favori düzenleyicinizle düzenleyin.

Şu satırı (22) bulun:

key <CAPS> { [ Caps_Lock ] };

ve olarak değiştir

key <CAPS> { [ Shift_L ] };

ve şöyle yazan satır (36):

modifier_map Lock { Caps_Lock };

ve olarak değiştir

//modifier_map Lock { Caps_Lock }; (kilitlemenin devre dışı bırakılmasında yorum yapmalıdır)

Testler, Num Lockhala beklendiği gibi çalıştığını gösterir . Daha ileri testler, klavye gösterge ışıklarının değiştirilmemiş bir sistemde bile 16.04'te biraz disleksik olduğunu gösteriyor. Oturum açma sırasında Scroll Lock göstergesi yanıyor ancak Scroll lock kapalı ve Num Lock ışığı kapalı, ancak Num lock açık. Sol Ctrltuşa dokunmak bu davranışı çözüyor gibi görünüyor ve bunun bir KVM anahtarı kullanmamla ilgili olup olmadığından emin değilim (mümkün)

Not: Diğer testler NumLock gösterge ışığının KVM anahtarı olmadan bile pul pul olduğunu ve NumLock ile senkronize olmak için iki kez hafifçe vurulması gerektiğini gösterir. Senkronize etmek için iki kez. Bunun neden muhtemelen yeni bir soru için temel oluşturduğunu ...

Orijinal probleminize bir başka basit çözüm, ucuz bir ABD klavyesi elde etmek ve ABD klavye eşlemesini kullanmak olacaktır.

Kaynaklar: @ Zacharee1 cevap ve analiz /usr/share/X11/xkb/symbols/pcve deneme yanılma testi


Yani bu hat 36 ţeyi devre dýţý býrakmak zorunda mýydýn? Sadece değişen Shift_Lbenim için tamamen devre dışı bırakmak capslock için yeterliydi.
TheWanderer

@ Zacharee1 Tom Brossman'ın yayınınıza yaptığı bir yorumda bahsedilen Numlock üzerindeki etkisinin nedeni olabileceğini düşündüm ve sadece bu nedenle çıkardım.
Elder Geek

Hmm. Olabilir. İngiltere'de bir tahtaya sahip olduğu için Zanna'yı bir VM ile test edip edemeyeceğimi görüyorum.
TheWanderer

@ Zacharee1 Bu donanımın test için hazır olmadığı ve tam testin mümkün olmadığı durumlarda mantığa güvendiğim için bu harika olurdu.
Elder Geek

Sonunda bunu yaptı, test etti ve çalıştı (şimdilik en azından). Klavyemdeki Num Lock ışığının sönük olması tuhaf ama giriş yaptığımda fazladan sayı tuşları varsayılan olarak etkinleştirildi ve bundan sonra olduğum şey buydu. Teşekkürler!
Tom Brossman

10

Sen uyarlayarak orada alabilirsiniz “a” üretmek için CapsLock tuşunu nasıl değiştirilir? (Örneğin).

Lock(= Caps Lock) değiştiricisini Caps Lockanahtardan kaldırın ve bu anahtarın key Shift_Lkodunu gönderdiğini bildirin.

remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L

Alternatif olarak, Lockdeğiştiriciyi kaldırabilir ve değiştiriciyi ekleyebilirsiniz Shift.

remove Lock = Caps_Lock
add Shift = Caps_Lock

Her iki durumda da, bu satırlar dosyaya girer ~/.Xmodmap. İle yükleyerek test edin xmodmap ~/.Xmodmap; varsayılan ortamda (veya en azından Gnome günlerinde) oturum açtığınızda dosya otomatik olarak okunur.


2
Mükemmel, işe yaradı. Giriş dizinimde '.Xmodmap' adlı yeni bir boş belge hazırladım ve ilk örneğinizi bu belgeye yapıştırdım. Sonra hemen etkili olması için terminalde 'xmodmap ~ / .Xmodmap' yazdım. Bunların her ikisi de bağlantılı cevapta açıklanmaktadır. Teşekkür ederim.
Tom Brossman

İkinci komut kümesi benim için çalışmıyor, ancak ilk komut harika çalışıyor. Caps Lock tuşuna basmak klavye ışığını bile açmaz, bu nedenle gizli OKB'mi bile tetiklemez.
Waldir Leoncio

Güzel cevap Gilles! Sadece cevabınıza eklemek için, bu tek bir komut olarak da yapılabilir: xmodmap -e "clear Lock" -e "keysym Caps_Lock = Shift_L" ve dosyaya setxkbmap -option yazılmayan ~/.Xmodmap, ancak gerektiğinde kullanılabilir ve Başlangıç ​​Uygulamalarına eklenebilir. Çok iyi cevap!
Sergiy Kolodyazhnyy

7

Önceki başarısız cevaplama girişimlerimi göz ardı ederek, capslock'u tamamen sola çeviren bir şey buldum. Geçiş yok, sanırım kalıcı ve oldukça basit.

İlk olarak, nasıl değiştirileceğini tanıtmadan önce bir yedek almanızı öneririm.

Çalıştırmak sudo cp /usr/share/X11/xkb/symbols/pc ~/pckeybak

Şimdi bir yedek olduğuna göre, düzenlemeye geçelim.

Bu dosyayı kök olarak düzenlemek için favori metin düzenleyicinizi kullanın:

/usr/share/X11/xkb/symbols/pc

Şuna benzeyen segmenti bulun (en üste yakın, benim için 22. satır):

key  <TAB> {    [ Tab,  ISO_Left_Tab    ]   };
key <RTRN> {    [ Return                ]   };

key <CAPS> {    [ Caps_lock             ]   };
key <NMLK> {    [ Num_Lock              ]   };

Düzenle

key <CAPS>  {   [ Caps_lock             ]   };

olmak

key <CAPS> {    [ Shift_L, Caps_Lock    ]   };

yerine. ( Caps_LockSonra Shift_L,gereksiz olabilir.)

Görüntü yöneticinizi yeniden başlatın (genellikle sudo service lightdm restart) ve büyük harf kilidi artık solda kalacaktır. ( Not: Test makinem GNOME kullanıyor, bu yüzden yeniden başlatmak zorunda kaldım gdm. Ancak, bu, geri dönüş TTY'sinde garip bir titremeye neden oldu ve gdmasla yeniden başlatılmadı. Tamamen yeniden başlatmam gerekiyordu.)

Bu gerçekten test edebildim ve çalıştığını onaylayabilirim.

Ubuntu'daki Daimi xmodmap'ten uyarlanmıştır 13.04


Teşekkürler, ama bu kalıcı olarak bıraktığım Num Lock ile karışıyor. Erken sorun gidermemde Caps_lock> Shift_L'yi değiştirmek /usr/share/X11/xkb/symbols/capslockde Num Lock'a müdahale etti. 16.04 hakkında farklı bir şey var, örneğin açılışta açık kalan Num Lock ışığı ancak şimdi LightDM girişinde sönüyor. Çözümünüzü test ettiğimde Caps Lock tuşunu Shift olarak değiştirir, ancak Caps düğmesine ilk kez bastığımda Num Lock tuşunu kapatır ve tekrar açmak için Num Lock TWICE tuşuna basmam gerekir (yalnızca ilk kez). Tuhaf. Gerçekten şimdiye kadar yardım takdir.
Tom Brossman

Belki de yeni bir soru sormalıyım "Num Lock ile 16.04'te Caps Lock yeniden eşleme girişimi nasıl önlenir?" ama burada temel sebebi bulmak isterim. Ya o ya da klavyeyi açmanın ve üzerinde bazı fiziksel değişiklikler
yapmanın zamanı

Bu tuhaf. Eğer koşarsanız numlock tekrar çalışır xkbset nullify lockmı?
TheWanderer

@TomBrossman Bunun sizin için bir şey değiştirip değiştirmediğini bilmiyorum, ama benim için çalışıyor. Bunun yerine sadece bir Shift_L, koymak Shift_L, Caps_Lock. Köşeli parantezlerin aynı hizada olduğundan emin olun.
TheWanderer

1
@TomBrossman Tehlikeli değilse sudo kullanmayı seviyorum, sadece emin olmak için: s. Dosyayı düzenlediğimde, vardiya için L büyük ve kapaklar kilitlendi. Tuhaf. NumLock şey de garip, çünkü benim için iyi çalışıyor. Bütün bunlar garip: p
TheWanderer

3

14.04 için

Bir astar:

xmodmap -e 'keycode 66=Shift_L'

ANCAK , beklenmedik durumda 66doğru anahtar kodu değil, önce xevkonsolda çalıştırın ve tuşuna basın CapsLock. Sonra şöyle bir şey göreceksiniz:

KeyPress event, serial 27, synthetic NO, window 0x1200001,
    root 0x101, subw 0x0, time 6417361, (340,373), root:(342,393),
    state 0x0, keycode XX (keysym 0x0207, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Doğru anahtar kodu XX.


1
Kelle mesajında bak: Xmodmap trick no longer works and xkb handles this now..
TheWanderer

Aman! 16.04 yüzünden mi? 14.04'ümde çalışıyor. Ödül açıklaması belirtilmemiş gibi görünüyor.

Ödül yapmadım, bu yüzden gerçekten bilmiyorum.
TheWanderer

Üzgünüz, bu yeni bir 16.04 kurulumu için. Sol veya sağ kaydırma tuşu iyi olurdu, soru için sola seçtim çünkü bitişiktir ve xevfarklı anahtarlar olarak görür.
Tom Brossman
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.