ページ

2015年12月13日日曜日

PS3のコントローラーをPCで使う

以前PCで何種類かのコントローラーを使ってみた感想を適当に述べたが、その中で一番感触が良かったPS3のコントローラー(SIXAXIS、DUALSHOCK3)をPCで使う方法を説明する。

PS3のコントローラーをPCで使うために非公式のドライバをPCにインストールすることになるが、ググったら何種類かあってどれを導入するか迷う。ざっと以下のものが見つかった。

・MotioninJoy
・XInput Wrapper for DS3
・PS3 Sixaxis Driver

この内、MotioninJoyは広告付きだし評判も悪そうなので却下。PS3 Sixaxis Driverはツールが多機能かつシンプルで良さそうなんだけど、過去に嫌がらせ(?)を受けたDirectInputぽいのであまり入れたくない。よってXInput Wrapper for DS3を使うことに決定した。

XInput Wrapper for DS3は6軸センサーが使えないけど、Xinputでの振動やBluetoothによる無線接続は使える(無線接続に使用するBluetoothアダプタは専有されるので注意)。

というわけで、まずは下準備。導入には以下の環境を満たす必要がある。
1. Microsoft .NET 4.0
2. Visual C 2013ランタイム
3. 最新のDirectXランタイム
4. 最新のXbox 360コントローラードライバ(Win8以降なら不要。XPとVistaの場合は終わってからインストールしろ、とのこと)
5. PS3のコントローラー(PS4のコントローラーも使えるぽい。試してないけど)
6. Bluetooth 2.0 + EDR以上に対応したアダプタ(無線接続を使う場合)
7. PCの管理者権限
とりあえず、PS3のコントローラーをUSBで接続する(まだ使えない)。無線接続を使う場合はBluetoothアダプタをWindows標準ドライバで接続しておく(メーカー製のドライバを使ってる場合はアンインストールする)

以下よりXInput Wrapper for DS3のファイル一式をダウンロードする。

XInput Wrapper for DS3 and Play.com USB Dual DS2 Controller

現在の最新版らしきlatest version(1.2.0.160)latest update(1.2.2.175)をダウンロード後、latest versionlatest updateを上書きして「C:\Program Files\ScpServer」等のフォルダに配置する。
んで、ScpDriver.exeを管理者権限で実行する。
Force InstallはXPとVistaの場合のみチェック
Configure ServiceとBluetooth Driver(無線を使う場合)にチェック。
Installを押す。
スクリーンショットのようなInstall summaryになってることを確認してExitする。デバイスとプリンターにXbox 360 Controller for Windowsが追加される。おわり。

ScpMonitor.exeを起動するとタスクトレイアイコンが表示される。右クリックしてConfigurationを選択するとスティックのしきい値やコントローラーの切断時間などを設定できる。またProfile Managerを選択するとボタンの動作確認等ができる。ほぼ全ボタンが押す強さまで検知するアナログ動作をしてることが分かるね。

たまにコントローラーのパッド番号がいつまでも点滅して接続できない場合はSCPサービスが停止している。以下のコマンドを実行してPSボタンを押すと接続できる。
net start "SCP DS3 Service"
バッチファイルを作っておくと楽ね。

2 件のコメント:

  1. 始めまして。なんと・・・こんなに簡単だったとは。
    感激して思わず、コメントを残してしまいました。
    ありがとうございます。

    Motionjoy の為か謎のBSODに半年ばかり悩んでいました。
    PS3コントローラー、デザイン、フィット感、操作性などなど
    実際、SonyでPC用のコントローラーをこれに準拠して
    発売してくれないかと思っているくらいです。

    返信削除
  2. MotionInJoyの代わりを探していてここにたどりつきました。
    おかげさまでいいソフトに出会えました。インストールも簡単にできました。ありがとうございます!

    返信削除