Mac OS X YosemiteでXbox 360コントローラーが使えない問題
ざっくり言うと
問題の症状
Mac OS X上でXbox 360コントローラ(無線/有線共に)を使用するためには、 Tattiebogle.netのドライバを使用する必要があります。
Tattiebogle.net - Mac OS X driver
しかし、Yosemiteでkext signingというドライバ署名を必須としたデバイス管理が導入され、正常に動作しなくなってます。
私の環境では、突然認識しなくなったり、抜き差しするとMac自体が落ちるようになりました。
Tattiebogle.netの作者はどうやら対応してくれないらしく、有志が改良&署名をした新バージョンをリリースしたため、そちらを使うことで対処します。
対処法
1. 新バージョンのドライバをダウンロードする
Releases · d235j/360Controller · GitHub
上のページの、360ControllerInstall_0.14_unofficial.dmgをダウンロードする。
2. インストールする
dmgファイルをマウントするとpkgファイルが表示されるので、開いて案内に従ってインストールする。
それでも正常に動作しない場合は?
古いドライバを一度削除してから新ドライバをインストールする。
/System/Library/Extensions/360Controller.kext /System/Library/Extensions/Wireless360Controller.kext /System/Library/Extensions/WirelessGamingReceiver.kext /Library/PreferencesPanes/Pref360Control.prefPane /Library/StartupItems/360ControlDaemon(フォルダ) /var/db/receipts/com.mice.pkg.Xbox360controller.bom /var/db/receipts/com.mice.pkg.Xbox360controller.plist
上記のファイルをすべて削除する。
これらは隠しファイルかつライブラリフォルダ内にあるので、
表示されていない場合は以下の手順で設定を変更する。
Mac - Finderで隠しファイル・フォルダを表示する方法 - PC設定のカルマ
Mac - Finder のホームフォルダに「ライブラリ」フォルダを表示
現状
Steam版のGTA San Andreasを箱○コントローラでプレイするためにこの方法を試しました。
GTA SAではaxis 2,3がプレイヤーのカメラ視点移動に割り当てられていて、変更は不可能です。
しかし、上記ドライバではaxis 2が左トリガーに割り当てられていて、正常に動作しません。
しかも、トリガーは値の取り方がアナログスティックと異なるため、トリガーを引いていない時でも入力されてしまいます。
結果として、以下のように常に視点がグルグルする現象が発生します。
(日本酒飲みながらプレイしてたので普通に吐きました)
結局、現状としてゲーム側で軸の設定を変更できず、ドライバ側でも設定できないため、この手のゲームで箱○のコントローラを使うのは諦めることになります。
axis 2を割り当てるのはどうやらOS Xのドライバの仕様らしいので、コントローラ側ドライバのソースコードを読んでみたのですが、
switch(usage) { case 0x35: // Right trigger j++; case 0x32: // Left trigger j++; case 0x34: // Right stick Y j++; case 0x33: // Right stick X j++; case 0x31: // Left stick Y j++; case 0x30: // Left stick X axis[j] = cookie; break; default: break; }
上からaxis 5, 4, 3...と割り当てるコードになっているので、左トリガーはaxis 4に設定されるはずだが、なぜかうまくいっていない。
GInput、GamePad Companion、Joystick Mapperのどれを使っても、結局トリガーの値を取りにいってしまってグルグルしてしまいます。
SteamがGTAのⅢ、VC、SAどれもゲームパッドに対応するように改善したので、このような現象が発生しているようですね。
そのままキーボード操作オンリーにしてくれればよかったんですが・・・
なので仕方なくParalells Desktop上でWindowsを使っています。
Windowsでは挿せばそのまま使えるし、非公式ドライバで軸の入れ替えもできる。
結局PS3コントローラでBluetooth接続が一番楽そうなので今度試してみたいです。