plamo8.2x->pen tablet

ペンタブレットを使う

初期状態でワコムのペンタブレットが自動認識でそれなりに使える状態になっています。 初期設定ではマウスエミュレーションの扱いになっているようで、マウスの代用としてなら、そのままで良さそうです。

ただし、筆圧機能や消しゴム機能などのタブレット特有の機能を使うためには設定が必要になります。

手元で使っているのは、wacom CTE-650 (BAMBOO)です。

xorg.conf や udev の設定は、特に必要なくなっています。楽ちんになりましたねえ。。。

GIMP

ペンタブレットを動かしてみてマウスカーソルを動かせるようなら、gimp で筆圧や消しゴムが使えるか試してみましょう。

使ってみる(1)

[編集]→[入力デバイスの設定]で設定します。

ここで、"CorePointer"しか出てこなかったら、Xinputが有効になっていません。 筆圧機能や消しゴム機能も使えません。

xinputを有功にする

gtk+2の追加セットアップ

plamo8.2xでセットアップされる gtk+2 は、xinputが有効化されていないようです。 このため、gtk+2 のソースを取ってきて、 xinput が有効となるオプションをつけてセットアップし直します。

$ ./configure --with-xinput=yes
$ make
# make install
# ldconfig

このままですと、make の途中でエラーとなります。

エラーメッセージを見て追いかけてみると、ドキュメント生成のところで、db2htmlコマンドの仕様が違っている模様。 $ db2html xxxx.sgml コマンドで、大量のhtmlファイルが生成されるのですが、*.htmlをその場に展開してしまう仕様。 一方、gtk2の想定しているのは、xxxxディレクトリを作ってその中に*.htmlを展開される想定になっているようです。

今回はドキュメント生成の必要がないので、この処理を飛ばします。

./configure のオプションは見つからず、スクリプトを直接書き換えます。 ./configureスクリプトでは、 db2htmlコマンドの有無を判定して、環境変数HAVE_DOCBOOK をスイッチすることで、ドキュメント生成(する|しない)ようになっていました。 なので、スクリプト中の、このスイッチ部分を固定することでドキュメント生成を回避しました。 (./configure(抜粋))
...
##if $DB2HTML; then
# HAVE_DOCBOOK_TRUE=
# HAVE_DOCBOOK_FALSE='#'
##else
HAVE_DOCBOOK_TRUE='#'
HAVE_DOCBOOK_FALSE=
##fi
...

gtk+2のサーチパス

gtk+2を追加セットアップして、# ldconfig を実行してもXinputが有効にならないとき。

追加したgtk+2ではなく、元のgtk+2が使われていることがあります。 共有ライブラリのサーチパスの設定で、追加したgtk+2の優先度が低くなっているようです

共有ライブラリのサーチパス

共有ライブラリのサーチパスの設定方法は幾つかあるのですが、バイナリ本体に埋め込まれるRPATH値が 最も優先度が高いようです。

ld.so.conf(ldconfigのサーチパスを設定する)やLD_LIBRARY_PATHを設定してもRPATH値が優先されます。

RPATHを無効にする [参考]

※plamo8.2x のパッケージからセットアップしたGIMPではRPATH値は設定されていませんでした。 ldconfigに従ってgtk+2が参照されるようです。

RPATH値は実行バイナリに埋め込み可能な変数で、gimpにはRPATH値が設定されています。 $ readelf -d /usr/local/bin/gimp | grep RPATH
0x000000000000000f (RPATH) ライブラリの rpath: [/usr/lib]
バイナリに RPATH値 /usr/lib が設定されています。

今回セットアップしたgtk+2は /usr/local/lib にセットアップされていますが、lddで確かめてみると $ ldd /usr/local/bin/gimp | grep
libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007f0f10629000)

元々 /usr/lib にセットアップされていた共有ライブラリがロードされ、 xinputを有効化してセットアップしたgtk+2が使われないことがわかります。

RPATH値を回避するには、以下のような方法が考えられます

  1. RPATHを組み込まないようにビルドしなおす
  2. chrpathコマンドでバイナリからRPATHを取り除く
  3. ld-linux.soコマンドの--inhibit-rpathオプションを使う

今回は 2.の方法をとります。(なんとか1.にしたかったのですがウマクいかず。。。)

chrpathコマンドのソース を捜してインストールします。そしてRPATH値を削除します。 # /usr/local/bin/chrpath --delete /usr/local/bin/gimp

追加インストールした共有ライブラリを読み込みするか確かめてみます。 $ ldd /usr/local/bin/gimp | grep libgtk
libgtk-x11-2.0.so.0 => /usr/local/lib64/libgtk-x11-2.0.so.0 (0x00007f6341ece000)

GIMPで使ってみる(2)

入力デバイスの設定

