最近我买了一个新的戴尔XPS 15,并在上面安装了Debian。它以前运行Windows 10,手掌检测/拒绝操作非常完美,正如我所预期的那样。但是现在,运行Debian并使用libinput,掌上检测(据我所知)是不存在的/完全破坏。
xinput | grep -i touchpad的输出:
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]xinput list-props 13的输出:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (116): 1
Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (269): 1
libinput Tapping Enabled Default (270): 0
libinput Tapping Drag Enabled (271): 1
libinput Tapping Drag Enabled Default (272): 1
libinput Tapping Drag Lock Enabled (273): 0
libinput Tapping Drag Lock Enabled Default (274): 0
libinput Tapping Button Mapping Enabled (275): 1, 0
libinput Tapping Button Mapping Default (276): 1, 0
libinput Accel Speed (251): 0.000000
libinput Accel Speed Default (252): 0.000000
libinput Natural Scrolling Enabled (256): 0
libinput Natural Scrolling Enabled Default (257): 0
libinput Send Events Modes Available (236): 1, 1
libinput Send Events Mode Enabled (237): 0, 0
libinput Send Events Mode Enabled Default (238): 0, 0
libinput Left Handed Enabled (258): 0
libinput Left Handed Enabled Default (259): 0
libinput Scroll Methods Available (260): 1, 1, 0
libinput Scroll Method Enabled (261): 1, 0, 0
libinput Scroll Method Enabled Default (262): 1, 0, 0
libinput Click Methods Available (277): 1, 1
libinput Click Method Enabled (278): 1, 0
libinput Click Method Enabled Default (279): 1, 0
libinput Middle Emulation Enabled (265): 0
libinput Middle Emulation Enabled Default (266): 0
libinput Disable While Typing Enabled (280): 1
libinput Disable While Typing Enabled Default (281): 1
Device Node (239): "/dev/input/event1"
Device Product ID (240): 2, 7
libinput Drag Lock Buttons (267):
libinput Horizontal Scroll Enabled (268): 1我的/etc/X11/xorg.conf.d/40-libinput.conf文件:
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Tapping" "on"
Option "TappingDrag" "on"
EndSection一个用sudo evemu-record /dev/input/event1 >> eventlog-finger.log生成的D8,在触摸屏上使用我的手指,就像在正常使用期间一样。
使用sudo evemu-record /dev/input/event1 >> eventlog-palm.log生成一个D10,在我尝试键入时,在触摸屏上使用我的手掌。
如果您查看事件日志,您将看到ABS_TOOL_WIDTH只在每个日志的开头出现一次。据我所发现的,这里和这里,这是一个(有点)已知的问题,在这个问题中,ABS_TOOL_WIDTH从来没有被报告为0以外的任何东西。这显然破坏了使用synaptics驱动程序的掌心检测,我也认为在libinput中也是如此。
尝试在我的笔记本上做任何事情而不插入外部鼠标并禁用触摸屏几乎是不可能的,鼠标跳转,更麻烦的是,有时我的手掌可以点击触控板,让我在某个无法预测或根本无法预测的地方打字。
如果有人对如何开始修复这个问题有任何了解的话,我们将不胜感激。
Edit 1:
我应该指出,我已经尝试过使用Synaptics触摸屏驱动程序,包括执行以下操作:
apt install -y xserver-xorg-input-synaptics
synclient PalmDetect=1然后,通过干扰以下设置,结果没有效果:
synclient PalmMinWidth=4
synclient PalmMinZ=80对于PalmMinWidth,我尝试了0到15之间的所有东西,对于PalmMinZ,我尝试了50到150之间的所有东西。毫无办法。但是如果还不清楚的话--我已经知道这是因为ABS_TOOL_WIDTH is没有报告。这一点我很确定,因此这不是我问题的基础--我的问题是,我将如何解决ABS_TOOL_WIDTH的报告问题,或者其他能产生类似结果的解决办法。
发布于 2018-09-10 17:29:05
我终于找到了一个愚蠢的简单的解决方案:
升级包就行了。
我下载了以下4个软件包:
libinput10_1.11.3-1_amd64.deblibinput-bin_1.11.3-1_amd64.deblibwacom2_0.30-1_amd64.deblibwacom-common_0.30-1_all.deb然后用dpkg安装它们,如下所示:
trevor@xps:~$ cd ~/downloads/
trevor@xps:~$ sudo dpkg -i libwacom-common_0.30-1_all.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libwacom2_0.30-1_amd64.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libinput-bin_1.11.3-1_amd64.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libinput10_1.11.3-1_amd64.deb
...dpkg runs...并重新启动我的系统(重新启动X也应该工作)。在我的笔记本电脑重新启动后,掌心探测就像一种魅力。
发布于 2018-08-19 06:10:05
创建包含以下内容的文件/etc/X11/xorg.conf.d/50-synaptics.conf:
Section "InputClass"
Identifier "touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "synaptics"
Option "PalmDetect" "1"
Option "PalmMinWidth" "5"
Option "PalmMinZ" "100"
EndSection重新启动您的笔记本电脑后,应用新的配置。玩PalmMinWidth选项,以达到最佳效果-尝试值3,4等。
另一种方法是临时设置属性,只需在终端中执行:
xinput set-prop 13 "Synaptics Palm Detection" 1
xinput set-prop 13 "Synaptics Palm Dimensions" 5, 5为Synaptics Palm Dimensions尝试不同的值。
另外阅读合成-同步触摸屏输入驱动程序。
发布于 2023-05-03 14:02:52
我知道我的答案并不是针对具体的场景(操作系统、笔记本电脑模型等),但我不得不提到是什么为我解决了这个问题。
我正在使用Fedora 38与KDE等离子5.27和X11的联想ThinkPad E14代4。
出于某种原因,我安装了:
xorg-x11-drv-synaptics-devel 1.9.2-3.fc38
xorg-x11-drv-synaptics-legacy 1.9.2-3.fc38这些rpm是一切的根本原因。在移除它们并且只与libinput一起离开之后,掌上检测(尽管在KDE设置中不再有这样的设置/配置,在删除了上面的包后)开始像一个魅力一样工作。
https://unix.stackexchange.com/questions/463447
复制相似问题