![如何禁用笔记本电脑上的触摸屏?](https://linux22.com/image/53899/%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E4%B8%8A%E7%9A%84%E8%A7%A6%E6%91%B8%E5%B1%8F%EF%BC%9F.png)
我的笔记本电脑有触摸屏,但我不使用它。如何禁用此功能?我使用 Arch Linux。我想我可以尝试删除相关的驱动程序。根据这一页可能的驱动程序都已命名xf86-input*
。但是,看起来我没有安装任何类似的东西:
# 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
知道如何找到负责任的司机或以其他方式禁用触摸屏功能吗?
答案1
除了卸载适当的驱动程序(这可能无法工作,因为某些设备充当通常的鼠标设备,并且只需要特定的驱动程序来实现更复杂的功能,并且您安装的驱动程序列表表明了这一点)您还可以通过该xinput
工具或通过显式匹配来禁用该设备在xorg.conf
。
要使用 禁用设备xinput
,您必须确定设备的 XInput id:
$ 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)]
在此示例中,“我烦人的触摸屏”具有 id 14
。因此,要禁用它,只需键入
$ xinput disable 14
要通过 禁用它xorg.conf
,您只需在目录下创建一个文件/etc/X11/xorg.conf.d
,例如99-no-touchscreen.conf
包含以下内容:
Section "InputClass"
Identifier "Touchscreen catchall"
MatchIsTouchscreen "on"
Option "Ignore" "on"
EndSection
这会忽略全部触摸屏设备。如果您有多个指令并且想要使用其中一个或多个指令,您可以使用其他Match
指令之一指定更精确的匹配。有关更多详细信息,请参阅xorg.conf
联机帮助页(只需搜索“匹配”,您就应该找到您要查找的内容)。
答案2
答案3
你可以运行须藤 lspci -vnn控制台上的命令显示所有设备的所有硬件信息,并尝试搜索包含 touch 字的行。
每个设备都有两行显示所使用的驱动程序,如下所示:使用的内核驱动程序:driver_name
内核模块:driver_name以下是 Linux 支持的触摸屏设备列表 http://lii-enac.fr/en/architecture/linux-input/multitouch-devices.html
您可以将您的发现与此页面中的设备列表进行比较,然后可以使用此处的说明将驱动程序列入黑名单:https://wiki.archlinux.org/index.php/kernel_modules#Blacklisting
答案4
这个答案是基于安德烈亚斯·维泽的回答。我无法使用MatchIsTouchscreen "on"
。这与我的触摸屏不匹配。相反,你可以使用匹配产品在你的 xorg 配置中。查看输出中的第一行的xinput list-props
产品名称。
xinput list-props 14
Device 'ELAN900C:00 04F3:2E4B':
Device Enabled (183): 1
Coordinate Transformation Matrix (185): 1.00000.....
libinput Rotation Angle (295): 0.000000
libinput Rotation Angle Default (296): 0.000000
libinput Calibration Matrix (343): 1.000000.....
libinput Calibration Matrix Default (344): 1.000000.....
libinput Send Events Modes Available (297): 1, 0
libinput Send Events Mode Enabled (298): 0, 0
libinput Send Events Mode Enabled Default (299): 0, 0
Device Node (300): "/dev/input/event14"
Device Product ID (301): 1267, 11851
很难找出哪个属性可用于在 Xorg 配置中进行匹配。希望这对下一个人有帮助。
我的“/etc/X11/xorg.conf.d/99-touchscreen.conf”现在看起来像这样:
Section "InputClass"
Identifier "Touchscreen"
MatchProduct "ELAN900C:00 04F3:2E4B"
Option "Ignore" "on"
EndSection