XP-PENのLinux向けドライバを試す
更新履歴
更新日 | 内容 |
---|---|
2021/07/ | 本題から脱線している箇所の整理と不具合について追記 |
経緯
ディスプレイを買い替えた。 それにともなって、置き場のなくなった液タブを手放して板タブを買うことにした。
そこで、Linuxユーザーとしてこのような周辺機器で問題になるのがLinuxに公式でドライバーが用意されていないことが多いということ。
といっても特にメジャーなWacomは有志で開発した非公式なドライバがあるので普通に使える…のだが、Wacomは高い。1
そこで中華タブレットを調べたところ、なんとXP-PENが純正でLinuxドライバーを出しているということを知る。2
XP-PENのLinux向けドライバについて
ネットで調べてみたところ34、2020年時点のドライバーは使う際にいちいち管理者権限で開く必要があり、常駐してくれもしないというドライバーらしからぬ仕様だったらしい。
諦めきれずにドライバーをダウンロードして中身見てみたところ以下のような構成になっていて、明らかにinstallする形に変わっていた。
xp-pen-pentablet_3.1.0.210331.x86_64 $ tree
tree -L 1
.
├── App
├── install.sh
└── uninstall.sh
これなら常駐してくれるのでは?ということで人柱も兼ねて試すことにした
用意したもの
本体
ドライバー
xp-pen-pentablet_3.1.0.210331.x86_64
※本記事を書いている間にもっと新しいの(XP-PEN-pentablet-3.1.4.210623-1.x86_64)が出ていたが、本記事の内容については特に変わっていなかったのでそのまま投稿した
試す
使っているLinuxのバージョンは以下
uname -r
5.4.105-1-MANJARO
Driverのインストール
ドライバーの中身はこんな感じ
xp-pen-pentablet_3.1.0.210331.x86_64 $ tree
tree -L 5
.
├── App
│ ├── etc
│ │ └── xdg
│ │ └── autostart
│ │ └── xppentablet.desktop
│ ├── lib
│ │ └── udev
│ │ └── rules.d
│ │ └── 10-xp-pen.rules
│ └── usr
│ ├── lib
│ │ └── pentablet
│ │ ├── conf
│ │ ├── LGPL
│ │ ├── lib
│ │ ├── pentablet
│ │ ├── pentablet.sh
│ │ ├── platforms
│ │ ├── plugins
│ │ ├── qt.conf
│ │ ├── resource.rcc
│ │ └── translations
│ └── share
│ ├── applications
│ │ └── xppentablet.desktop
│ └── icons
│ └── pentablet.png
├── install.sh
└── uninstall.sh
18 directories, 11 files
App
内のetc``lib
usr
を/
直下にコピーする作りになっている模様。
自分の環境では衝突するファイルは無かったので多分問題はないはず5
インストールをする
$ sudo ./install.sh
/home/fluo10/Downloads/xp-pen-pentablet_3.1.0.210331.x86_64/.
Driver installed successfully, please restart and use it.
再起動したら使えるようになった
UIとか
常駐してる
KDEのタスクバーに表示されており、常駐していることがわかる。
設定画面
画面の適応範囲やショートカット、インポートなど、パッと思いつく機能は一通りある模様。
ウルトラワイド液晶だと当然そのままでは比率が合わないのでタブレットの認識範囲は全体にし、ディスプレイ側は左だけ使うように設定した。(どうせ資料とか開くので全体を液タブで選択できる必要もないと判断。)
板タブの最大サイズは1000:625
6だったので、比率そのままに縦を合わせて2304:1440
に手動で設定した。
一部のメニューが見づらい
これに関してはLinuxのDesktopがテーマとか色とか変えられるのでデスクトップ次第である可能性が高い。
上記のスクショでいえば画像のサイズなど、色が薄くて見えない。 ショートカットに関するドロップダウンメニューも開けているのか開けてないのか分かりづらかった。
不具合っぽいもの
ちょっと使った感じ3つほどバグを見つけた。7
アプリが終了する
一度右上の歯車からメニューを開いた状態でウインドウを閉じるとメニューがのこり、そのメニューをあとから閉じると常駐しているやつも消えてしまう。 設定画面をアプリケーションメニューから再度開いたら復活したので大した問題ではなさそう
傾きを検知しなくなる
ドライバーなしだと傾きを検知していたのが、なぜかドライバーを入れると検知しなくなった。
認識しなかったり、異常な入力が発生することがある
USBを指しなおせば復活するが、それ以外での対処法がわからない。8
自分の場合は仮想Windowsの入力用にUSB切替器を持っていたのでUSBの抜き差しはせずに再認識させられるが、そうでないとかなり不便だと思う
その他気になったこと
ディスプレイの解像度が変わると設定が維持できない。
Switchをやる際にPBPでディスプレイの幅を半分にした場合に、認識範囲の再設定がされてしまうらしい。まあそもそもディスプレイのサイズを頻繁に変えるのがレアケースだと思うので配慮されていなくても仕方のないところではあるけど。
そのまま設定を維持するか、欲を言えばコンフィグをシェルで読み込ませられるとディスプレイの解像度と一緒に再設定できて理想的ではある。
最後に
色々とまだ安定していない感じは否めない。
自分の場合、傾き検知を使わない、USB切替器で手軽に再認識ができる、そもそも利用頻度が低いという事情があってとくに問題なく使えている。とはいえ、人に勧められる出来かといえば、現時点(2021/7)では難しいと思う。
とはいえ、この一年の間に常駐してくれるようになったり、この記事を書いている3か月の間にも更新があった9りと、ちゃんと改善はしてくれているようなので今後に期待といった感じ。
おまけ ドライバーなしの挙動
まず普通につないだ状態だと以下
- ペンタブは検知している
- 筆圧と傾きも検知してる
- デフォルトでもタブレット側のボタンには
ctrl+s
などのショートカットが設定されているらしく、機能している - 設定変更はできない
初期状態のボタンについて調べてみる
スタイラスの検出自体はしてもおかしくないと思っていたが、ショートカットキーが動いているのは予想外だった。ので、ちょっと掘り下げてみた。
とりあえずshowkey
で見てみる
showkey -a
Press any keys - Ctrl-D will terminate this program
b 98 0142 0x62 # 本体ボタン1
e 101 0145 0x65 # 本体ボタン2
i 105 0151 0x69 # 本体ボタン3
32 0040 0x20 # 本体ボタン4
^[^Z 27 0033 0x1b # 本体ボタン5
26 0032 0x1a #
^S 19 0023 0x13 # 本体ボタン6
# 本体ボタン7 検出せず
# 本体ボタン8 検出せず
。 227 0343 0xe3 # スタイラスのペン先側のボタン
128 0200 0x80 # 中クリックかと思われる
130 0202 0x82
検出できなかったボタンは以下
- 本体側の下2つ
Konsole
がフォントサイズ変更のショートカットとして拾ってしまうらしくshowkey
では検出できなかった模様。- 7は、多分ctrl++
- 8つ目は、多分ctrl+-
- Stylusのしっぽ側のボタン
- 不明
- 少なくとも右クリックではない
まあドライバーがない状態でこれ以上掘り下げてもしょうがないのでここまでにしておく。
これにした理由は分離式キーボードの間に常駐するつもりだったので、邪魔にならないサイズで、かつ上位モデルと思われるDeco Pro
とくらべると全体のサイズに対し認識範囲が大き目だったため。Deco Pro
のリングも試したかったが、本体内蔵のショートカットは使わないつもりだった。
いまだったら新しく出たDeco Fun
を買おうとしたかもしれない。
-
今回液タブを手放したのもそうだが、あれやりたいこれやりたいと、手を出しては使いこなせず手放すことが多いので、安く済ませたいという気持ちも大きい。 ↩︎
-
てっきり中華ブランドかと思っていた(実際いまは中国企業の子会社らしい)が、Wikipediaによるともともとは日本で出来たブランドだったらしい。 ↩︎
-
しいていえば
lib
内に入れるフォルダの名前がpentablet
という、xp-pen以外で使われててもおかしくない名前なのが気になるが、少なくとも現時点では/usr/lib/pentablet
は存在していなかった ↩︎ -
この数値がどこからきているのかは不明。少なくとも板タブ自体の検知の解像度ではないと思う。 ↩︎
-
というかこういう製品のバグってどこに報告したらいいのだろうか…。個人的な認識だと企業の相談窓口ってクレーム対応ばかりで、連絡した報告が開発側に届く気がしないのだが…。これがオープンソースならGithubにIssue上げるなりすればいいのだと思うが…。 ↩︎
-
同様の不具合は無線マウスでもあったので、これもLinux側の問題である可能性もあり、なんとも言えない。 ↩︎
-
なお、上記の不具合は治っていない。 ↩︎