スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PS4でGIMXを使う

PS4でマウスとキーボードを使ってFPSをやる場合
※参考にする場合は自己責任でお願いします。
あと自分用のメモなので簡潔に書いてありますが詳細な情報はググるなりして補完して下さい。
基本ここ参考にしてます。

必要なもの
【ソフトウェア】
・GIMX
・Virtualbox
・FLIP
【ハードウェア】
・Bluetuoothドングル(推奨:CSR8510 chip使ってるやつ)
 今回使ったやつ:BT-MicroEDR1X
・Atmega32u4搭載マイコンボード(推奨:Teensy2.0)
 今回使ったやつ:ATmega32U4搭載マイコンボード

【ソフトウェアの下準備】
VertualBoxをインストールしてUbuntu13.10入れておく。
Ubuntuを起動したら端末を起動して以下のコマンドを実行。(GIMXのインストール)
参考:GIMX Development on Linux

sudo apt-get install git g++ libwxgtk2.8-dev libbluetooth-dev libglib2.0-dev libxml2-dev libusb-dev libusb-1.0-0-dev libncursesw5-dev gettext xterm xdg-utils libmhash-dev

git clone -b dev --single-branch --depth 1 https://github.com/matlo/GIMX.git
※リンク先の説明でmasterになってる部分をdevに変更するとPS4用のGIMXがインストールできる。

cd GIMX

make -j 1

sudo make install

sudo su
groupadd -f input
echo "KERNEL==\"event*\", NAME=\"input/%k\", MODE:=\"660\", GROUP=\"input\"" > /etc/udev/rules.d/99-gimx-input.rules
echo "KERNEL==\"js*\", NAME=\"input/%k\", MODE:=\"664\", GROUP=\"input\"" >> /etc/udev/rules.d/99-gimx-input.rules
chgrp -f input /dev/input/event* /dev/input/js*
chgrp input /usr/bin/gimx-config /usr/bin/gimx-fpsconfig /usr/bin/gimx-bluetooth /usr/bin/gimx-serial
chmod g+s /usr/bin/gimx-config /usr/bin/gimx-fpsconfig /usr/bin/gimx-bluetooth /usr/bin/gimx-serial
exit


GIMXのインストールが終わったらGimx-fpsconfigを立ち上げて適当なConfigファイルを作成して保存しておく。
説明上ファイル名はTest_Config.xmlとしておく。

【ハードウェアの下準備】
FLIP 3.4.7 for WindowsをインストールしてマイコンボードとPCを接続しドライバをインストールする。
※PCに接続するだけだと初期FWが動くのでマイコンボードのリセットスイッチを押してDFUを有効にする。
参考:ATmega32U4ブレークアウトボード

GIMX用のFWをダウンロードして適当な場所に解凍しておく。

FLIPを起動しSelect a Target DeviceでAtmega32U4を選択。
Select a Communication MediumでUSBからデバイスをオープン。
Load HEX Fileで解凍したGIMXのFWからatmega32u4.hexを選択。
Runボタンを押してマイコンボードにファームウェアを書き込む。

【PS4、DS4、PCのペアリング】
Bluetoothドングルをさした状態でUbuntuを起動。
仮想マシンにドングルを接続する。
スクリーンショット 1


端末を起動して以下のコマンドを実行。
hciconfig -a | grep "BD Address" | cut -f 3 -d ' '
ドングルのデバイスアドレスが分かる。
実行結果の例:01:02:03:04:05:06
date | md5sum | cut -f 1 -d ' '
DS4のリンクキーが生成される。
実行結果の例:381f87ef2a59011cb1dd29b7a67529cd


DS4をPCに接続してドングルと同様に仮想マシンに接続。
以下のコマンドで"<"dongle bdaddr">"と"<"DS4 link key">"を前コマンドで取得したデバイスアドレス
とリンクキーに置き換えて実行。
ds4tool -m "<"dongle bdaddr">" -l "<"DS4 link key">"
実行コマンドの例:
ds4tool -m 01:02:03:04:05:06 -l 381f87ef2a59011cb1dd29b7a67529cd
実行結果の例:
Current Bluetooth master: 00:00:00:00:00:00
Current Bluetooth Device Address: 07:08:09:0a:0b:0c ←これがDS4のデバイスアドレス。
Setting master bdaddr to 01:02:03:04:05:06
Setting link key to 381f87ef2a59011cb1dd29b7a67529cd


