LoginSignup
2
0

More than 5 years have passed since last update.

OpenDSでのジョイスティック設定

Posted at

前置き

OpenDS を動かすときに、Thrustmasterのステアリングホイールで操作したかった。使ったのは手元にあった Ferrari GT Experience Racing Wheel(古い...)。

ドライバインストール

特に必要ないはず。Joystick And Gamepad Testerをいれて、動いているのを確認。加えて、どの操作がどのIDに対応しているかを確認することが出来ます。

Screen Shot 2017-02-10 at 15.44.15.png

OpenDS

起動からの流れはREADMEを読んで下さい。そのまま起動してTaskを選択するだけでは手元にあるステアリングホイールでは反応しないので設定が必要。デフォルトでは Logitech G27がサポートされているみたい。

joystickDump.txt を参照する

一回起動させると、OpenDS.jar と同じディレクトリに、以下のようなファイルが作成される。ジョイスティックデバイスを接続していない場合は作られないはず。

joystickDump.txt
Creation Date: 2017-02-10
Creation Time: 15:10:04

Joystick[0]:FGT Rumble 3-in-1
  buttons:13
   JoystickButton[name=0, parent=FGT Rumble 3-in-1, id=0, logicalId=0]
   JoystickButton[name=1, parent=FGT Rumble 3-in-1, id=1, logicalId=1]
   JoystickButton[name=2, parent=FGT Rumble 3-in-1, id=2, logicalId=2]
   JoystickButton[name=3, parent=FGT Rumble 3-in-1, id=3, logicalId=3]
   JoystickButton[name=4, parent=FGT Rumble 3-in-1, id=4, logicalId=4]
   JoystickButton[name=5, parent=FGT Rumble 3-in-1, id=5, logicalId=5]
   JoystickButton[name=6, parent=FGT Rumble 3-in-1, id=6, logicalId=6]
   JoystickButton[name=7, parent=FGT Rumble 3-in-1, id=7, logicalId=7]
   JoystickButton[name=8, parent=FGT Rumble 3-in-1, id=8, logicalId=8]
   JoystickButton[name=9, parent=FGT Rumble 3-in-1, id=9, logicalId=9]
   JoystickButton[name=10, parent=FGT Rumble 3-in-1, id=10, logicalId=10]
   JoystickButton[name=11, parent=FGT Rumble 3-in-1, id=11, logicalId=11]
   JoystickButton[name=12, parent=FGT Rumble 3-in-1, id=12, logicalId=12]
  axes:6
   JoystickAxis[name=pov, parent=FGT Rumble 3-in-1, id=0, logicalId=pov, isAnalog=false, isRelative=false, deadZone=0.0]
   JoystickAxis[name=pov_x, parent=FGT Rumble 3-in-1, id=1, logicalId=pov_x, isAnalog=false, isRelative=false, deadZone=0.0]
   JoystickAxis[name=pov_y, parent=FGT Rumble 3-in-1, id=2, logicalId=pov_y, isAnalog=false, isRelative=false, deadZone=0.0]
   JoystickAxis[name=x, parent=FGT Rumble 3-in-1, id=3, logicalId=x, isAnalog=true, isRelative=false, deadZone=0.0]
   JoystickAxis[name=y, parent=FGT Rumble 3-in-1, id=4, logicalId=y, isAnalog=true, isRelative=false, deadZone=0.0]
   JoystickAxis[name=rz, parent=FGT Rumble 3-in-1, id=5, logicalId=rz, isAnalog=true, isRelative=false, deadZone=0.0]

settings.xml

この情報をもとに、settings.xmlを修正する。各DrivingTask毎に設定が必要なので注意が必要。Ferrari GT Experience Racing Wheelの場合は、以下のように設定したら動いた。とりあえずハンドルとアクセル・ブレーキのみ。

joystickDump.txt の情報から、以下のようにアサインするよう、XMLを修正。

Joystick[0] : controllerID="0"
ステアリング : axisID="3"
アクセル : axisID="5"
ブレーキ : axisID="4"

修正したのはこちら。

settings.xml
        <joystick>
            <!-- Thrustmaster -->
            <dumpJoystickList>true</dumpJoystickList>
            <enableForceFeedback>true</enableForceFeedback>
            <steering controllerID="0" axisID="3" invert="false" sensitivity="1.0"/>
            <accelerator controllerID="0" axisID="5" invert="true" sensitivity="1.0"/>
            <brake controllerID="0" axisID="4" invert="true" sensitivity="1.0"/>
        </joystick>

結果

動いた。ボタンのアサインはまた今度。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0