如何在Gnome Shell(Ubuntu 17.10)中启用Wacom触控条滚动?
我碰到过不少Gnome Shell环境下Wacom设备的配置冲突问题,你的情况很典型——xsetwacom显示触控条默认是发送垂直滚动信号,但系统GUI设置却显示无作用,大概率是Gnome自身的输入管理逻辑或者第三方工具在拦截信号。下面是一步步的排查和解决方法:
1. 先确认触控条的设备信息
首先得精准定位你的触控条设备,打开终端执行:
xsetwacom list devices
你会看到类似这样的输出,找到带“Strip Pad”或者明确标注是触控条的设备项,记下它的ID(比如12)或者设备名:
Wacom Intuos3 6x8 Strip Pad pad id: 12 type: PAD
2. 核对当前按钮映射配置
用xsetwacom查看该设备的实际按钮设置:
xsetwacom get <设备ID或设备名> Button
如果默认配置是发送滚动信号,输出会包含button 4(向上滚动)和button 5(向下滚动)。如果这里的配置和GUI显示不一致,说明Gnome的设置工具没有正确同步底层配置。
3. 排查Gnome设置与扩展冲突
- 先尝试GUI设置同步:打开系统设置里的数位板配置,找到触控条选项,手动设置为“垂直滚动”,然后再用上面的
xsetwacom命令确认配置是否更新。如果GUI设置后依然无效,可能是Gnome的设置服务没有正常刷新。 - 禁用第三方Gnome扩展:很多输入设备类的扩展(比如自定义快捷键、手势工具)会拦截或修改输入信号。打开Gnome Tweaks工具,暂时禁用所有第三方扩展,然后测试触控条滚动是否正常。如果恢复,逐个重新启用扩展,找到冲突的那个。
4. 手动强制配置触控条映射
如果GUI设置始终无效,可以直接用xsetwacom命令强制绑定滚动功能:
# 假设触控条的两个按钮对应Button 1和Button 2,根据实际设备调整 xsetwacom set <设备ID或设备名> Button 1 "button 4" xsetwacom set <设备ID或设备名> Button 2 "button 5"
执行后立刻测试滚动是否生效。如果有效,为了让配置永久生效,可以把这段命令添加到~/.profile文件末尾,或者创建一个systemd用户服务,确保开机自动应用。
5. 检查Xorg配置文件冲突
Ubuntu 17.10使用libinput处理输入设备,有时候系统自带的Wacom配置会覆盖自定义设置:
- 查看系统默认配置:
/usr/share/X11/xorg.conf.d/70-wacom.conf,看看有没有针对触控条的特殊设置。 - 创建自定义配置:在
/etc/X11/xorg.conf.d/目录下新建99-wacom-custom.conf文件,添加以下内容(替换成你的设备名):
Section "InputClass" Identifier "Wacom Intuos3 Strip Pad Custom" MatchProduct "Wacom Intuos3 6x8 Strip Pad" MatchDevicePath "/dev/input/event*" Driver "wacom" Option "Button1" "4" Option "Button2" "5" EndSection
保存后重启电脑,让Xorg加载新配置。
6. 排查其他信号拦截工具
一些全局快捷键工具(比如xbindkeys)、鼠标手势软件可能会捕获滚动信号,导致触控条的输入无法正常传递。暂时关闭这类软件,测试滚动功能是否恢复,找到问题软件后调整其过滤规则。
内容的提问来源于stack exchange,提问作者Ian Mackinnon

