Tüm programlarda “orta fare düğmesi yapıştırma” özelliğini nasıl kapatabilirim?


43

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.


4
Seçim eklemek için orta tıklama, temel olarak X11'in çalışma şeklinin bir parçasıdır; http://www.jwz.org/doc/x-cut-and-paste.html adresine bakınız .
efemient

1
@Gilles: Tüm programlarda. :)
derekhh

4
Orta fare düğmesini tamamen çekmeden ya da X'i hacklemeden ya da normal panoya batırmadan bunu yapmanın önemsiz bir yolunu görmedim, bu yüzden önerdiğim "çözüm" sadece orta fare düğmesini doğru kullanmayı öğrenmek. Bir metin URL’sini herhangi bir yerde vurgulamak ve (FF) tarayıcı penceremde ortaya tıklayarak gitmek için inanılmaz uygun.
jw013 10:11

4
@ephemient "Seçimi eklemek için orta tıklatma temelde X11'in çalışma biçiminin bir parçası" ... ... orta düğme üzerinde sinyal almak için yaklaşık 1 kilo baskı gerektiren Sun Optik Fareleri vardı. Bugün ortadaki düğme saç tetiğinde ve dahası bir tekerlek olarak kullanıldığında, bu "temel" (X
btw'de

3
İstediğinizi devre dışı bırakma yeteneğinin Linux'un daha temel bir yönü olduğunu düşünüyorum.
Wayne Bloss

Yanıtlar:


24

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 xbindkeysiçin başlangıçta çalıştırın pkill xbindkeys.


7
Teşekkür ederim!!! Tek çözümün 2 yıldır 0 oyla geçtiğine inanamıyorum.
Retr0id

4
Sonunda Ubuntu Mate 17.10'da benim için çalışan bir çözüm. Teşekkür ederim!
Dmitry Frank

5
@ spiil Bu çözümü denedim ve istediğiniz efekti elde etti. Bir metin alanına orta tıklattım ve hiçbir şey olmuyor, ancak bir bağlantıyı orta tıklatıp Chromium, Firefox ve Waterfox'ta (test ettiğim üç tarayıcı) bir sekmeyi kapatmak için orta tıklamak.
user7214865

4
Tıkla ve tutma orta düğmeyle Kaydırma artık bu çözüm ile çalışır: /
Marc.2377

2
Sen bir efsanesin. Hareket topumdaki orta düğmeyi kaydırma amacıyla kullandım, ancak yapıştırma işlevi hayatımı perişan etti. Şimdi yine tam parlak renklerde, teşekkürler!
redsPL

16

Fedora 24'te gnome-tweak-toolaşağıdaki komutu kullanarak yükleyebilirsiniz :

$ sudo dnf install gnome-tweak-tool

Açın gnome-tweak-toolve "Klavye ve Fare" sekmesine gidin ve "Orta Tıkla-Yapıştır" seçeneğini devre dışı bırakın.


4
Bu, Ubuntu 16.04'te de mevcuttur: sudo apt-get install gnome-tweak-tool
Tyranin

1
Bu sadece gedit, gnome-terminal ve birkaç diğerleri gibi birkaç programı etkiler. Ayrıca bkz. Askubuntu.com/questions/4507/… .
Kvothe

11

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 -

1
Çalışmıyor. pastebin.com/0DYYMDLS
balki

@balki Weird. Kesinlikle benim için çalışıyor. Öyleyse neden sizin için işe yaramadığını öğrenmek için yeni bir soru sorun. Hangi X.org sürümünün (veya başka bir X sunucusunun) bulunduğunu, hangi dağıtımda çalıştığını ve hangi giriş cihazlarının bağlı olduğunu söylediğinden emin ol.
Gilles 'SO- kötülük olmayı'

2
Bahse girerim OP standart olup olmadığını umursamıyor (bilmiyorum). Önemli değil. Fare düğmesi eylemleri daha kolay özelleştirilebilir olmalıdır.
Marc.2377

7

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)


Slackware 14.2'de (KDE) dokunmatik yüzey için mükemmel çalışıyor.
Firelord

Bu, "XX indir" ile başlayan yukarıdakilerden daha iyidir. Sahip olduğum tek sorun xinput set-button-map 12 1 0 3sizin 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)
blindguy

3

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.


Bu hala kaydırma için orta fareyi kullanmanıza izin veriyor. Güzel çözüm! Benim için dosya oldu~/.config/sxhkd/sxhkdrc
Atnas

1

Birçok programın uyduğu ortak bir kongredir. Kapatmanın global bir yolu yoktur, program bazında bir programda yapmalısınız.

EDIT: (Gilles'un söylediği gibi, fare 2 düğmesini devre dışı bırakma. Ancak bazı programlarda fare 2 düğmesini başka kullanabileceğim için bunu tavsiye etmem.)


1

EDIT: Gönderdiğim çözümle ilgili bir sorun buldum: bazı programlarda ( gitken 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 xselve 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 xselcopy ( -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-fxselxsel

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.


Teşekkür ederim! KDE kullanıyorum ve bu çözüm benim için çalışan SADECE bir çözüm.
Aloso

@Aloso Bir şey değil, sadece üstteki ihlali aklınızda bulundurun. Kendinizi bir programda metin seçemediğinizi görürseniz, bu en olası suçludur.
flarn2006

Evet, bu sorunu Firefox'un "Dosyayı Kaydet" iletişim kutusunda gördüm. Şimdi bu betiği sadece programlama yaparken açıyorum.
Aloso

@Aloso Tamam o zaman; hala kullanımına sevindim :)
flarn2006

0

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 ---------------------------------------------------------------------------------
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.