首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libinput手掌检测不起作用

libinput手掌检测不起作用
EN

Unix & Linux用户
提问于 2018-08-19 04:48:02
回答 4查看 3.3K关注 0票数 5

最近我买了一个新的戴尔XPS 15,并在上面安装了Debian。它以前运行Windows 10,手掌检测/拒绝操作非常完美,正如我所预期的那样。但是现在,运行Debian并使用libinput,掌上检测(据我所知)是不存在的/完全破坏。

xinput | grep -i touchpad的输出:

代码语言:javascript
复制
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]

xinput list-props 13的输出:

代码语言:javascript
复制
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文件:

代码语言:javascript
复制
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触摸屏驱动程序,包括执行以下操作:

代码语言:javascript
复制
apt install -y xserver-xorg-input-synaptics
synclient PalmDetect=1

然后,通过干扰以下设置,结果没有效果:

代码语言:javascript
复制
synclient PalmMinWidth=4
synclient PalmMinZ=80

对于PalmMinWidth,我尝试了0到15之间的所有东西,对于PalmMinZ,我尝试了50到150之间的所有东西。毫无办法。但是如果还不清楚的话--我已经知道这是因为ABS_TOOL_WIDTH is没有报告。这一点我很确定,因此这不是我问题的基础--我的问题是,我将如何解决ABS_TOOL_WIDTH的报告问题,或者其他能产生类似结果的解决办法。

EN

回答 4

Unix & Linux用户

回答已采纳

发布于 2018-09-10 17:29:05

我终于找到了一个愚蠢的简单的解决方案:

升级包就行了。

我下载了以下4个软件包:

  • libinput10_1.11.3-1_amd64.deb
  • libinput-bin_1.11.3-1_amd64.deb
  • libwacom2_0.30-1_amd64.deb
  • libwacom-common_0.30-1_all.deb

然后用dpkg安装它们,如下所示:

代码语言:javascript
复制
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也应该工作)。在我的笔记本电脑重新启动后,掌心探测就像一种魅力。

票数 1
EN

Unix & Linux用户

发布于 2018-08-19 06:10:05

创建包含以下内容的文件/etc/X11/xorg.conf.d/50-synaptics.conf

代码语言:javascript
复制
Section "InputClass"
        Identifier      "touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver          "synaptics"
        Option          "PalmDetect"          "1"
        Option          "PalmMinWidth"        "5"
        Option          "PalmMinZ"            "100"
EndSection

重新启动您的笔记本电脑后,应用新的配置。玩PalmMinWidth选项,以达到最佳效果-尝试值34等。

另一种方法是临时设置属性,只需在终端中执行:

代码语言:javascript
复制
xinput set-prop 13 "Synaptics Palm Detection" 1
xinput set-prop 13 "Synaptics Palm Dimensions" 5, 5

Synaptics Palm Dimensions尝试不同的值。

另外阅读合成-同步触摸屏输入驱动程序

票数 2
EN

Unix & Linux用户

发布于 2023-05-03 14:02:52

我知道我的答案并不是针对具体的场景(操作系统、笔记本电脑模型等),但我不得不提到是什么为我解决了这个问题。

我正在使用Fedora 38与KDE等离子5.27和X11的联想ThinkPad E14代4。

出于某种原因,我安装了:

代码语言:javascript
复制
xorg-x11-drv-synaptics-devel 1.9.2-3.fc38
xorg-x11-drv-synaptics-legacy 1.9.2-3.fc38

这些rpm是一切的根本原因。在移除它们并且只与libinput一起离开之后,掌上检测(尽管在KDE设置中不再有这样的设置/配置,在删除了上面的包后)开始像一个魅力一样工作。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/463447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档