Come disabilitare i driver del touchscreen?


41

Ho un touchscreen, ma i driver non funzionano correttamente e interferiscono con il mouse.

È possibile disabilitare il mio touchscreen, in modo che possa funzionare di nuovo correttamente?

Risposte:


52

Puoi provare a disabilitare il dispositivo di input con il xinputcomando. Per prima cosa vedi quali dispositivi di input hai, basta digitare:

xinput

E dovresti vedere un elenco come:

$ xinput 
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Atmel Atmel maXTouch Digitizer            id=9    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=13   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
...

Quindi è possibile disabilitare il dispositivo di input desiderato con questo comando:

xinput disable 9

Dove 9 è l'id del dispositivo che si desidera disabilitare. Puoi anche usare il nome del dispositivo tra virgolette.

Nella versione xinput 1.5.99.1, devi xinput set-prop 9 'Device Enabled' 0invece farlo . Stranamente su xinput v1.6.2 il primo modo di lavorare.


1
Questo funziona sul mio Lenovo Yoga (2012) con Ubuntu 14.04.
Jeremy Upsal,

7
Funziona su Dell XPS 13 con Ubuntu 16.04. Ho anche aggiunto questo per ~/.profileapplicare automaticamente dopo il riavvio:xinput | grep 'ELAN Touchscreen' | grep -Po 'id=\d+' | cut -d= -f2 | xargs xinput disable
TalkLittle

Atmel sembra anche abbastanza comune, un modo alternativo come @TalkLittle: xinput enable `xinput | grep Atmel | sed "s/^.*id=\([0-9]*\).*$/\1/"`. Comando all'interno Cosa fa il backtick restituisce l'id.
Pablo A

Grazie. funziona su dell inspiron 13 serie 7000 con Ubuntu 16.10
durga

Questa è un'opzione gt on reat. Preferisco un modo per trasformare i
midopa il

27

La xinputsoluzione non ha funzionato per me. Ho invece seguito le istruzioni in questo thread . Questo lo disabiliterà all'avvio.

  1. modificare /usr/share/X11/xorg.conf.d/10-evdev.conf
  2. Aggiungi Option "Ignore" "on"alla fine della sezione con l' touchscreenidentificatore
  3. Reboot

inserisci qui la descrizione dell'immagine

  • Per la cronaca (Google), ho una Samsung Serie 7 e il mio touchscreen era elencato come ELAN Touchscreenin xinput.
  • Anche JFTR, in questa domanda afferma che la differenza di consumo energetico è per lo più trascurabile.

Grazie, ha funzionato sul mio XPS 13 9343 (2015), il touchscreen è stato elencato sul touchscreen evdev.
hg8

2
L'ho fatto su un Dell XPS e ha disabilitato completamente lo schermo. Dopo l'avvio lo schermo è solo nero. Avviato in modalità di ripristino, rimosso la linea e tutto è tornato alla normalità.
Pieroxy,

1
Ciò ha impedito al mio laptop di riavviarsi in X windows. Non è un grosso problema rimuovere tale impostazione, ma qualcosa che i neofiti vogliono verificare possono fare prima di provarlo.
Davide

2
Disabilitato anche il touchpad sul mio Sony Vaio. L'impostazione del valore del driver su "libinput" ha funzionato comunque
Jason Pawlak il

2
Su Ubuntu 17.10, non sono riuscito a trovare il file che hai elencato ma c'era /usr/share/X11/xorg.conf.d/40-libinput.conf. Ho modificato un blocco simile in questo file e al prossimo riavvio credo che scoprirò come è andata!
Oliv Utilo,

4

Modifica il file con il file

sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf

Cambia MatchIsTouchscreen da "on" a "off" nella sezione Touchscreen in questo modo:

Section "InputClass"
    Identifier "evdev touchscreen catchall"
    MatchIsTouchscreen "off"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    EndSection

Salva, Nome ed Esci

Il touchscreen è disabilitato e non viene più rilevato nell'elenco xinput.


Questo ha funzionato sul mio ideacenter Flex 20 di Lenovo, che aveva uno schermo rotto.
Merlin04

Questo ha funzionato per Dell XPS 15 e Linux Mint 18. Penso che sia più sicuro dell'uso Option = ignoredella risposta, in quanto non disabilita il dispositivo ma non lo tratta come un touchscreen.
matt wilkie,

Questo non funziona più. Ho aggiornato a Ubuntu 18.04 e il file 10-evdev.conf è sparito. Ho provato a ricrearlo, ma non ha funzionato.
Merlin04,

@ Merlin04 Hai controllato il file libinput? C'è una risposta che menziona questo: askubuntu.com/a/1038259/167115
mchid

0

Se il tuo touchscreen è uno schermo touch panel come un monitor USB, puoi aggiungere il driver del kernel predefinito usbtouchscreennel file blacklist di modprobe ( /etc/modprobe.d/blacklist.conf) e usare il tuo driver personalizzato come touchkito evtouch.


0

Come ID per le modifiche di xinput al riavvio, ho aggiunto una semplice schermata di una riga al caricamento della sessione:

#!/bin/bash
xinput --list | awk '/Atmel Atmel maXTouch Digitizer/ {print $7}' | awk '{split($0,a,"="); print a[2]}' | xargs xinput disable

Il nome del mio dispositivo è "Atmel Atmel maXTouch Digitizer", modificalo con il tuo dispositivo (usa xinput --listper il nome del dispositivo).

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.