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

←Wmgui:Aボタンを認識しているところ。加速度センサ・赤外線センサも動作してます。
【使用したハードウェア】
■ Ubuntu7.10(Gutsy)をインストールしたPC
■ Bluetooth USBアダプタ:PLANEX BT-01UDE
■ Wiiリモコン
(注意) Wii本体は必要ありません。また、LiveCDで試す場合は、UbuntuをHDDにインストールする必要はありません。
ツイート

←Wmgui:Aボタンを認識しているところ。加速度センサ・赤外線センサも動作してます。
【使用したハードウェア】
■ Ubuntu7.10(Gutsy)をインストールしたPC
■ Bluetooth USBアダプタ:PLANEX BT-01UDE
■ Wiiリモコン
(注意) Wii本体は必要ありません。また、LiveCDで試す場合は、UbuntuをHDDにインストールする必要はありません。
【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リモコン
設定不要で認識してくれました。他のメーカーのものは試していないので、定かではありませんが、大抵のものは大丈夫だと思います。
自動認識してくれれば、楕円形のブルーのアイコンが上部パネルに表示されます。
端末で次のコマンドを試してみて下さい。
$ 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リモコン
ツイート
mizunoさん、ぜひ試してみて下さい。




以前ネタで買った Wii リモコンと自作センサーバー再び!