🐧使用指北-022-触摸检测调试[译]

type
status
date
slug
summary
tags
category
icon
password
这是 Ubuntu 调试方法系列中的一篇,只翻译通用的定位工作流和调试小技巧。
如果触摸板的功能(如点击和滚动)根本不起作用,用户将不会在主菜单的“系统”->“管理”->“鼠标”中看到触摸板选项卡。这意味着触摸板被错误检测为PS/2鼠标,这里必须遵循以下工作流程:

判断是否是内核问题

检查内核是否成功识别到触摸板,在终端中执行如下命令:
cat /proc/bus/input/devices
如果触摸板已经被检测到,就会出现类似:
如果触摸板没有被检测到,这必定是一个内核问题。

检查 X 服务是识别到触摸板

通过如下命令:xinput --list,你会看到类似上面的信息

检查 libinput 是否被正确加载

检查 libinput(或者旧版本 Ubuntu中 是 synaptics)模块是否在 xserver 被正确的加载,或者执行命令:
cat /var/log/Xorg.0.log | grep -i synaptics

检查设备具体属性

对于滚动区、触摸区、按钮错误映射、多点触控等问题,请尝试使用以下方式进行调查:
evtest /dev/input/eventXxev
具体的名称可以通过 xinput --list 来查看
例如 :
↳ TouchPad id=6 [slave pointer (2)]
之后输入:xinput --list-props 6

调试 libinput 的方法

当调试 libinput 时,libinput-debug-events 会非常有用,这个命令在 libinput-tools 包中。

根据制造商调试

  • 如果触摸板的制造商是 Synaptics,请尝试加载 psmouse 内核模块,设置内核启动参数 synaptics_intertouch=0
  • 如果触摸板的制造商是 Elantech,请尝试加载 psmouse 内核模块,设置内核启动参数 elantech_smbus=0,这个选项需要内核版本高于v4.18.

原文地址

中年码农的困境log-001-我与计算机