如何在Ubuntu 17.04上配置Wacom手写笔?

我刚买了一台联想ThinkPad X1 Yoga,它有一个Wacom触摸屏和手写笔。

它们都很好用,但我想重新设置笔上的按钮和长按行为。 在以前的Ubuntu版本中,您可以在设置中转到Wacom平板电脑并更改其中的所有内容,但现在它说我没有手写笔或平板电脑。 测试我的设置弹出窗口实际上检测到手写笔很有趣

找不到手写笔

没有检测到平板

“测试我的设置”对话框,它的工作原理

xinput正确显示所有输入设备:

 $ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger id=9 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=14 [slave pointer (2)] ⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen Pen (0) id=16 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen id=10 [slave keyboard (3)] ↳ Integrated Camera id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)] 

似乎它正在使用libinput进行一切(我认为这可能是问题):

 $ journalctl --boot | grep -e "Using input driver 'libinput'" (II) Using input driver 'libinput' for 'Power Button' (II) Using input driver 'libinput' for 'Video Bus' (II) Using input driver 'libinput' for 'Sleep Button' (II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Finger' (II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Pen' (II) Using input driver 'libinput' for 'Integrated Camera' (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard' (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad' (II) Using input driver 'libinput' for 'TPPS/2 IBM TrackPoint' (II) Using input driver 'libinput' for 'ThinkPad Extra Buttons' (II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Pen Pen (0)' (II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Pen Eraser (0x96d2bb6c' 

请注意,我尝试安装旧的xserver-xorg-input-wacom但触摸屏将不再起作用(只是笔),并且设置中的配置无论如何都不起作用。 我的一个朋友,在升级后可以在Ubuntu 16.04上配置得很好,在HP敞篷笔记本电脑上也有同样的问题。

有没有其他方法可以重新映射按钮并配置其行为?

TBH,我不确定libinput是如何与这种情况相关的。 以下是一些可能有所帮助的想法。

Xsetwacom出现在Ubuntu 17.04上。 Xsetwacom在Wacom X驱动程序中将堆栈中的按钮重新映射到层中,从而绕过了使用gnome进行重映射的需要。 我在17.04用不透明的平板电脑测试了xsetwacom,并能够重新映射按钮。 我没有瑜伽测试,但如果xsetwacom -s get "Your device name from xsetwacom list" all

显示设备的属性,您应该能够使用xsetwacom设置它们。

另一个想法,这个提交[1]为libwacom添加了一些瑜伽设备。 因此,如果您希望设备显示在控制面板中,则可能需要更新libwacom。 现在你需要从那个git存储库[2]那里做到这一点,因为尚未发布包含这些更改的版本。

[1] https://sourceforge.net/p/linuxwacom/libwacom/ci/3b37fe15814cfa4c0ed72722edb0225d18563c5c/ [2] http://linuxwacom.sourceforge.net/wiki/index.php/Libwacom

在一天结束时,这是我最终发现的:

  • 平板电脑和指示笔的布局数据由Linux Wacom项目处理,如果缺少则应该为它们提供帮助。 它包括有关设备的所有信息,例如按钮的数量。
  • 新平板电脑的数据,一旦有人提供,最终会在一段时间后打包到发行版中。 事实上,自Ubuntu 18.04以来,我的平板电脑的Wacom设置页面已经运行。
  • Xorg(使用libinput )上的输入设备配置使用xinput工具进行管理。 通过运行xinput --list-props ,可以列出所有可用设置,并且可以对其进行配置。
  • 在Wayland上,一切都变得更加复杂:输入配置与其他所有显示/ HID相关设置一样,由合成器管理。
    • GNOME使用gsettings管理它们:您可以在/org/gnome/desktop/peripherals看到dconf-editor的配置。 GNOME设置通过更改其中的内容来完成其工作。
    • 在Weston上,您必须更改配置文件( 源 )。
    • 其他合成者可能表现不同。

最终我还没有设法配置我的手写笔,但我认为这是手写笔的错:它有两个按钮,但实际上它们不能重新映射:一个用作橡皮擦,另一个用作按钮。 它们无法交换。