Ubuntu10.10(maverick)+Wacomタブレット+2画面でタカミンお絵描きチャット

(Last Updated On: 2011年2月11日)

表題の方法を書いておきます.

僕の環境は下記の通りです


・Ubuntu 10.10
・Wacom Bamboo Comic CTE-650
・1680x1050の液晶2台

問題は大きく分けて2つあります.

・FirefoxでJavaアプレットが使えない
・タブレットをUSBに繋いだだけの状態では,2画面に対してペンタブ1台がマッピングされていて,実質利用できる領域が狭い上にアスペクト比がおかしい

まずはFirefoxでJavaアプレットを使えるようにしましょう.


sudo add-apt-repository 'deb http://archive.canonical.com/ maverick partner'
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin

通常使うJavaがOpenJDKになっている可能性があるので


sudo update-alternatives --config java

で,sun-javaを選びます.sun-javaのみがインストールされている場合は,次のようなメッセージが出るので次に進んでOKです.


There is only one alternative in link group java: /usr/lib/jvm/java-6-sun/jre/bin/java
Nothing to configure.

デフォルトだと,Firefoxのjavaへのパスが/usr/javaとなっているので,/usr/bin/javaに直します.Firefoxを開き,アドレスバーにabout:configと入力します.検索バーに/usr/javaと入力し,/usr/bin/javaに書き換え,Firefoxを再起動すればOKです.

次にタブレットの問題です.この方法で解決できます
日本語訳しときます(Bamboo Comic向けにソラオチが加筆修正しています)


Wacomのタブレットは今までHAL FDIで設定されてきたが,LucidからはHALが使われなくなったので,どうやって適切に設定すればいいのか私には分からないです.
でも,デフォルトのXOrg configを使ってる人なら,プライマリディスプレイだけでWacomタブレットを使うハックがあるよ.
これはあくまでBamboo Comic(注1)での例なので,自分のタブレットに合わせた設定を,コマンドを実行して探してください.

まず自分のタブレットの名前を調べます.STYLUSが含まれてる行を探しましょう.

$ xsetwacom --list -v
... Display is '(null)'.
... 'list' requested.
... Found device 'Virtual core XTEST pointer' (4).
... Found device 'Virtual core XTEST keyboard' (5).
... Found device 'Power Button' (6).
... Found device 'Power Button' (7).
... Found device 'Eleen USB Device' (8).
... Found device 'Wacom BambooFun 6x8 eraser' (9).
Wacom BambooFun 6x8 eraser ERASER
... Found device 'Wacom BambooFun 6x8 cursor' (10).
Wacom BambooFun 6x8 cursor CURSOR
... Found device 'Wacom BambooFun 6x8 pad' (11).
Wacom BambooFun 6x8 pad PAD
... Found device 'Wacom BambooFun 6x8 stylus' (12).
Wacom BambooFun 6x8 stylus STYLUS
... Found device 'Microsoft Microsoft 5-Button Mouse with IntelliEye(TM)' (13).

上の例だと「Wacom BambooFun 6x8 stylus」です.

次にタブレットのX軸解像度TXを調べます.

$ xsetwacom --get "Wacom BambooFun 6x8 stylus" BottomX
43296

この場合TX=43296です.次に,仮想デスクトップの解像度WXを調べます.

$ xsetwacom --get "Wacom BambooFun 6x8 stylus" SBottomX0
3360

この場合WX=3360です.液晶の解像度が一枚あたり1680x1050なので,1680*2の値と等しくなっています.
最後に,プライマリディスプレイのX軸解像度をSXとおきます(うちの場合SX=1680).

今回紹介するハックでは,タブレットのX軸解像度をTXを実際より大きく設定します.こうすることで,セカンドモニタを領域外に割り当てます.
まず,AX = TX * (WX / SX)という関係式からAXを求めます(うちの場合AX = 43296 * (3360 / 1680) = 86592 ).
もしカーソルがセカンドディスプレイの左側1ピクセルに飛ぶのを止めたいなら,少しAXを小さめに設定するといいですが,あくまで好みの問題です.
とにかく,AXを決めたら

$ xsetwacom --set "Wacom BambooFun 6x8 stylus" BottomX 86592

のようにタブレットのX軸解像度を設定します.

もし必要なら,Y軸についても同様に設定します.
このコマンドは再起動の度に実行する必要があるので,スクリプト(例えば~/.bashrc)に記述しておく必要があります.
定石としてはDeviceKit Rule(注2)で自動的に実行するのがいいのですが,そうしませんでした.

--------------------

注1:原文ではBamboo1という機種について書かれている

注2:/usr/share/X11/xorg.conf.d/50-wacom.conf あたりのことと思われる./usr/share/X11/xorg.conf.d/50-wacom.conf に記述する方法も別のフォーラムに書いてあったのですが,Ubuntu 10.10では上手く動かないようです.

以上で,タブレットの有効範囲をプライマリディスプレイのみにすることができます.

無事,takaminでお絵かきできるようになりました.

参考URL
[SOLVED] Configuring Xorg for dual screen, single wacom

ubuntu10.4でsun-javaを使う。Javaアプレットを見れるようにする。

Ubuntu Firefoxでアプレットを起動するとクラッシュ

コメントを残す

メールアドレスが公開されることはありません。