メルマガで報告した通り、Ubuntu7.10(Gutsy)Wiiリモコンが使えました。Bluetoothアダプタは自動認識され、WiiリモコンのドライバはGutsyの標準リポジトリ(universe)に含まれているため、以前よりも導入が容易になっています。ちなみに、LiveCDでも起動に成功しました!

Wmgui-Gutsy
←Wmgui:Aボタンを認識しているところ。加速度センサ・赤外線センサも動作してます。


【使用したハードウェア】
■ Ubuntu7.10(Gutsy)をインストールしたPC
■ Bluetooth USBアダプタ:PLANEX BT-01UDE
■ Wiiリモコン

(注意) Wii本体は必要ありません。また、LiveCDで試す場合は、UbuntuをHDDにインストールする必要はありません。
【Bluetoothアダプタの認識】
設定不要で認識してくれました。他のメーカーのものは試していないので、定かではありませんが、大抵のものは大丈夫だと思います。

Bluetooth


自動認識してくれれば、楕円形のブルーのアイコンが上部パネルに表示されます。

端末で次のコマンドを試してみて下さい。

$ hcitool scan
Scanning ... ←この表示が出ればOK。


ここで、Wiiリモコンの1ボタンと2ボタンを同時に押すと、次のような表示が出ると思います。

   00:19:1D:5E:6D:4F Nintendo RVL-CNT-01

なお、以前とは異なり、このハードウェアアドレスを控えておく必要はありません。

【Wiiリモコンのドライバを導入】
PyBluezをコンパイルする必要はありません。python-bluezというパッケージが最初から入っています。

なので、いきなりドライバを入れるだけです。Synapticパッケージマネージャで次の4つのパッケージを探して、インストールして下さい。もちろん、apt-getでも構いません。

■ libcwiid0
■ libcwiimote-0.2
■ wmgui
■ wminput


※ wmguiは必須ではありません。
※ LiveCDの場合は、multiverseリポジトリを有効にして下さい。


【xorg.confの設定】
/etc/X11/xorg.confの内容を次のように変更します。

■ 次の6行を最終行に追加

Section "InputDevice"
 Identifier "Wiimote"
 Driver "evdev"
 Option "Name" "Nintendo Wiimote"
 Option "Emulate3Buttons" "true"
EndSection


■ Section "ServerLayout"の中に次の1行を追加

 InputDevice "Wiimote" "AlwaysCore"

これで、Xウィンドウを再起動すれば準備は終了です(ログインしなおすだけで構いません)。実質的には、前出の4つのパッケージを導入し、xorg.confを修正するだけですので、かなり楽になりました。

【赤外線センサーを使って起動する】
次のコマンドで起動します。ただし、事前にセンサーバーの代用として、赤外線LEDかロウソクを2つ用意しておく必要があります

$ sudo modprobe uinput
$ sudo wminput -c ir_ptr


次のような表示が出れば成功です。

Put Wiimote in discoverable mode now (press 1+2)...

ここでWiiリモコンの1ボタンと2ボタンを同時に押せば、マウスポインタを動かすことができるようになります。

【マウスボタンとの対応】
 Aボタン=左ボタン
 Bボタン=右ボタン
 十字ボタンの上ボタン=upスクロール
 十字ボタンの下ボタン=downスクロール

となっています。

この設定は、/etc/cwiid/wminput/buttonsを編集することで変更可能です。

PC本体の再起動が不要なため、LiveCDでも試すことが出来ます。Wiiをお持ちの方は、ぜひLiveCDで試してみて下さい。

ちなみに、赤外線を利用できない場合は(ロウソクでもいいんですけどね)、加速度センサを利用する方法もあります。その場合、起動時のコマンドを

$ sudo wminput -c acc_ptr

として下さい。ただし、手首がつっても、当方は一切関知致しません


Wii専用 Wiiリモコン

Wii専用 Wiiリモコン