我在尝试在 Manjaro 安装上配置 wacom 平板电脑上的按钮时遇到了很多麻烦。
我最终使用了这个答案让它真正工作起来,但它只在某些时候有效,因为当我再次插入平板电脑时,手写笔和笔 ID 有时会发生变化。
以下是实际更改按钮设置的 shell 脚本的内容:
#!/usr/bin/env bash
sleep 1
export XAUTHORITY=/home/mashpoe/.Xauthority
export DISPLAY=:0
# the IDs will randomly change so the next commands won't work
# sets button 3 for the stylus
xsetwacom set 15 Button 3 "key e"
# sets each button for the pad
xsetwacom set 16 Button 1 "key +ctrl z -ctrl"
xsetwacom set 16 Button 2 "key +ctrl +shift z -ctrl -shift"
xsetwacom set 16 Button 3 "key +ctrl - -ctrl"
xsetwacom set 16 Button 8 "key +ctrl +shift + -ctrl -shift"
答案1
对于未来的读者来说,这是有效的。
xsetwacom --set "Wacom One by Wacom M Pen stylus" TabletPCButton on
答案2
我最终通过解析输出xsetwacom list devices
以获取正确的 ID 来解决该问题:
#!/usr/bin/env bash
sleep 1
export XAUTHORITY=/home/mashpoe/.Xauthority
export DISPLAY=:0
parse_result(){
local id
while read line; do
if [[ "${line}" =~ ([[:digit:]]+) ]]; then
id="${BASH_REMATCH[1]}"
if [[ "${line}" =~ STYLUS$ ]]; then
# this runs if the ID is a stylus
xsetwacom set "$id" Button 3 "key e"
elif [[ "${line}" =~ PAD$ ]]; then
# this runs if the ID is a pad
xsetwacom set "$id" Button 1 "key +ctrl z -ctrl"
xsetwacom set "$id" Button 2 "key +ctrl +shift z -ctrl -shift"
xsetwacom set "$id" Button 3 "key +ctrl - -ctrl"
xsetwacom set "$id" Button 8 "key +ctrl +shift + -ctrl -shift"
fi
fi
done
}
parse_result < <(xsetwacom list devices)