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.