【已过时】在Linux上使用高漫M6数位板
2023-02-12:本文已过时
高漫M6现在可以完美地在Linux上工作了。我撰写了一篇新的文章:此处。
本文介绍的大部分内容都已经没有意义了。其中xsetwacom
一节也许值得一看。新来的读者请转到新文章。
以下为原文内容
高漫官方没有给出适用于Linux的驱动程序,截至本文撰写时(2022年7月),Linux内核也没有内置该款数位板的驱动程序,但多亏了Digimend所做的工作,笔者的高漫M6数位板在一番设置之后得以勉强工作起来。
需要指出的是,无论是Linux内核,还是Digimend给出的驱动,目前都不能很好地支持高漫M6,本文所述的解决方法是临时的。但是开发者们已经注意到了这个型号,可以预见在不久的将来该型号或将得到良好的支持。
- 2022-09-04更新:评论区的朋友@编程爱好者-java 指出digimend的GitHub仓库已经有适配M6的PR,目前使用正常。笔者由于板子不在身边无法测试,感兴趣的读者可以移步这里。
笔者使用的发行版是Kubuntu 22.04,不过理论上对于所有发行版都是一样的。
如果你先前没有安装Digimend的驱动,数位板插上之后,移动画笔,光标应该是不动的。
安装digimend-dkms
你首先需要安装digimend-dkms
这个软件包。可以先到GitHub的Release页看看,再去你的发行版的软件源看看,找较新的那一个装上。在我这里,Ubuntu 22.04软件源中的版本较新,所以从软件源安装。
sudo apt install digimend-dkms
- 2022-08-17更新:
digimend-dkms
已经更新到V11,目前可以从github上下载到。不过V11仍未支持高漫M6。
安装好之后,重启,或者如果你不想重启,输入下面的命令
sudo modprobe -r hid-kye hid-uclogic hid-polostar hid-viewsonic
此时,如果你的数位板已经得到了Digimend的支持,那么它应该能够正常工作了。
当然,笔者的高漫M6到这里还是无法工作的,于是进行下一步。
修改Xorg配置文件
在终端输入lsusb
,查看当前连接到本机的所有USB设备。
eslzzyl@eslzzyl-XiaoXin:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 13d3:56ba IMC Networks Integrated Camera
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0bda:c123 Realtek Semiconductor Corp. Bluetooth Radio
Bus 001 Device 003: ID 256c:0064 HUION Huion Tablet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
上面是笔者电脑上的输出。可以看到,倒数第二行有“HUION Huion Tablet”字样的就是高漫M6数位板。高漫似乎是买了绘王的固件,所以识别的ID是Huion。
我们要关注它的ID,在这里,是256c:0064
。
去Digimend官网,在“Tablets”页面查找“Huion”部分,发现没有256c:0064
,表示这个ID所代表的设备尚未得到支持。但是我们可以修改配置文件来试图令系统驱动这个设备。
eslzzyl@eslzzyl-XiaoXin:~$ cd /usr/share/X11/xorg.conf.d/
eslzzyl@eslzzyl-XiaoXin:/usr/share/X11/xorg.conf.d$ ls
10-amdgpu.conf 10-quirks.conf 10-radeon.conf 40-libinput.conf 50-digimend.conf 70-wacom.conf
eslzzyl@eslzzyl-XiaoXin:/usr/share/X11/xorg.conf.d$ sudo vim 50-digimend.conf
即修改文件/usr/share/X11/xorg.conf.d/50-digimend.conf
,注意带上sudo
,否则会没有修改权限。
打开文件后,找到下面这一段(根据“Identifier”项来找)
Section "InputClass"
Identifier "Huion tablets with Wacom driver"
MatchUSBID "5543:006e|256c:006e|256c:006d|256c:0064"
MatchDevicePath "/dev/input/event*"
MatchIsKeyboard "false"
Driver "wacom"
EndSection
在“MatchUSBID”后面,加上256c:0064
。可以看到这里我已经加上了。
保存退出,重启电脑,此时数位板应该可以使用了。
但是,在我这里,板子只有左半边能够正常工作(纠正:应为左边的\(\frac{1}{3}\)),也即左半边被映射到了整个屏幕。目前尝试多种方案均无果,为了让使用自然一些,我们通过xsetwacom
使映射关系旋转90度。
xsetwacom
首先输入xsetwacom list
,查看当前连接的数位板设备。
eslzzyl@eslzzyl-XiaoXin:/usr/share/X11/xorg.conf.d$ xsetwacom list
HUION Huion Tablet stylus id: 17 type: STYLUS
HUION Huion Tablet eraser id: 18 type: ERASER
上面是笔者电脑上的输出。我们重点关注第一行的“HUION Huion Tablet stylus”。
输入xsetwacom list parameters
,可以看到xsetwacom
支持的各类参数,可以通过
xsetwacom get 'HUION Huion Tablet stylus' [参数名]
来查看数位板指定参数的值。
通过
xsetwacom get 'HUION Huion Tablet stylus' all
来一次性获得数位板的所有参数。
通过
xsetwacom set 'HUION Huion Tablet stylus' [参数名] [参数值]
来设置数位板指定参数的值。
可以自己修改一些参数来试一试效果。这里我们只修改Rotate
参数:
xsetwacom get 'HUION Huion Tablet stylus' Rotate CW
Rotate
参数有4个可用的值(xsetwacom list parameters
的输出中可以看到所有的可用值),分别是none
、cw
、ccw
和half
。具体的效果可以试一试,然后旋转数位板,观察光标的行为。具体到我们的情况,cw
和ccw
都是合适的,它们实际上是把数位板竖起来用,使得数位板输入区域和屏幕的比例比较匹配。
数位板的按键也可以设置映射,可以参考ArchWiki。
xsetwacom
是临时的设置,在重启后就会恢复默认值,如果需要持久化设置,也可以参考上面的链接。
使用Xournal++
安装Xournal++:
sudo apt install xournalpp
打开后,点击 编辑-偏好设置...,选择“触控笔”选项卡,可以配置笔上的按键映射。