SIXAXISのおおざっぱ説明

SIXAXISについて

家庭用ゲーム機PLAYSTATION 3用コントローラーの名称です。
振動機能がついていないものの、Bluetoothによる無線接続。USBによる充電。6軸検出システムによるコントローラーの傾き検出。
といった機能が搭載されたコントローラーです。まあWiiリモコンも似たような感じですが。
ちなみにSIXAXISの場合は、PS2用コントローラーで採用されていた感圧入力機能も健在です。

Bluetooth、USB接続の言葉から想像されるとおり、PCへ直接接続して使用することが出来ます。

PCとの接続の壁

これまでのコンシューマー機用コントローラーをPCに接続して使用するには、コネクタの変換機が必要でした。
SIXAXISではBluetoothとUSB接続が搭載され、特別な変換機を中継することなくPCに直接接続することが出来るようになりました。
変換機を使用しなければいけなかったのと比べるとPCとの間の壁は格段に低くなりました。
また、直接接続できるようになったことで、PCでこれまで取得できなかった多くのコントローラーの情報を取得できるようになりました。

PCにSIXAXISをUSBケーブルで接続すると、PC側はゲームコントローラ「PLAYSTATION(R)3 Controller」として認識はしますが、 いくらボタンを押しても反応がありません。
SIXAXISは、PCからSIXAXISに特別なリクエストを送信しないかぎり、USBから情報送信しないようになっています。
このリクエストを送信するためには専用のソフトやドライバが必要です。

PCとの接続

SIXAXISに特別なリクエストを送信する定番ソフトは、これまで「SIXAXISをWindowsPCでつかう(http://www.padc.cs.tsukuba.ac.jp/~k1/)」で配布されていた ソフト「PLAYSTATION3 SIXAXIS initiator」を使用するのが一般的に紹介されていた方法でしたが、現在はこのページは削除されておりソフトは入手困難となっています。 またこのソフトはlibusbが必要なため、いくつかの問題(*1)を抱えていました。

現在は問題が改善されたソフトやドライバを利用して、sixaxisを正常動作させることが出来るようになっています。
いくつか紹介しておきます。

お試しセット(http://flagdrug.cocolog-nifty.com/)
「SIXAXISをWindowsPCでつかう」のPLAYSTATION3 SIXAXIS initiatorと同じくsixaxisに特別なリクエストを送信するようです。
作者によればPLAYSTATION3 SIXAXIS initiatorに比べ、LibUsbバージョンなどの依存性は多少改善しているとのこと。
(ちなみに私は諸事情でまだ使ったことがないので良いとも悪いともいえません。紹介まで。)
…いつの間にか「Bluetooth アドレス設定プログラム」なんてものまで出来てたようです。

SixaxisDriver(http://www.codeproject.com/KB/mcpp/wiredps3axis.aspx)
外国の方が作成されたLibUsb不要のドライバ。一度動けば次からは何もする必要がないようです。

Tamamyの釣り堀 http://ameblo.jp/tamanotsuribori/
LibUsb不要。SIXAXIS / DUALSHOCK3用デバイスドライバーおよび関連ソフトの開発・配布が行われています。振動対応。
なお、Bluetooth対応版は人柱版が公開中。
配布はこちらの「Tamamyのいけす 2つめ http://tamamyikesu.web.fc2.com/」で行われています。

なお、Bluetooth接続についての解説はぐぐってください。解説しているサイトが見つかります。私はBluetooth持ってないので解説は省略。

libusbが必要な場合に起きる問題

*1
libusbのバージョンが適切なものでないと動作しないそうです。最新版を入れさえすればいいというわけではありません。
またlibusbはVistaでかなり致命的な不具合を起こす場合があります。症状としては全てのUSBデバイスが使用できなくなる。

このようにVista以降は問題があるので、libusbを利用しないでいいドライバがお勧めです。

関連記事

  1. とりあえずSIXAXISを使えるようにする とりあえず HSPでSIXAXISの情報を取得できるようにす...
  2. サンプルをビルドしてみる はじめに sixaxisdriverには、このドライバを使用...
  3. SIXAXISについて ~ハード編~ SIXAXISについて 今回は、プログラミングから離れてハー...
  4. SIXAXISについて ~データ編~ SIXAXIS Driver から送られてくるデータ SIX...
  5. SIXAXISの情報を取得するサンプル解説 for HSP スクリプトについて解説 サンプルスクリプトについて少し解説し...
  6. 加速度センサーからの取得値の処理 加速度センサーとこれまでのボタンの違い SIXAXISについ...
  7. サンプルをビルドしてみる 2 はじめに sixaxisdriverには、このドライバを使用...
  8. DirectInputに挑戦してみた オワタ SIXAXISの加速度センサ等の情報をDirectI...
  9. プラグインに挑戦してみた プラグインに挑戦してみた HSP3用のプラグイン作成に挑戦し...