Disabilitazione del pulsante centrale del mouse


17

Quindi ho provato a esaminare le varie altre domande, ma si concentrano principalmente sulla disabilitazione della pasta centrale del mouse.

Fondamentalmente il pulsante centrale del mouse sul mio Logitech G500s è rotto e continua a "fare clic" in modo casuale, quindi si rovina ogni possibilità di lavorare.

C'è un modo per disabilitarlo? O mapparlo sul nulla?

Grazie e scusa se questo è un duplicato.

xinput list produzione:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜   ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜   ↳ Turtle Beach Turtle Beach PX3 (XBOX) id=8 [slave pointer (2)]
⎜   ↳ Logitech G500s Laser Gaming Mouse id=9 [slave pointer (2)]
⎜   ↳ Logitech G500s Laser Gaming Mouse id=10 [slave pointer (2)]
⎜   ↳ Razer Razer DeathStalker id=12 [slave pointer (2)]
⎜   ↳ Razer Razer DeathStalker id=13 [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)]
    ↳ Power Button id=7 [slave keyboard (3)]
    ↳ Razer Razer DeathStalker id=11 [slave keyboard (3)]

Esegui questo comando xinput list | grep 'id='e pubblica l'output.
Helio

Per questo mouse, ci sono due ID dispositivo per questo mouse. Dopo aver eseguito il test xinput 9, l'id del pulsante centrale del mio mouse è 2
Tom Hamilton Stubber

Risposte:


24

Esegui quei comandi:

xinput set-button-map 9 1 0 3
xinput set-button-map 10 1 0 3

Spiegazione (gentilmente donata da @Yehosef ):

Il primo numero è l'id del puntatore (spesso ne avrai solo uno, in questo caso c'erano due, 9 e 10).

I numeri successivi sono ciò che fai con i pulsanti del mouse primo, secondo e terzo (cioè sinistro, medio, destro). "1 0 3" indica che il pulsante sinistro deve fare un clic sinistro (azione 1), il pulsante centrale non deve fare nulla e il pulsante destro deve fare un clic destro (azione 3). Se si desidera che anche il pulsante centrale faccia clic con il tasto sinistro, è possibile utilizzare "1 1 3". Se si desidera alternare le azioni destra e sinistra, è possibile utilizzare "3 0 1". Vedi https://wiki.ubuntu.com/X/Config/Input per maggiori informazioni.


Grazie mille, cercare di cercare questo è stato molto frustrante.
Tom Hamilton Stubber,

1
Grazie! Per chi si chiede: il 9/10 è l'id di input del mouse e il 1 0 3 sono le mappature per il primo, il secondo e il terzo pulsante del mouse. Se si desidera che tutti i pulsanti facciano la stessa cosa, è possibile utilizzare 1 1 1 o se si desidera cambiare i pulsanti destro e sinistro, è possibile utilizzare 3 0 1.
Yehosef,

@Yehosef: grazie! Non ho spiegato cosa sta succedendo quando l'OP ha eseguito i comandi. Si prega di creare una nuova risposta dettagliata, ping me e io voterò. Questa è una spiegazione interessante.
Helio,

@Helio Non ho una risposta diversa - solo una spiegazione in più per chi è interessato. Forse vuoi modificare la tua risposta per includere queste informazioni che puoi. Stavo pensando di modificare la tua risposta - ma in genere non mi piace quando le persone aggiungono ulteriori dettagli alle mie risposte - quindi mi sono trattenuto :)
Yehosef

2
Quindi, come posso determinare il primo numero? Corro xinput list | grep 'id='e cerco le cose che assomigliano di più al mio mouse / touchpad? Qualche modo definitivo per dire se è quello giusto?
Kvothe,

2

Le seguenti istruzioni si basano sulle informazioni su Ubuntu Wiki (scorri verso il basso fino al titolo "Esempio: disabilitazione dell'incollamento del pulsante del mouse centrale su un mouse con rotella di scorrimento").

Innanzitutto, determinare l'id del puntatore elencando i dispositivi di input:

xinput list | grep 'id='

E cerca la riga che contiene il nome del tuo puntatore, dovrebbe esserci anche id del dispositivo, subito dopo "id =". Ad esempio, l'id di questo dispositivo è 10:

Lenovo ThinkPad Compact USB Keyboard with TrackPoint    id=10   [slave  pointer  (2)]

Quindi, ottieni la mappa dei pulsanti corrente di quel dispositivo (userò l'id del mio dispositivo, che è 10):

xinput get-button-map 10

Produzione:

1 2 3 4 5 6 7 8 9

Questa è la mappatura dei pulsanti del puntatore alle azioni, dove il numero rappresenta il codice dell'azione e il pulsante di posizione.

Siamo interessati alla seconda mappa - il numero 2 corrisponde all'azione "Clic pulsante centrale" e la sua posizione - al pulsante centrale effettivo.

Per disabilitare il pulsante centrale che attiva qualsiasi azione, utilizzare il comando xinput set-button-mapcon ID del dispositivo e mappa aggiornata (il nuovo codice di azione è 0 - nessuna azione). Non c'è bisogno di mettere l'intera mappa - mappa fino a quando il pulsante interessato è sufficiente (il resto non verrà aggiornato):

 xinput set-button-map 10 1 0

Questo è tutto.


Questo ha funzionato per il mio touchpad su un Lenovo Thinkpad T580 con Ubuntu 18.04
Russell Inghilterra

0

set-button-mapdisabilita la funzionalità clic centrale. Per emulare il clic centrale usando il tasto sinistro + destro (in modo da poter incollare e aprire nella scheda ecc. Usando il mouse) ma disabilitare i clic della rotellina del mouse, è possibile applicare patch a libinput:

--- a/src/evdev.c   2019-09-22 17:15:13.498880044 +0300
+++ a/src/evdev.c   2019-09-22 17:15:18.062860221 +0300
@@ -1861,6 +1861,8 @@
    /* Logitech Marble Mouse claims to have a middle button */
    if (device->model_flags & EVDEV_MODEL_LOGITECH_MARBLE_MOUSE)
        libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
+
+   libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
 }

 static void
  • mkdir deb; cd deb; apt source libinput; sudo apt build-dep libinput
  • salva la patch sopra come libinput-1.XX.Y/debian/patches/middle.diff
  • aggiungere middle.diffadebian/patches/series
  • dpkg-buildpackage -us -uc -b
  • sudo dpkg -i ../libinput10_*.deb
  • riavvia Xorg o riavvia la macchina

E usa xinput liste xinput set-prop 11 "libinput Middle Emulation Enabled" 1per abilitare l'emulazione sinistra + destra. 11è il numero del dispositivo da xinput listed è possibile aggiungere il comando set-prop a ~/.xstartup.

Oppure, per evitare la ricostruzione, utilizzare un file .quirks di libinput (non testato):

[My Mouse]
MatchUdevType=mouse
AttrEventCodeDisable=BTN_MIDDLE;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.