Farenin orta düğmesini yapıştırmaktan hoşlanmıyorum, çünkü genellikle Eclipse'de derlenemez bir kodla karşılaşıyorum. Bunu nasıl kapatabilirim (tüm programlarda)? Fedora'yı yönetiyorum.
Farenin orta düğmesini yapıştırmaktan hoşlanmıyorum, çünkü genellikle Eclipse'de derlenemez bir kodla karşılaşıyorum. Bunu nasıl kapatabilirim (tüm programlarda)? Fedora'yı yönetiyorum.
Yanıtlar:
Bu çözüm küresel olarak çalışacak ve orta fare işlevselliğini koruyacaktır.
Yüklemek xbindkeys xsel xdotool
Bunu içine yerleştir ~/.xbindkeysrc
"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2 + Release
Tekrar yükle xbindkeys -p
Durdurmak xbindkeys
için başlangıçta çalıştırın pkill xbindkeys
.
Fedora 24'te gnome-tweak-tool
aşağıdaki komutu kullanarak yükleyebilirsiniz :
$ sudo dnf install gnome-tweak-tool
Açın gnome-tweak-tool
ve "Klavye ve Fare" sekmesine gidin ve "Orta Tıkla-Yapıştır" seçeneğini devre dışı bırakın.
Orta düğme pastasına sahip olmak, sol düğme seçme veya etkinleştirme ve sağ düğme başka bir şey yapma gibi bir unix kullanıcı arayüzü standardıdır (örneğin, genişletme, değiştirme, menü açma,…). Çoğu unix uygulamasında yapıştırmaya bağlı olduğunu göreceksiniz.
Sorununuz, parmağınızı direksiyona koyduğunuzda farenizin aşırı hassas olması durumunda, daha iyi bir fare almanızı öneririm. Çok sayıda ucuz terbiyeli fare var.
Fare düğmesini 2 farklı bir numaraya atayabilirsiniz. Uygulamalar, sol, orta ve sağ fare düğmelerini sırasıyla düğmeler 1, 2 ve 3 olarak tanımlar. Bu kodu, X oturumunuz başladığında yürütülen bir komut dosyasına yerleştirin (bunun nasıl yapılacağı masaüstü ortamınıza bağlıdır).
echo 'pointer = 1 6 3 4 5' | xmodmap -
Kaydırma tekerleği fareleri kaydırma tekerleğine basarken bir orta düğmeli tıklatma olayını destekler. Bu harika bir özellik, ancak rahatsız edici bulabilirsiniz. Neyse ki devre dışı bırakılabilir.
İlk önce, farenin kimliğini bilmeniz gerekir, böyle:
$ xinput list | grep 'id='
hangi gibi bir şey yazdırır
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ PixArt Dell MS116 USB Optical Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
Virtual core XTEST keyboard id=5 [slave keyboard (3)]
Power Button id=6 [slave keyboard (3)]
Video Bus id=7 [slave keyboard (3)]
Power Button id=8 [slave keyboard (3)]
Sleep Button id=9 [slave keyboard (3)]
Dell KB216 Wired Keyboard id=10 [slave keyboard (3)]
Dell KB216 Wired Keyboard id=11 [slave keyboard (3)]
Eee PC WMI hotkeys id=13 [slave keyboard (3)]
Dell Usb farem burada kimliğini = 12
Böylece, fare düğme haritalama gibi görüntüleyebilirsiniz:
$ xinput get-button-map 12
hangi yazdırır
1 2 3 4 5 6 7 8 9 10 11 12
Burada sadece ilk üç sayının benim için anlamı var. Sol, orta ve sağ fare düğmelerini temsil ederler.
Orta fare düğmesini 0 olarak ayarlayarak kapatabilirim:
$ xinput set-button-map 12 1 0 3
Veya orta fare düğmesini 1 konumuna getirerek sol fare düğmesine çevirebilirim:
$ xinput set-button-map 12 1 1 3
ref. bağlantı https://wiki.ubuntu.com/X/Config/Input
benim için çalışıyor (kubuntu 18.04 LTS)
xinput set-button-map 12 1 0 3
sizin için bütün düğmeleri ayarlamanızdır (bu sınav için 1 - 12 için xinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 11 12
)
Orta tıklamayı işlevsel tutmak istiyorsanız (örneğin, yeni sekmelerdeki bağlantıları açmak için) işleri yapıştırmadan yapabilecekleriniz.
İlk önce sxhkd ve xsel'i kurun .
Ardından ./.config/.sxhkd/sxhkdrc gibi ayarları yapın
~button2
echo -n | xsel -n -i
~control + c
echo -n | xsel -n -i
~control + shift + c
echo -n | xsel -n -i
~control + x
echo -n | xsel -n -i
Ve bu temelde bu.
Şimdi sxhkd'yi başlatın (veya başlangıçta başlatılacak şekilde yapılandırın). Şimdi, orta fare artık hiçbir şey yapıştırmayacak, ancak normal gibi çalışacaktır.
~/.config/sxhkd/sxhkdrc
EDIT: Gönderdiğim çözümle ilgili bir sorun buldum: bazı programlarda ( gitk
en azından ne kadar yaygın olduğundan emin değilim) bu metin seçiminin çalışmasını engelleyecektir. Öyleyse deneyin, ancak düzenli olarak kullandığınız bir programda metin seçme ile ilgili sorunlarınız varsa, çözüm bunu kullanmayı bırakmaktır.
Kurun xsel
ve aşağıdaki kabuk komut dosyasını çalıştırın:
#!/bin/sh
while true; do
xsel -fin </dev/null
done
Bu komut dosyası çalıştığı sürece (giriş sırasında çalışacak şekilde ayarlayabilirsiniz) orta fare düğmesi hiçbir uygulamaya yapıştırılmaz. Yani teknik olarak hala yapıştıracak, ama her zaman yapıştıracak bir şey kalmayacak.
İşleyiş şekli, arka plan ( ) 'a işaret etmeden içeriğini xsel
copy ( -i
) kopyalayıp çalıştırması ve gerçekte bu boş dizgeyi yalnızca temizlemek ve çıkma ( ) yerine arabellekte tutmasıdır . Her çıktığında, aynı seçeneklerle tekrar çağrılacak . Yana başka bir program başka bir şey kopyalayarak "görevi onu rahatlatır" kadar çalışmaya devam edecektir, sürekli yerine, tekrar ihtiyaç kadar hassas çalışan tek sürecini tutarak, yeni süreçler oluşturmaz. (Çalışmakta olan komut dosyasının birden fazla örneğine sahip değilseniz, ancak bunu yapmanız gerekmez.)/dev/null
-n
-f
xsel
xsel
Ayrıca hayır, orta tıklama yapıştırması ayrı bir pano kullandığından, bu normal kopyalama / yapıştırma işlemine müdahale etmez.
Bu benim senaryom. Senin tweaking gerekebilir
#!/bin/bash
clear
echo
echo
echo
echo -----Now fixing your scroll button --- -hold onto pants
echo
xinput --list|grep "Virtual core XTEST pointer"
echo ---------------------------------------------------------------------------------
echo
id=$(
xinput --list|grep "Virtual core XTEST pointer" |awk '{
for(i=1; i<=NF; i++) {
tmp=match($i, /id=[0-9]+/)
if(tmp) {
print $i
}
}
}' $1 | tr -d '[:alpha:]='
)
echo fixing $id:
xinput set-button-map $id 1 10 2 4 5 6 7 8 9 3
echo
echo
xinput get-button-map $id
echo ---------------------------------------------------------------------------------