Jak wyłączyć sterowniki ekranu dotykowego?


41

Mam ekran dotykowy, ale sterowniki nie działają poprawnie i zakłócają pracę myszy.

Czy jest możliwe wyłączenie mojego ekranu dotykowego, aby znów móc poprawnie pracować?

Odpowiedzi:


52

Możesz spróbować wyłączyć urządzenie wejściowe za pomocą xinputpolecenia. Najpierw sprawdź, jakie masz urządzenia wejściowe, po prostu wpisz:

xinput

Powinieneś zobaczyć listę jak:

$ 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)]
...

Następnie możesz wyłączyć żądane urządzenie wejściowe za pomocą tego polecenia:

xinput disable 9

Gdzie 9 to identyfikator urządzenia, które chcesz wyłączyć. Możesz także użyć nazwy urządzenia między cudzysłowami.

W wersji xinput 1.5.99.1 musisz to zrobić xinput set-prop 9 'Device Enabled' 0. Dziwnie na Xinput v1.6.2 pierwszy sposób działa.


1
Działa to na mojej lenovo jodze (2012) z systemem Ubuntu 14.04.
Jeremy Upsal

7
Działa na Dell XPS 13 z systemem Ubuntu 16.04. Dodałem to również ~/.profiledo automatycznego stosowania po xinput | grep 'ELAN Touchscreen' | grep -Po 'id=\d+' | cut -d= -f2 | xargs xinput disable
ponownym

Atmel również wydaje się dość powszechne, alternatywny sposób jak @TalkLittle: xinput enable `xinput | grep Atmel | sed "s/^.*id=\([0-9]*\).*$/\1/"`. Komenda wewnątrz Co powoduje, że backticks zwraca identyfikator.
Pablo A,

Dziękuję Ci. działa na Dell Inspiron 13 z serii 7000 z systemem Ubuntu 16.10
Durga

To jest opcja gt on reat. Wolę sposób, aby włączyć I
Midopa

27

xinputRozwiązanie nie działa dla mnie. Zamiast tego postępowałem zgodnie z instrukcjami w tym wątku . Spowoduje to wyłączenie podczas uruchamiania.

  1. Edytować /usr/share/X11/xorg.conf.d/10-evdev.conf
  2. Dodaj Option "Ignore" "on"na końcu sekcji z touchscreenidentyfikatorem
  3. Restart

wprowadź opis zdjęcia tutaj

  • Dla przypomnienia (Google) mam Samsung Series 7, a mój ekran dotykowy został wymieniony jako ELAN Touchscreenw xinput.
  • JFTR też, w tym pytaniu mówi, że różnica zużycia energii jest w większości znikoma.

Dzięki, działało na moim XPS 13 9343 (2015), ekran dotykowy został wymieniony na ekranie dotykowym evdev.
hg8

2
Zrobiłem to na Dell XPS i całkowicie wyłączył ekran. Po uruchomieniu ekran jest po prostu czarny. Uruchomiony w trybie odzyskiwania, usunął linię i wszystko wróciło do normy.
pieroxy

1
Zapobiegło to ponownemu uruchomieniu mojego laptopa do X okien. Nie jest wielkim problemem, aby usunąć to ustawienie, ale coś, co początkujący chcą sprawdzić, może to zrobić przed wypróbowaniem.
Davide,

2
Wyłączono także touchpad w moim Sony Vaio. Jednak ustawienie wartości sterownika na „libinput” załatwiło sprawę
Jason Pawlak

2
W systemie Ubuntu 17.10 nie mogłem znaleźć wymienionego pliku, ale był /usr/share/X11/xorg.conf.d/40-libinput.conf. Zmieniłem podobny blok w tym pliku i przy następnym ponownym uruchomieniu chyba się dowiem, jak poszło!
Oliv Utilo

4

Edytuj plik za pomocą

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

Zmień MatchIsTouchscreen z „on” na „off” w sekcji Touchscreen, aby wyglądał tak:

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

Zapisz, nazwij i wyjdź

Ekran dotykowy jest wyłączony i nie jest już wykrywany na liście xinput.


Działa to na moim Lenovo ideacentre Flex 20, który miał pęknięty ekran.
Merlin04,

Działa to w przypadku Dell XPS 15 i Linux Mint 18. Myślę, że jest to bezpieczniejsze niż korzystanie Option = ignorez odpowiedzi, ponieważ nie wyłącza urządzenia, po prostu nie traktuje go jako ekranu dotykowego.
matt wilkie 12.01.2018

To już nie działa. Zaktualizowałem system do Ubuntu 18.04 i plik 10-evdev.conf zniknął. Próbowałem go odtworzyć, ale nie zadziałało.
Merlin04

@ Merlin04 Czy sprawdziłeś plik libinput? Odpowiedź wspomina o tym: askubuntu.com/a/1038259/167115
mchid

0

Jeśli twój ekran dotykowy jest ekranem dotykowym jak monitor USB, możesz dodać domyślny sterownik jądra usbtouchscreendo pliku czarnej listy modprobe ( /etc/modprobe.d/blacklist.conf) i użyć niestandardowego sterownika, takiego jak touchkitlub evtouch.


0

Jako identyfikator zmian xinput przy ponownym uruchomieniu, dodałem prosty ekran jednowierszowy podczas ładowania sesji:

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

Nazwa mojego urządzenia to „Atmel Atmel maXTouch Digitizer”, zmień to w swoim urządzeniu (użyj xinput --listnazwy urządzenia).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.