WacomタブレットをGNU/Linuxで使おう
WacomのペンタブレットはLinuxでもほとんど問題なく使うことができるので重宝するが,デフォルトのペンのボタンが反応しない場合があり,自分でなんとかする必要がある。
僕の場合Wacom One(DTC133)を使っていて,Kritaで多用するポップアップパレットをペンで呼び出すためには,デフォルトで割り当てられていた下サイドボタン(button 2)を右クリック(buton 3)に割り当てる必要があった。
デフォルトのボタン割当を確認する
僕の環境ではディスプレイサーバーはXorgのため,xf86-input-wacomに含まれるxsetwacomを使ってデバイスの名前を調べることができる。
$ xsetwacom --list devices
# => Wacom One Pen Display 13 Pen stylus id: 16 type: STYLUS
# => Wacom One Pen Display 13 Pen eraser id: 17 type: ERASER
「Wacom One Pen Display 13 Pen stylus」というのが目的のデバイスだ。
Xorgなのでデフォルトのボタン割当はxevを使って確認する。
Arch系ならxorg-xevパッケージに含まれているのでインストールする。
$ sudo pacman -S xorg-xev
ターミナル上で「xev」と打ち込むと小さな白いウィンドウが出現するので,マウスでタブレットの画面までドラッグして動かす。
白いウィンドウの上でボタンを押すとターミナルに出力される。
そのままだとスタイラスペンの動きまで出力されて見づらいため,grepでマッチする行だけ抜き出す。
$ xev | grep -i "button"
(終わった後に撮った写真なので,再割当て後の「button 3」となっている。)
ボタン割当を変更する
一時的な設定ならばターミナル上で
$ xsetwacom --set "Wacom One Pen Display 13 Pen stylus" Button 2 3
としてもいいが,永続的な設定をするためにはXorgでは/etc/X11/xorg.conf.d
に設定ファイルを作成することが推奨されているらしいので,以下の内容で/etc/X11/xorg.conf.d
に52-input-wacom.conf
を作成した。
Section "InputClass"
Identifier "Wacom One Pen Display 13 Pen stylus options"
MatchDriver "wacom"
MatchProduct "Pen"
Option "Button2" "3"
EndSection
再起動して,うまくいっているか確認する。
$ xsetwacom --get "Wacom One Pen Display 13 Pen stylus" Button 2
# => button +3
成功していれば変更後の値(button +3)が返ってくるはずである。
udevルールを利用してタブレットが接続されたときにコマンドを実行する方法もスマートに思えるが,Xorg推奨の方法ということで。
参考にさせていただいたサイト
ライセンス情報
Kitazawa SakufuによるXorgでWacomタブレットのペンのボタンを再割当てするはクリエイティブ・コモンズ [表示 4.0 国際]ライセンスの下に提供されています。