2007/06/05 火
PS3のコントローラー「SIXAXIS」をMacにUSB接続する
PS3購入後の最初のエントリーがこれなのもどうかと思うのですが、PS3のコントローラー「SIXAXIS」をMacにUSB接続するコマンドを作りました。PS3発売直後に「SIXAXISをWindowsPCでつかう」というWindows向けのコマンドが出ていたのですが、それのMac版+αです。USBドライバではありません。SIXAXISに「USBモードで動け」という命令を出すツールです。ソース付。
■ 必要なモノ
- PowerPC Mac または Intel Mac
- Mac OS X 10.3 以上(たぶん…)
- SIXAXIS と USBケーブル(Aオス - miniBオス タイプ)
PS3を持っている方は気にしなくていいですが、SIXAXIS単品でチャレンジしようと思っている方は、なんでもいいので「Aオス - miniBオス」タイプのUSBケーブルを用意してください。Mac OS Xのバージョンは全然検証していませんが、新しい機能は使っていないので大丈夫だと思います、たぶん…。
■ 使い方
- sixaxis-usb.tgz をダウンロードして適当なフォルダに解凍する
- ターミナルを起動してそのディレクトリに移動する
- sixaxis コマンドをオプションなしで実行する
$ ./sixaxis-usb SIXAXIS[1] set usb-mode
- ゲームコントローラーが使えるゲームなどを起動する
- SIXAXISのボタンや十字キー、アナログスティックを押しても反応がない場合は「PSボタン」を押す
以上の操作で、SIXAXISが2つのアナログ入力と19個のボタンを持つUSBゲームコントローラーに変身します。ボタンアサインは省略しますが、十字キーがボタン扱いとなり、アナログスティック左が方向キー(X軸とY軸)、アナログスティック右がZ軸とZ軸回転になる点に注意してください。6軸検出システムやボタンのアナログ入力は使うことができません (データ上はきているようです)。
十字キーがXY軸にならないため、それに対応していないゲームは動きません。とりあえず MacMAME はボタンアサインを変更すればちゃんと遊べました。振動機能がなくなったおかげで DUALSHOCK 2 より軽くなって、かなりいい感じです、これ。6軸検出システムやBluetoothが使えるようになれば最強コントローラーかも…。SCE公式でドライバ出してくれないかしら。
→ 【追記】 これのUSBドライバ版を作っている人を発見しました。以前Xbox360のドライバを作っていた人で、「Tattiebogle.net - Ps3Controller」からSIXAXIS用のドライバをダウンロードできます。キーコンフィグとかはありませんが、挿しただけで自動認識です。ソースが非公開なのが残念!
■ オマケ情報
SIXAXISとPS3の通信内容とか現在判明しているUSBやBluetoothのコマンドとかの情報は、あとで書こうと思います。hack情報を集めるのに以下のサイトがすごく役に立ちました。
最初はUSB制御の勉強もかねて、libusb 0.1.12を使って冒頭の「SIXAXISをWindowsPCでつかう」と同じ動作と思われるモノを作っていたのですが、結局Mac標準の CoreFoundation と IOKit で作り直しました。「CatHand Development [USB機器の制御]」というページを参考に、Xcodeについてきた「USBSimple Example」から必要 (そう) な部分だけをコピペして作りました。USB制御学習のとっかりとしていいかも知れません。
libusb版のほうはソースだけをこちらに置いておきますので、よかったら参考にしてください。これだったらMacじゃない他のOSでもほぼ動くと思います。
あと、sixaxis-init を使った後にMacからSIXAXISを抜くと、PS3との通信が始まって電源が入ってしまったりする場合は、こっそり導入してある「登録Bluetoothアドレス読み書き機能」を使ってみてください。下記のように適当なアドレスを設定してやることで、PS3とのペアリング情報を変更することができます。自分のMacのBluetoothアドレスにするとちょっと面白いですよ(^^
$ ./sixaxis-usb -b 00-11-22-aa-bb-cc SIXAXIS[1] current bluetooth address: 00-13-a8-ef-8a-ff set bluetooth address: 00-11-22-aa-bb-cc
このように、SIXAXISはUSBとBluetoothの両刀使いに加えペアリング方法がPS3独特の方法なため、普通にPCに接続できないんですよねぇ。今回のツールで一歩踏み出したので、Bluetooth接続やドライバ作成などもできればなぁ、と思っています。が、なんせド素人なため、「このプログラム間違ってるよ」とか「オレがドライバ書いてやる」とかいう方がいたらぜひお願いします!
おもいっきり他力本願ですが、ぜひBluetooth接続にチャレンジして欲しいです!
Bluetooth接続が出来るようになれば、iMacでPS3のコントローラーをスマートに使えるんですよねぇ。
そうなれば、ここにアクセスが殺到するような(笑)










