Parblo 数位板
Parblo 数位板没有得到 Parblo 的官方 Linux 支持。即使社区也没有提供支持,但有一个变通方法可以在 Arch Linux 上使其正常工作。
配置
识别
Arch Linux 必须能够毫无问题地识别数位板输入,但预设按钮的配置可能很奇怪,并且无法修改。其中一些按钮甚至可能没有功能。
连接数位板后,第一步必须使用命令 lsusb 识别您的数位板。输出应该类似于
Bus 001 Device 009: ID 0483:a640 STMicroelectronics Parblo A640 V2(F1)
(在此示例中,我们有一个 Parblo A640 V2 数位板。请确保将输出与您的数位板匹配。) 获取 Vendor ID 非常重要,它在 ID vendor:product 的输出中找到,因此在此示例中是 0483。
识别 Vendor ID 后,您必须找到与您的数位板匹配的最通用 modalias。要获取此信息,您应该在终端中运行以下命令
# find /sys -name *modalias | xargs grep -i vendor_id
输出应该显示类似以下内容
# find /sys -name *modalias | xargs grep -i 0483
/sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/0003:0483:A640.000C/input/input40/modalias:input:b0003v0483pA640e0100-e0,1,4,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8C,8E,96,98,9E,9F,A1,A3,A4,A5,A6,AD,B0,B1,B2,B3,B4,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,lsfw /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/0003:0483:A640.000C/input/input39/modalias:input:b0003v0483pA640e0100-e0,1,2,3,4,k110,111,112,113,114,14A,r0,1,6,8,B,C,a0,1,18,m4,lsfw /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/0003:0483:A640.000C/modalias:hid:b0003g0001v00000483p0000A640 /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/modalias:usb:v0483pA640d0000dc00dsc00dp00ic03isc01ip03in00 /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.1/0003:0483:A640.000D/input/input41/modalias:input:b0003v0483pA640e0100-e0,1,3,4,k140,14A,14B,14C,ra0,1,18,1A,1B,m4,lsfw /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.1/0003:0483:A640.000D/modalias:hid:b0003g0001v00000483p0000A640 /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.1/modalias:usb:v0483pA640d0000dc00dsc00dp00ic03isc01ip02in01 /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.2/0003:0483:A640.000E/modalias:hid:b0003g0001v00000483p0000A640 /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.2/modalias:usb:v0483pA640d0000dc00dsc00dp00ic03isc00ip00in02
您必须找到与您找到的所有 /input/input*/modalias:input: 相对应的最通用术语。在此示例中,最通用术语是 b0003v0483pA640e0100。
创建 hwdb 规则
为了创建 hwdb 规则来设置您的数位板,您必须识别与您要重映射的按钮相关的输入文件。您应该安装 evtest,然后运行命令 cat /proc/bus/input/devices
$ cat /proc/bus/input/devices
I: Bus=0003 Vendor=0483 Product=a640 Version=0100 N: Name=" Parblo A640 V2(F1) Mouse" P: Phys=usb-0000:00:12.0-1.1.1/input0 S: Sysfs=/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/0003:0483:A640.000F/input/input45 U: Uniq= H: Handlers=event5 mouse0 B: PROP=2 B: EV=1f B: KEY=400 1f0000 0 0 0 0 B: REL=1943 B: ABS=1000003 B: MSC=10
现在查找您的数位板,然后运行命令 evtest /dev/input/eventX,其中您需要将 eventX 替换为与您的数位板关联的相应事件,然后按下数位板按钮尝试找到每个按钮关联的事件。
$ evtest /dev/input/event5
Event: time 1512706221.107613, -------------- SYN_REPORT ------------ Event: time 1512708889.737079, type 4 (EV_MSC), code 331 (MSC_SCAN), value d0045
找到要重映射的按钮后,记下它们的值。在这种情况下,我们有一个 d0045 作为条目值。
在识别了 modalias 和按键 值 之后,您必须创建一个 hwdb 规则。
在 /etc/udev/hwdb.d 中创建一个名为 10-parblo-tablet.hwdb 的文件,其中包含以下内容,用您的相应 modalias 替换 [modalias],用您的相应按键 值 替换 [value]
evdev:input:[modalias]* KEYBOARD_KEY_[value]=332
如果您需要,可以在下方插入更多 KEYBOARD_KEY_X。
在此示例中,我们将按键代码更改为任意数字 332,这可能对您不起作用。但是,您可以在 /usr/include/linux/input-event-codes.h 中查看完整的按键代码列表。
重映射按键
将按键重映射到您的操作系统能够识别的内容后,您可以手动编辑 /etc/udev/hwdb.d/10-parblo-tablet.hwdb 文件来将按键重映射到您需要的内容。否则,您可以下载 input-remapper-gitAUR 并使用图形界面轻松管理您的按键。