CapsLock anahtar sistemini, CapsLock düğmesine tek başına basıldığında kaçış tuşu ve başka bir tuşa basıldığında kontrol anahtarı gibi davranacak şekilde yeniden eşleştirmek mümkün müdür?
CapsLock anahtar sistemini, CapsLock düğmesine tek başına basıldığında kaçış tuşu ve başka bir tuşa basıldığında kontrol anahtarı gibi davranacak şekilde yeniden eşleştirmek mümkün müdür?
Yanıtlar:
Xcape adında çok iyi bir çözüm buldum . README'den:
xcape bir arka plan programı olarak çalışır ve Control tuşunu keser. Kontrol tuşuna tek başına basılarak bırakılırsa, Escape tuşu olayı oluşturulur.
Caps Lock anahtarınızı Control olarak yeniden eşlediyseniz, bu daha mantıklıdır. Bu programın gelecekteki sürümleri bu eşlemeyi sizin için yapabilir, ancak şimdilik bu kendiniz yapmanız gereken bir şey.
Caps to Escape'i eşleştirdim, böylece Vim'de yazmak daha rahat olur. kullandımxmodmap
ve içine koydum ~/.Xmodmap
.
clear Lock
keycode 0x42 = Escape
Uygulamak için: xmodmap ~/.Xmodmap
. Bunu ~ / .bash_profile (~ / .xinitrc içine koydum, çünkü bir oturum açma yöneticisi kullanmıyorum) gibi bir dosyaya koyabilirsiniz.
CapsLock + [başka bir Anahtar] eşlemek için kullanmayı düşünün xbindkeys
.
Sistem genelinde anahtarları yeniden eşleştirmek için sadece Linux çözümü basit bir udev kuralı yazmaktır. X'e bağlı olmayacak, herhangi bir terminal veya uygulama üzerinde çalışacak ve iki dosyayı kopyalayarak son Linux yüklemeleri arasında taşınabilir.
2 dosya yazmanız gerekir: bir tanesi çekirdeğe anahtarları yeniden eşlemesini söyleyen udev kuralını, diğeri ise ihtiyacınız olan gerçek eşlemeleri içerir.
Bu yöntemi kullanarak tüm klavyemi yeniden eşledim, belki kod ilham olarak yararlıdır http://git.adirat.com/carpalx-keyboard
Özellikle x için xcape / xmodmap çözümü ile ilgili sorunların üstesinden gelen bu amaç için bir araç yaptım :
AskUbuntu'da iyi bir cevabı olan farklı bir şekilde ifade edilen bir soruya rastladım , ancak sistemlerim üzerinde çalışmak için biraz değiştirmek zorunda kaldım.
Louis ve Sergiy'in oradaki yorumları üzerine Ubuntu 16.04 (Xenial) üzerinde benim için çalışan bu çözümü buldum ve kullandığım diğer Linux sistemlerine de getireceğim.
Ben yüklü xcape ve benim içine aşağıdaki kod satırlarını koymak .profile
benim ev dizininde dosyası.
Çeşitli ekran yöneticileri (gdm / kdm / sddm / etc) garip bir şekilde davranıyor ve setxbmap
askıya alma / devam ettirme veya kilitleme / kilidini açtıktan sonra sıfırlama , seçenekleri devralacak ve don ' t Her zaman sıfırlayın. Çok fazla askıya aldığım ve devam ettiğim için, xcape
aşağıdaki yeni komut dosyasında çözülen çok sayıda kopya almadım .
Önce klavye yapılandırmasını değiştirin sudo gedit /etc/default/keyboard
ve ayarlayın XKBOPTIONS="ctrl:nocaps"
ve ardından ~/.xprofile
aşağıdaki tek satırı ekleyin .
ps aux | grep -i '[x]cape' && killall -9 xcape; hash xcape 2>&1 >/dev/null && xcape -e 'Control_L=Escape' -t 100 &
İnşallah betiğin çeşitli bölümleri size biraz zaman / sorundan tasarruf ve sıkışmış girişleri önlemek. İlk önce zaten çalışan bir örnek olup olmadığını kontrol eder ve onu öldürür, çünkü tek şey xcape
Ctrl'yi Esc ile eşleştirmek olduğundan, bu güvenlidir, daha sonra hash
bölüm, xcape
aksi takdirde tüm başlangıç nedeniyle giriş yapmaya çalıştığınızda sisteminizin askıya alınabilmesini sağlar. komut dosyalarının temiz bir şekilde çıkması bekleniyor.
setxkbmap -option 'caps:ctrl_modifier'; xcape -e '#66=Escape'
Sergiy:
Ubuntu 14.04'te Sistem Ayarları'nda Klavye düzeni olmadığından Caps Lock'u Ctrl ile eşlemek için gnome-tweak-tool kullandım. Sonra xcape -e 'Control_L = Escape' işe yaramadı, ancak xcape -d kullandıktan sonra Caps Lock'un 66 anahtar kodunu ürettiğini ve sırasıyla yeniden eşlediğini keşfettim: xcape -e '# 66 = Escape'. - Sergiy Byelozyorov 4 '14 Eylül, 10:08
Louis:
Bu blog yazısına göre bunu sadece xcape ile yapmak mümkündür: setxkbmap -option 'caps: ctrl_modifier'; xcape -e 'Caps_Lock = Escape' setxkbmap -option 'caps: ctrl_modifier'; xcape -e 'Caps_Lock = Kaçış; Control_L = Kaçış; Control_R = Kaçış' - Louis Simoneau 4 Ağustos 15, 10:06