DS4をPCから外す。
以下のコマンドで"<"DS4 bdaddr">"をDS4のデバイスアドレス、"<"DS4 link key">"をDS4のリンクキー
"<"dongle bdaddr">"をドングルのデバイスアドレスに置き換えて実行。
sudo bash -c "echo "<"DS4 bdaddr">" "<"DS4 link key">" 4 0 >> /var/lib/bluetooth/"<"dongle bdaddr">"/linkkeys"
実行コマンドの例:
sudo bash -c "echo 07:08:09:0a:0b:0c 381f87ef2a59011cb1dd29b7a67529cd 4 0 >> /var/lib/bluetooth/01:02:03:04:05:06/linkkeys"


マインコンボードをPCに接続して仮想マシンに接続する。
以下のコマンドで"<"dongle bdaddr">"をドングルのデバイスアドレスに置き換えて実行。
ds4tool -s "<"dongle bdaddr">"
実行コマンドの例:
ds4tool -s 01:02:03:04:05:06
実行結果の例:
Current Bluetooth master: 00:00:00:00:00:00
Current Bluetooth Device Address: 00:00:00:00:00:00
Setting slave bdaddr to 01:02:03:04:05:06


マイコンボードをPCから外し、PS4接続に接続してしばらく待つ。(20秒くらい)
再びマイコンボードをPCに接続し仮想マシンに接続して以下のコマンドを実行。
ds4tool
実行結果の例:
Current Bluetooth master: 0a:0b:0c:0d:0e:0f ←これがPS4のデバイスアドレス
Current Bluetooth Device Address: 01:02:03:04:05:06
Current link key: 76f5ea4f6205db412f8095094e5414c3 ←これがPS4のリンクキー


マイコンボードをPCから外す。
以下のコマンドで"<"PS4 bdaddr">"をPS4のデバイスアドレス、"<"PS4 link key">"をPS4のリンクキー、
"<"dongle bdaddr">"をドングルのデバイスアドレスに置き換えて実行。
sudo bash -c "echo "<"PS4 bdaddr">" "<"PS4 link key">" 4 0 >> /var/lib/bluetooth/"<"dongle bdaddr">"/linkkeys"
実行コマンドの例:
sudo bash -c "echo 0a:0b:0c:0d:0e:0f 76f5ea4f6205db412f8095094e5414c3 4 0 >> /var/lib/bluetooth/01:02:03:04:05:06/linkkeys"

【使い方】
ドングルは仮想マシンに接続。
仮想マシンのマウス統合を無効化しておく。


端末を立ち上げて以下のコマンドを実行。
sudo service bluetooth restart
sudo service bluetooth stop
sudo hciconfig hci0 up pscan



以下のコマンドで"<"config file">"を使用したConfigファイル名、"<"PS4 bdaddr">"をPS4のデバイスアドレス
に置き換えて実行。
gimx -t DS4 -c "<"config file">" -b "<"PS4 bdaddr">"
実行コマンドの例:
gimx -t DS4 -c Test_Config.xml -b 0a:0b:0c:0d:0e:0f

画像のような感じになったらDS4のPSボタンを押す。
スクリーンショット3

DS4のLEDが白色で点滅した後常時点灯状態になれば接続完了。(接続されない場合は何回か①~②を繰り返す)
GIMXを終了するにはShift+ESC。
DS4とPS4をペアリング(USB接続してPSボタンを押す)してしまうと前述のペアリング処理①~⑥をやり直さないとダメ。

【備考】
G700やG13のボタン割り当てをキーボードの適当なキー入力に設定しておけばそのまま使える。
BF4マウス感度の設定例(ゲーム内感度80%)
スクリーンショット 2
スポンサーサイト
プロフィール

KYO

Author:KYO
社畜1年目。
学生時代ロボットばっかり弄ってた人
TwitterID:kyo2001←PSIDも同じ
ACVでエンブ作ったりしてます。

リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。