Come disabilitare il touchscreen sul mio laptop?


27

Il mio laptop ha un touchscreen ma non lo uso. Come disabilito questa funzionalità? Uso Arch Linux. Ho pensato di provare a rimuovere il driver correlato. Secondo questa pagina i possibili driver sono tutti nominati xf86-input*. Tuttavia, sembra che non abbia installato nulla di simile:

# pacman -Qs xf86-input
local/xf86-input-evdev 2.8.3-1 (xorg-drivers xorg)
    X.org evdev input driver
local/xf86-input-joystick 1.6.2-3 (xorg-drivers xorg)
    X.Org Joystick input driver
local/xf86-input-keyboard 1.8.0-2 (xorg-drivers xorg)
    X.Org keyboard input driver
local/xf86-input-mouse 1.9.0-2 (xorg-drivers xorg)
    X.org mouse input driver
local/xf86-input-synaptics 1.7.5-1 (xorg-drivers xorg)
    Synaptics driver for notebook touchpads
local/xf86-input-vmmouse 13.0.0-3 (xorg-drivers xorg)
    X.org VMWare Mouse input driver
local/xf86-input-void 1.4.0-6 (xorg-drivers xorg)
    X.org void input driver

Hai idea di come posso rintracciare il driver responsabile o in qualche altro modo disabilitare la funzionalità touchscreen?


2
Solo un'idea Non è possibile disabilitarlo nel BIOS / Firmware? Questo è ciò che faccio con il mio touchpad, il lettore di impronte digitali e altre "funzioni" di cui non ho davvero bisogno. È il tipo di livello più basso su cui è possibile disabilitarlo e potrebbe essere la soluzione più semplice (se possibile).
Miroslav Koškár,

Vedo molte domande che
pongono

Ho un notebook ASUS TX300, di solito disabilito il touchscreen tramite uno script ogni volta che si riavvia.
LiuYan 刘 研

Risposte:


45

Oltre a disinstallare i driver appropriati (che potrebbero non funzionare poiché alcuni dispositivi si comportano come al solito dispositivi mouse e necessitano solo di driver specifici per funzionalità più sofisticate e l'elenco dei driver installati suggerisce questo) è anche possibile disabilitare il dispositivo tramite lo xinputstrumento o abbinando esplicitamente in xorg.conf.

Per disabilitare il dispositivo utilizzando xinput, dovrai determinare l'ID XInput dei dispositivi:

$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=11   [slave  pointer  (2)]
⎜   ↳ My annoying touchscreen                       id=14   [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)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=12   [slave  keyboard (3)]
    ↳ HID 0430:0005                             id=13   [slave  keyboard (3)]

In questo esempio, "Il mio fastidioso touchscreen" ha l'id 14. Quindi per disabilitarlo, basta digitare

$ xinput disable 14

Per disabilitarlo tramite xorg.conf, è sufficiente creare un file nella /etc/X11/xorg.conf.ddirectory, ad esempio 99-no-touchscreen.confcon il seguente contenuto:

Section "InputClass"
    Identifier         "Touchscreen catchall"
    MatchIsTouchscreen "on"

    Option "Ignore" "on"
EndSection

Ciò ignorerebbe tutti i dispositivi touchscreen. Nel caso tu ne abbia più di una e desideri utilizzarne una o più, puoi specificare la corrispondenza più esattamente con una delle altre Matchdirettive. Vedi la xorg.confmanpage per maggiori dettagli su questo (cerca semplicemente »Match« e dovresti trovare quello che stai cercando).


one-liner:xinput disable `xinput | grep Touchscreen | awk '{print $5}' | sed 's/id=//'`
Tim Abell,

0

È possibile eseguire il comando sudo lspci -vnn sulla console per visualizzare tutte le informazioni sull'hardware per tutti i dispositivi e provare a cercare le righe contenenti la parola a sfioramento.

Ogni dispositivo ha due righe che visualizzano il driver utilizzato in questo modo:

Driver del kernel in uso: nome_ driver

Moduli del kernel: driver_name

Ecco un elenco di dispositivi touchscreen supportati da Linux http://lii-enac.fr/en/architecture/linux-input/multitouch-devices.html

Puoi confrontare i tuoi risultati con l'elenco dei dispositivi da questa pagina e quindi inserire nella lista nera il driver usando le istruzioni da qui: https://wiki.archlinux.org/index.php/kernel_modules#Blacklisting


-1

Da ArchWiki , questa è la sezione che ti serve. Prova questo,

less /proc/bus/input/devices

Selezionare il driver appropriato dall'output; probabilmente sarà: xf86-input-evtouch (in AUR) xf86-input-elographics

Trova quel driver / modulo e inseriscilo nella blacklist ( fare riferimento qui ).


Vedi la mia domanda Ho cercato questi driver ma non sono stati trovati.
favore, cancellami
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.