Làm cách nào để tắt trình điều khiển màn hình cảm ứng?


41

Tôi có một màn hình cảm ứng, nhưng các trình điều khiển không hoạt động đúng và can thiệp vào chuột của tôi.

Có thể tắt màn hình cảm ứng của tôi để tôi có thể hoạt động lại đúng cách không?

Câu trả lời:


52

Bạn có thể thử vô hiệu hóa thiết bị đầu vào bằng xinputlệnh. Trước tiên hãy xem bạn có thiết bị đầu vào nào, chỉ cần gõ:

xinput

Và bạn sẽ thấy một danh sách như:

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

Sau đó, bạn có thể vô hiệu hóa thiết bị đầu vào mà bạn muốn bằng lệnh này:

xinput disable 9

Trong đó 9 là id của thiết bị bạn muốn tắt. Bạn cũng có thể sử dụng tên thiết bị giữa các dấu ngoặc kép.

Trong phiên bản xinput 1.5.99.1, bạn cần phải làm xinput set-prop 9 'Device Enabled' 0thay thế. Điều lạ lùng là xinput v1.6.2 cách đầu tiên hoạt động.


1
Điều này hoạt động trên yoga lenovo của tôi (2012) chạy trên Ubuntu 14.04.
Jeremy Upsal

7
Hoạt động trên Dell XPS 13 chạy Ubuntu 16.04. Tôi cũng đã thêm tính năng này để ~/.profiletự động áp dụng sau khi khởi động lại:xinput | grep 'ELAN Touchscreen' | grep -Po 'id=\d+' | cut -d= -f2 | xargs xinput disable
TalkLittle

Atmel cũng có vẻ khá phổ biến, một cách khác như @TalkLittle : xinput enable `xinput | grep Atmel | sed "s/^.*id=\([0-9]*\).*$/\1/"`. Lệnh bên trong What backticks trả về id.
Pablo A

Cảm ơn bạn. hoạt động trên dòng dell Inspiron 13 7000 chạy Ubuntu 16.10
durga

Đây là một gt trên tùy chọn reat. Tôi thích một cách để biến tôi
midopa

27

Các xinputgiải pháp đã không làm việc cho tôi. Tôi thay vì làm theo các hướng dẫn trong chủ đề này . Điều này sẽ vô hiệu hóa nó tại thời điểm khởi động.

  1. Biên tập /usr/share/X11/xorg.conf.d/10-evdev.conf
  2. Thêm Option "Ignore" "on"vào cuối phần với mã touchscreenđịnh danh
  3. Khởi động lại

nhập mô tả hình ảnh ở đây

  • Đối với bản ghi (Google), tôi có Samsung Series 7 và màn hình cảm ứng của tôi được liệt kê như ELAN Touchscreentrong xinput.
  • JFTR cũng vậy, trong câu hỏi này nói rằng sự khác biệt tiêu thụ năng lượng là không đáng kể.

Cảm ơn, nó đã hoạt động trên XPS 13 9343 (2015) của tôi, màn hình cảm ứng được liệt kê màn hình cảm ứng evdev.
hg8

2
Tôi đã làm điều đó trên Dell XPS và nó đã vô hiệu hóa hoàn toàn màn hình. Sau khi khởi động màn hình chỉ là màu đen. Khởi động trong chế độ phục hồi, loại bỏ dòng và mọi thứ trở lại bình thường.
pieroxy

1
Điều này ngăn máy tính xách tay của tôi khởi động lại vào X windows. Không phải là một vấn đề lớn để loại bỏ cài đặt đó, nhưng một cái gì đó người mới muốn kiểm tra họ có thể làm trước khi thử nó.
Davide

2
Cũng vô hiệu hóa bàn di chuột trên Sony Vaio của tôi. Mặc dù vậy, việc đặt giá trị trình điều khiển thành "libinput" đã thực hiện thủ thuật
Jason Pawlak

2
Trên Ubuntu 17.10, tôi không thể tìm thấy tệp bạn đã liệt kê nhưng có /usr/share/X11/xorg.conf.d/40-libinput.conf. Tôi đã thay đổi một khối tương tự trong tập tin này và ở lần khởi động lại tiếp theo, tôi đoán tôi sẽ tìm hiểu xem nó đã diễn ra như thế nào!
Oliv Utilo

4

Chỉnh sửa tập tin với

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

Thay đổi MatchIsTouchscreen từ "bật" thành "tắt" trong phần Màn hình cảm ứng để nó trông như thế này:

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

Lưu, Đặt tên và Thoát

Màn hình cảm ứng bị vô hiệu hóa và không còn được phát hiện trong danh sách xinput.


Điều này hoạt động trên chiếc Lenovo ý tưởng Flex 20 của tôi, có màn hình bị nứt.
Merlin04

Điều này hoạt động cho Dell XPS 15 và Linux Mint 18. Tôi nghĩ rằng điều này an toàn hơn so với sử dụng Option = ignoretừ câu trả lời, vì nó không vô hiệu hóa thiết bị chỉ không không coi nó là màn hình cảm ứng.
matt wilkie

Điều này không còn hoạt động nữa. Tôi đã cập nhật lên Ubuntu 18.04 và tệp 10-evdev.conf đã biến mất. Tôi đã thử tạo lại nó, nhưng nó không hoạt động.
Merlin04

@ Merlin04 Bạn đã kiểm tra tệp libinput chưa? Có một câu trả lời đề cập đến điều này: Askubfox.com/a/1038259/167115
mchid

0

Nếu màn hình cảm ứng của bạn là màn hình bảng cảm ứng như màn hình USB, bạn có thể thêm trình điều khiển hạt nhân mặc định usbtouchscreenvào tệp danh sách đen của modprobe ( /etc/modprobe.d/blacklist.conf) và sử dụng trình điều khiển tùy chỉnh của bạn như touchkithoặc evtouch.


0

Vì id cho thay đổi xinput khi khởi động lại, tôi đã thêm một màn hình một dòng đơn giản khi tải phiên:

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

Tên thiết bị của tôi là "Atmel Atmel maXTouch Digit", thay đổi tên đó với thiết bị của bạn (sử dụng xinput --listcho tên thiết bị).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.