Manjaroのインストール時にWacomタブレットのボタンを設定する際に多くの問題があります。
結局使ったこの回答実際に動作していることが確認されていますが、タブレットを再接続すると、スタイラスとペンIDが時々変わるため、一部の時間にのみ機能します。
実際にボタン設定を変更するシェルスクリプトの内容は次のとおりです。
#!/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)