如何修复 Cintiq 21UX 触控条的按钮映射?在平板电脑设置中映射 Wacom 按钮时,触控条模式的按钮映射会被反转。
此错误导致 LED 灯/触控条模式与 Cintiq 相对两侧的按钮相对应,而不是与它们的正确分组相对应。
更新:
该问题不会影响 Linux Mint 19 Cinnamon。
使用 Gnome 时不会影响 OpenSUSE Leap。
不影响 Fedora 28 的全新安装。虽然发布的版本会导致 gnome-shell 崩溃,因此需要更新。更新后的版本已切换切换按钮。
此问题确实影响 Ubuntu 18.04
可能的修复方法是降级 libwacom 版本和/或 libinput。我仍然不确定到底是什么导致了这个问题。
有人能指导我找到问题的根源吗?我很想编译一个修复版本并使用更新后的图形按钮映射。
答案1
注意:此修复仅适用于未运行 Wayland 的 Ubuntu。Wayland 似乎具有正确的按钮映射,但使用任何 wacom 按钮都会崩溃到登录屏幕。因此,在修复之前,请不要使用它。
要解决触摸条的按钮映射,您必须下载源文件并从 input-wacom 的内核驱动程序中修改与触摸条相关的 4 个条目。https://github.com/linuxwacom/input-wacom/releases
开始之前,您必须先安装此处概述的先决条件https://github.com/linuxwacom/input-wacom/wiki/Installing-input-wacom-from-source
sudo apt-get install linux-headers-$(uname -r) build-essential
sudo apt-get install autoconf
您可能需要此处的依赖项https://github.com/linuxwacom/xf86-input-wacom/wiki/Building-The-Driver
下载源文件后,解压文件,然后导航到每个名为“wacom_wac.c”的文件并进行编辑。在我的文件夹中,我在五个不同的文件夹中看到了这个文件。我的系统只使用了最后一个文件夹,但为了安全起见,我更改了所有文件夹。
找到与 strip1 和 strip2 相关的以下代码。
strip1 = ((data[1] & 0x1f) << 8) | data[2];
strip2 = ((data[3] & 0x1f) << 8) | data[4];
交换数据[1]和数据[3],交换数据[2]和数据[4],如下所示:
strip1 = ((data[3] & 0x1f) << 8) | data[4];
strip2 = ((data[1] & 0x1f) << 8) | data[2];
保存文件。打开终端,并导航到修改后的解压文件夹。
cd '/home/[your username here]/Downloads/[input-wacom file here]'
按照“...installing-input-wacom-from-source”页面中概述的步骤进行构建和安装:
if test -x ./autogen.sh; then ./autogen.sh; else ./configure; fi && make && sudo make install || echo "Build Failed"
重启系统。现在 LED/按钮切换应该映射到正确的触摸条上。
享受。