Wiiコントローラ
From OpenSimulator
概要
Wii リモコン(プラス)やヌンチャクをビューアで使うことができます。みんなで見るような状況で直感的に操作できる機能が満載されている Wii リモコンは、強力なフリーハンドの 3D コントローラとなります。
使用するソフトウェアは cwiid です。Cwiid を使うと、加速度センサー、CMOS センサー、Wii リモコンやヌンチャクの全てのボタンを設定ファイルで制御することができるようになります。使用したハードウェア: Wii リモコン 1 個、ヌンチャク 1 個、ワイヤレスセンサーバー 1 個、 Bluetooth ドングルです。
手順
- Bluez ライブラリをインストールします。(libbluetooth3 と libbluetooth-dev)
- Bluetooth デーモンを開始します。
- Git から Cwiid をダウンロードしてコンパイルします。
git clone https://github.com/abstrakraft/cwiid.git cd ./cwiid aclocal autoconf ./configure make make install
- または、apt-get などで直接 wminput と wmgui をインストールしてもいいです。
apt-get install wminput wmgui
- wminput の設定ファイルを新規に作成します。「リモコンのみ」または「リモコンとヌンチャク」(推奨)のどちらかの設定を書き込んでください。
vi /usr/local/etc/cwiid/wminput/opensim
リモコンのみ
ビューアは基本的に4つの主要キーを使いますが、Wiiリモコンは普通に4つのボタンを使って操作するようなインターフェースとはなっていません。さて、設定ファイルを見てみましょう。Wii リモコンの普通の手の位置では、マウスの右クリックを割り当てた十字ボタンは届かないところにあります。他のボタンに比べて、このボタン(オプションメニュー)はそんなに使わないでしょう。手の届く位置にあるボタンは全てカメラ操作に割り当てます。Aボタンはマウスの左クリック(オブジェクト選択・回転軸の中心の選択)、Bボタンはヨー、1/2ボタンはピッチが割り当てられています。
#ir_ptr
include buttons
Plugin.ir_ptr.X = ~ABS_X
Plugin.ir_ptr.Y = ~ABS_Y
Wiimote.A = BTN_LEFT
Wiimote.Plus = BTN_RIGHT
Wiimote.B = KEY_LEFTALT
Wiimote.Down = KEY_LEFTCTRL
リモコンとヌンチャク
ヌンチャクを使うと、コントロールスティックに移動制御を渡してしまうことができます。また、下のボタン(Zボタン)を右+ctrl に割り当てるのがコツです。これでうまくいきますが、普通のアプローチではないでしょう。設定はこのようになります。
include buttons Plugin.ir_ptr.X = ~ABS_X Plugin.ir_ptr.Y = ~ABS_Y Wiimote.A = BTN_LEFT Wiimote.B = KEY_LEFTALT Nunchuk.C = KEY_LEFTSHIFT Nunchuk.Z = KEY_LEFTCTRL Wiimote.Up = KEY_PAGEUP Wiimote.Down = KEY_PAGEDOWN Wiimote.Left = KEY_LEFT Wiimote.Right = KEY_RIGHT Wiimote.Plus = BTN_RIGHT Wiimote.Minus = KEY_B Wiimote.Home =KEY_M #Wiimote.1 = KEY_PROG1 #Wiimote.2 = KEY_PROG2 Plugin.nunchuk_stick2btn.Up = KEY_UP Plugin.nunchuk_stick2btn.Down = KEY_DOWN Plugin.nunchuk_stick2btn.Left = KEY_LEFT Plugin.nunchuk_stick2btn.Right = KEY_RIGHT
注)Plugin.nunchuck_stick2btn は Git からダウンロードしてきた Cwild でのみ使えます。
- uinput カーネルモジュールをロードします。
modprobe uinput
- wminput を opensim ファイルの設定で起動します。
wminput -c opensim