libinput忽略配置文件:打字时禁用触摸板配置失效求助
我之前折腾触摸板配置时也碰到过几乎一模一样的情况,给你几个实用的排查和解决方向:
检查配置文件的语法与优先级
首先确认/usr/share/X11/xorg.conf.d/90-libinput.conf的结构是否正确:开头的Section "InputClass"、匹配规则MatchIsTouchpad "on"和MatchDevicePath "/dev/input/event*"有没有写错,每个Option是不是放在Driver "libinput"之后、EndSection之前。另外,看看同目录下有没有其他优先级更高(数字更大)的触摸板配置文件,比如100-something.conf;或者有没有旧的synaptics配置文件(比如50-synaptics.conf)还在生效——如果synaptics驱动没被完全卸载,它会和libinput冲突,导致你的配置被覆盖。查看Xorg日志的具体错误
既然xorg.0.log证实了配置被忽略,仔细翻日志里的相关条目,比如有没有类似(WW) Option "XXX" is not valid for this device或者(EE) Failed to load configuration from 90-libinput.conf的提示,这些能直接告诉你哪个选项出了问题,或者配置文件本身有没有加载失败。用xinput临时验证功能可行性
先绕开配置文件,用命令行临时设置测试:xinput set-prop "Elan Touchpad" "libinput Tapping Enabled" 1 xinput set-prop "Elan Touchpad" "libinput Disable While Typing Enabled" 1如果这些命令能生效,说明你的触摸硬件本身支持这些功能,问题肯定出在配置文件的加载或者被覆盖上;如果命令也没效果,那可能是libinput版本不兼容,或者你的Elan触摸板需要额外的补丁支持。
排查桌面环境的设置覆盖
很多桌面环境(比如GNOME、KDE、Xfce)自带的触摸板设置优先级比Xorg全局配置更高,哪怕你改了90-libinput.conf,桌面环境的设置也会把它覆盖。比如GNOME里可以打开设置→触摸板,确认“轻击点击”和“打字时禁用触摸板”是开启状态;或者用命令行强制设置:gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing true如果你想让Xorg配置完全生效,可能需要禁用桌面环境对触摸板的自动配置。
重置配置文件再试
先备份你的90-libinput.conf,然后替换成libinput的默认配置框架,再手动添加需要的选项:Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" # 保留你需要的选项 Option "Tapping" "on" Option "DisableWhileTyping" "on" Option "AccelSpeed" "0.2" EndSection保存后重启Xorg或者电脑,再用
xinput list-props "Elan Touchpad"检查配置是否生效。
内容的提问来源于stack exchange,提问作者Stefano Tambellini