[編集]→[入力デバイスの設定]で設定します。 「入力デバイスの設定」画面

"Core Pointer"以外も見えていたら、認識されているようです。 Stylus と Eraser をそれぞれ、モードを「スクリーン」にしました。

モードを「スクリーン」「ウインドウ」いずれかにすると、ツールボックスの「デバイスの状態」にペンの状態が表示されるようになります。 「デバイスの状態」画面

筆圧検知

筆圧検知を試してみます。

うまくいかないときのヒント?

自動認識がうまくいってないかな?というときのために。

カーネルでの認識

カーネルに認識されていると、起動時にメッセージが出ます。dmesgで確認してみましょう。

$ dmesg | grep acom
[    3.446260] usb 3-2: Manufacturer: Wacom Co.,Ltd.
[    5.562438] input: Wacom Co.,Ltd. CTE-650 Mouse as /devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-2/3-2:1.0/0003:056A:0018.0001/input/input3
[    5.563976] hid-generic 0003:056A:0018.0001: input,hiddev96,hidraw0: USB HID v1.00 Mouse [Wacom Co.,Ltd. CTE-650] on usb-0000:08:00.3-2/input0
[    7.357533] input: Wacom BambooFun 6x8 Pen as /devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-2/3-2:1.0/0003:056A:0018.0001/input/input22
[    7.357644] input: Wacom BambooFun 6x8 Pad as /devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-2/3-2:1.0/0003:056A:0018.0001/input/input24
[    7.357740] wacom 0003:056A:0018.0001: hidraw0: USB HID v1.00 Mouse [Wacom Co.,Ltd. CTE-650] on usb-0000:08:00.3-2/input0

Xorgのドライバ

/usr/lib/xorg/modules/input/ に wacom_drv.so が導入済みになっています。

Xのログ( /var/log/Xorg.log )を覗いてみます。

$ grep "Adding input device" /var/log/Xorg.0.log
[   115.402] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[   115.409] (II) config/udev: Adding input device Power Button (/dev/input/event0)
[   115.410] (II) config/udev: Adding input device HID 04d9:1400 (/dev/input/event11)
[   115.411] (II) config/udev: Adding input device HID 04d9:1400 Mouse (/dev/input/event12)
[   115.412] (II) config/udev: Adding input device HID 04d9:1400 Mouse (/dev/input/mouse2)
[   115.413] (II) config/udev: Adding input device HID 04d9:1400 Consumer Control (/dev/input/event13)
[   115.414] (II) config/udev: Adding input device HID 04d9:1400 System Control (/dev/input/event14)
[   115.415] (II) config/udev: Adding input device Gtech wireless dongle (/dev/input/event4)
[   115.416] (II) config/udev: Adding input device Gtech wireless dongle Mouse (/dev/input/event5)
[   115.417] (II) config/udev: Adding input device Gtech wireless dongle Mouse (/dev/input/mouse1)
[   115.418] (II) config/udev: Adding input device Gtech wireless dongle (/dev/input/event6)
[   115.418] (II) config/udev: Adding input device Gtech wireless dongle Consumer Control (/dev/input/event7)
[   115.419] (II) config/udev: Adding input device Gtech wireless dongle System Control (/dev/input/event10)
[   115.420] (II) config/udev: Adding input device HD-Audio Generic HDMI/DP,pcm=3 (/dev/input/event8)
[   115.420] (II) config/udev: Adding input device Wacom BambooFun 6x8 Pen (/dev/input/event3)
[   115.478] (II) config/udev: Adding input device Wacom BambooFun 6x8 Pen (/dev/input/mouse0)
[   115.478] (II) config/udev: Adding input device Wacom BambooFun 6x8 Pad (/dev/input/event20)
[   115.479] (II) config/udev: Adding input device Wacom BambooFun 6x8 Pad (/dev/input/js0)
[   115.479] (II) config/udev: Adding input device Wacom BambooFun 6x8 Pad (/dev/input/mouse3)
[   115.479] (II) config/udev: Adding input device HD-Audio Generic Front Mic (/dev/input/event15)
[   115.479] (II) config/udev: Adding input device HD-Audio Generic Rear Mic (/dev/input/event16)
[   115.479] (II) config/udev: Adding input device HD-Audio Generic Line (/dev/input/event17)
[   115.479] (II) config/udev: Adding input device HD-Audio Generic Line Out (/dev/input/event18)
[   115.479] (II) config/udev: Adding input device HD-Audio Generic Front Headphone (/dev/input/event19)
[   115.479] (II) config/udev: Adding input device Eee PC WMI hotkeys (/dev/input/event9)
[   115.480] (II) config/udev: Adding input device PC Speaker (/dev/input/event2)

udevのルールについては、 過去の検討を参照いただくとよいかもです。




tsushiro.s, 2003-2023.