FrontPage > FlightGearマニュアル / 第3章
このドキュメントは http://www.flightgear.org/Docs/getstart/getstartch3.html の日本語訳です。
FlightGearを起動するために必須の環境変数が2つあります。 これらは、データとシーナリーのありかをFlightGearに伝えます。
プラットフォームや必要性により様々に設定できます。
航空機や航空標識の位置、空港の周波数といったデータファイルをFlightGearが探す場所を指定します。 FlightGearをインストールした場所の下のdataサブディレクトリになります。 例えば、/usr/local/share/FlightGear/data や c:\Program Files\FlightGear\data になります。
FlightGearがシーナリー(風景)ファイルを探す場所を指定します。 ディレクトリを検索順にリストします。 ディレクトリの区切りは、Unixでは":"、Windowsでは";"になります。
例えば、FG_SCENERYの値が
c:\Program Files\FlightGear\data\WorldScenery;c:\Program Files\FlightGear\data\scenery
である場合、まず最初に検索するシーナリーは
c:\Program Files\FlightGear\data\WorldScenery
であり、次に
c:\Program Files\FlightGear\data\scenery
を検索します。
このことは、異なるシーナリーを別の場所にダウンロードできることを意味します。
FlightGearを実行する前に、いくつかの環境変数を設定する必要があります。
例) /usr/local/share/FlightGear/data
例) $FG_ROOT/Scenery:$FG_ROOT/WorldScenery
Bourneシェル(とその互換シェル)で追加する方法を以下に示します。
LD_LIBRARY_PATH=/usr/local/share/FlightGear/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH FG_HOME=/usr/local/share/FlightGear export FG_HOME FG_ROOT=/usr/local/share/FlightGear/data export FG_ROOT FG_SCENERY=$FG_ROOT/Scenery:$FG_ROOT/WorldScenery export FG_SCENERY
Cシェル(とその互換シェル)では以下のようになります。
setenv LD_LIBRARY_PATH=\ /usr/local/share/FlightGear/lib:$LD_LIBRARY_PATH setenv FG_HOME=/usr/local/share/FlightGear setenv FG_ROOT=/usr/local/share/FlightGear/data setenv FG_SCENERY=\ $FG_HOME/Scenery:$FG_ROOT/Scenery:$FG_ROOT/WorldScenery
訳注: FG_HOMEは現在は使われていないようです。-toshi
以上の環境変数の設定が終わったら、fgfs --option1 --option2... を実行してFlightGearを単純に起動します。 コマンドラインオプションは3.5節に書かれています。
ビルド済みのWindowsバイナリを使うと、グラフィカルなウィザードを用いてFlightGearを起動することができます。 スタートメニューのFlightGear Launcher、またはデスクトップアイコンを単純にダブルクリックしてください。
ランチャーでは以下を選ぶことができます。
初回起動時に、変数FG_ROOT(通常はc:\Program Files\FlightGear\data)とFG_SCENERYを設定するように求められるかもしれません。 FG_SCENERYはあなたがインストールしたシーナリーのディレクトリのリストで、典型的には、
c:\Program Files\FlightGear\data\scenery
と
c:\Program Files\FlightGear\data\WorldScenery
になります。
無効な値を設定してしまったり、後からシーナリーのディレクトリを変更した場合は、ランチャーの最初のページから"Prev"ボタンで戻って設定を変更することができます。
もう一つの方法として、コマンドラインからFlightGearを実行できます。 これを行うには、環境変数FG_ROOTとFG_SCENERYを手作業で設定する必要があります。
コマンドプロンプトを開き、あなたのバイナリが保存されているディレクトリ(c:\Program Files\FlightGear\bin\win32 のような場所)に移動し、キーボードから環境変数を設定します。
SET FG_HOME="c:\Program Files\FlightGear" SET FG_ROOT="c:\Program Files\FlightGear\data" SET FG_SCENERY="c:\Program Files\FlightGear\data\Scenery";"c:\Program Files\FlightGear\data\WorldScenery"
そして、同じコマンドプロンプト内でFlightGearを呼び出します (環境変数の設定は同じシェル内でのみ有効です)。
fgfs --option1 --option2...
もちろん、Windowsのテキストエディタ(メモ帳など)で上記コマンド行を使ったバッチファイルを作ることもできます。
パフォーマンスを最大にするために、FlightGearの実行中はテキスト出力ウィンドウを最小化(アイコン化)することをお勧めします。
まず、ベースパッケージとバイナリをあなたのホームディレクトリにダウンロードしたものとします。 それからTerminal.appを開き、次の手順を実行します。
setenv FG_ROOT ~/fgfs-base-X.X.X ./fgfs-X.X.X.-date --option1 --option 2
あるいは、
./fgfs-X.X.X-version-date --fg-root=\~/fgfs-base-X.X.X --option1
訳注: --fg-root=の後の"\"は余計な感じがしますが、一応原文のまま残しておきます。-toshi
訳注: 本節の一部には古い情報が含まれています。 最新の情報は、米国Wikiサイト内の「Command Line Parameters」に掲載されていますので、あわせてご覧ください。-toshi
以下に、FlightGearに存在する数多くのコマンドラインオプションに対して、完全なリストと短い説明を記します。 これらのオプションの大半は、Windowsバイナリで配布されるFlightGearランチャーを通じて見ることもできます。
もし継続的に再利用するオプションがある場合は、設定ファイルにそれを含めることができます。 これは個人個人の設定に依存するのでFlightGearとは一緒に配布していませんが、どんなテキストエディタ(メモ帳、emacs、お好みならvi)でも作成可能です。
訳注: 1行に1オプションを記述してください。
もう1つの例:--prop:/engines/engine0/running=true
これはセスナにショートフライト用の給油をします。--aircraft=c172
--prop:/consumables/fuels/tank[0]/level-gal=10
--prop:/consumables/fuels/tank[1]/level-gal=10
基本的には、--time-match-realが最初に使われるオプションです。 シミュレータ内の時刻はシステムクロックから読み込まれて、そのまま使われます。 シミュレータの時計はクロックと同期しているので、コンピュータのある場所と同じタイムゾーンの地域を仮想的に飛行する場合にはこのオプションが望ましいです。 けれども、世界の異なる箇所を飛行するときはそうではないかもしれません。 なぜならば、あなたのコンピュータと仮想的に飛行している場所との間には多くの時差があるからです。
--time-match-localオプションは、これを考慮して、あなたのいる現実世界と仮想的に飛行している場所とのタイムゾーンの差を計算します。 そして現地時間に同期します。
その後の3つのオプションは、起動日時を正確に特定するために使われます。 3つのオプションの違いは、コンピュータのシステム現地時間、グリニッジ標準時、仮想フライト内の現地時間のどれを基準点にとるかです。
以上5つのオプションは排他的に使われるように設計されています。 しかし、これらの機能によって設定された値は--time-offset機能を使って修正できます。 この機能は、他の機能によってすでに設定されている値に、指定した時間を加えます。
注意: これらのオプションは、自分が何をしているか分かっている上級ユーザ向けです。
キーボード一つで機械を制御するセスナのパイロットを想像できますか? 飛行感覚を正しく得るためには、ジョイスティックまたはヨーク(操縦桿)に加えてラダー(方向舵)ペダルが必要ですよね? ですが、いくつかのオペレーティングシステム用に市販されているジョイスティックやフライトスティック、ヨーク、ペダルなどには種々様々な組み合わせがあるので、FlightGearにおけるジョイスティック・サポートは重要です。
FlightGearには、どんなジョイスティックやヨーク、ペダルが取り付けられても自動的に検出するジョイスティック・サポートが統合されています。 とにかくお試しください! もしうまく動作しなくても、がっかりせずに落ち着いて! FlightGearのメニューから Help -> Joystick Information を選ぶと、あなたのどのジョイスティックが検出されているのかを見ることができます。
残念なことに、FlightGearでサポートされた(恐らく英語以外の)オペレーティングシステムと、市販のジョイスティックの組み合わせによっては、うまく動作しないことがあります。 基本的には、うまく動かすためには2通りのアプローチ方法があり、前者をお勧めします。
訳注: 下記の「Windowsユーザ向けのいくつかのヒント」には、日本のWindowsユーザにとって重要な情報が記載されています。 また現状にそぐわないファイルのパスは原文から変更し、特に断り無く3.1.1の$FG_ROOTを用いて書き直しました。-toshi
◎ 全般的な留意点
ジョイスティックの自動検出を有効にするためには、各ジョイスティックごとに、ジョイスティック・バインディング用のxmlファイルが存在する必要があります。 このファイルには、どの軸とボタンがFlightGearのどの機能を操作するのに使われるのかが記載されています。 軸またはボタンを機能に関連付けることを「バインディング」と呼びます。 全てのバインディング・ファイルを探す場所をFlightGearに伝える役目をするのは、ジョイスティック記述ファイル
$FG_ROOT/joysticks.xml
です。このファイルの中に対応する項目があるならば、バインディング・ファイルはどんな名前でも許容されます。 後ほど、例を使って説明します。
いくつかのメーカのジョイスティックに対しては、数種類のバインディング・ファイルがメーカごとに名前の付いたフォルダの中に含まれています。 例えば、もしCH Productsのジョイスティックをお持ちなら、
$FG_ROOT/Input/Joysticks/CH
というフォルダを見て、ご自身のジョイスティックが動きそうなファイルを探してください。 そのようなファイルが存在し、ご自身のジョイスティックが他のアプリケーションで動作しているならば、FlightGearの初回起動時にそのジョイスティックは動作するはずです。 そのようなファイルが存在しない場合は、後節で、FlightGearに含まれるサンプルからカット&ペーストしてファイルを作成する方法について説明します。
あなたのコンピュータはジョイスティックを認識していますか? Linux環境下でこの質問に答える一つの方法として、システムを再起動してすぐにコマンドラインで
dmesg | grep Joystick
と入力する方法があります。 これは、ブート・メッセージをgrepにパイプして、ブート・メッセージ内で"Joystick"という文字列を含む全ての行を表示します。 もしSaitekのジョイスティックが接続されているならば、以下と似たような行を見ることができるでしょう。
input0: USB HID v1.00 Joystick [SAITEK CYBORG 3D USB] on usb2:3.0
この行から、ジョイスティックがオペレーティングシステムに対してSAITEK CYBORG 3D USBと名乗っていることが分かります。 このことから、ジョイスティックのドライバからあなたのジョイスティックが見えている、と言うことはできません。 Windows環境下で動作している場合には上記の方法は使えませんが、次の項に進んでください。
FlightGearには、js_demoと呼ばれるユーティリティが同梱されています。 これは、システムに接続されているジョイスティックの番号、それぞれの名称、能力を報告します。 Linux環境下では、 FlightGear/bin フォルダから次のようにしてjs_demoを実行できます。
$ cd /usr/local/FlightGear/bin $ ./js_demo
Windows環境下では、コマンドプロンプト(スタート/すべてのプログラム/アクセサリ)を開き、FlightGearのバイナリ・フォルダに行って以下のようにプログラムを起動します(FlightGearは c:\Program Files\FlightGear にインストールされていると仮定)。
c: cd "\Program Files\FlightGear\bin" js_demo.exe
私たちの環境では、最初の何行かの出力はこのようになります(スクロールが早くて画面を通り過ぎてしまう場合はCtrl-Cでプログラムを止めてください!)。
Joystick test program. ~~~~~~~~~~~~~~~~~~~~~~ Joystick 0: ``CH PRODUCTS CH FLIGHT SIM YOKE USB'' Joystick 1: ``CH PRODUCTS CH PRO PEDALS USB'' Joystick 2 not detected Joystick 3 not detected Joystick 4 not detected Joystick 5 not detected Joystick 6 not detected Joystick 7 not detected +--------------------JS.0----------------------+--------------------JS.1----------------------+ | Btns Ax:0 Ax:1 Ax:2 Ax:3 Ax:4 Ax:5 Ax:6 | Btns Ax:0 Ax:1 Ax:2 | +----------------------------------------------+----------------------------------------------+ | 0000 +0.0 +0.0 +1.0 -1.0 -1.0 +0.0 +0.0 . | 0000 -1.0 -1.0 -1.0 . . . . . |
まず注目していただきたいのは、ドライバによって認識されたジョイスティックがそれぞれ何番に割り当てられたのかをjs_demoが報告することです。 また、各ジョイスティックが報告する"名称"が引用符の間に含まれることにも注目してください。 この名称は、各ジョイスティックに対するバインディングxmlファイルを記述しようとする際に必要になります。
js_demoを用いて、軸とボタンの番号を以下のようにして特定することができます。 ジョイスティックの軸とボタンを操作しながらjs_demoの出力を観測することにより、ジョイスティックのそれぞれの軸とボタンがどの軸番号とボタン番号に割り当てられているかを決定することができます。 一般的に、番号は0から始まることに注意してください。
ボタンは2進数として内部で処理されており、0ビット目(最下位ビット)はボタン0を、1ビット目はボタン1を表しています。 しかしながら、画面上の番号は16進法で表示されます。つまり、以下のようになります。
0001 → ボタン0が押されている
0002 → ボタン1が押されている
0004 → ボタン2が押されている
0008 → ボタン3が押されている
0010 → ボタン4が押されている
0020 → ボタン5が押されている
0040 → ボタン6が押されている
... など。最大で ...
8000 → ボタン15が押されている
... そして ...
0014 → ボタン2と4が同時に押されている
... など。
Linuxユーザに対しては、ジョイスティックの"名称"や各軸とボタンに割り当てられた番号を特定するもう一つのオプションがあります。 たいていのLinuxのディストリビューションには"jstest"という非常に手軽なプログラムが含まれています。 CH Productのヨークがシステムに接続されている場合、jstestによって以下の出力行が表示されます。
jstest /dev/js3 Joystick (CH PRODUCTS CH FLIGHT SIM YOKE USB ) has 7 axes and 12 buttons. Driver version is 2.1.0 Testing ... (interrupt to exit) Axes: 0: 0 1: 0 2: 0 3: 0 4: 0 5: 0 6: 0 Buttons: 0:off 1:off 2:off 3:on 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off
括弧で挟まれた"名称"に注目してください。 これが、あなたのジョイスティックにシステムが関連付けている名称です。
コントローラのどれかを動かすと、その動かしているコントローラに対応する軸番号の後の数字が変わります。 ボタンのどれかを押すと、押しているボタンに対応するボタン番号の後のoffがonに変わります。 このようにして、2進法に混乱させられることなく、それぞれの操作に対する軸番号とボタン番号を素早く書き出すことができます。
◎ ジョイスティック・バインディング用xmlファイルの記述と編集
現時点で、オペレーティングシステムとジョイスティック・ドライバの両方があなたのジョイスティックを認識していることを確認してあります。 また、オペレーティングシステムとドライバに対してあなたのジョイスティックが報告するジョイスティックの"名称"を特定するためのいくつかの方法も分かりました。 すると、どの軸やボタン、対応する番号に対して何の制御機能を割り当てたのかを記述したリストが必要になることでしょう。
前述のjs_demoやjstestを使って(紙と鉛筆で)以下の表を作成してください。 ここでは、ハットスイッチに連動する2軸を含む5つの軸があると仮定しています。
軸 (Axis) | ボタン (Button) |
エレベータ (elevator) = 0 | 視界切替 (view cycle) = 0 |
ラダー (rudder) = 1 | 全ブレーキ (all brakes) = 1 |
エルロン (aileron) = 2 | トリムアップ (up trim) = 2 |
スロットル (throttle) = 3 | トリムダウン (down trim) = 3 |
左右ハット (leftright hat) = 4 | フラップ下降 (extend flaps) = 4 |
前後ハット (foreaft hat) = 5 | フラップ上昇 (retract flaps) = 5 |
回転数減少 (decrease RPM) = 6 | |
回転数増加 (increase RPM) = 7 |
仮に、ジョイスティックがシステムとドライバに提供する"名称"が「QUICK STICK 3D USB」であるとしましょう。 FlightGearに含まれる例を用いて、今のところサポートされていないジョイスティックを自動認識させる一番簡単な方法は、既存のバインディング用xmlファイルを編集することです。 $FG_ROOT/Input/Joysticks/ サブフォルダ内のxmlファイルをご覧ください。 FlightGearで提供されているいくつかのxmlバインディング・ファイルを評価した後に、私たちは次のファイルを編集することに決めます。
$FG_ROOT/Input/Joysticks/Saitek/Cyborg-Gold-3d-USB.xml
このファイルには、軸に割り当てられた上記の全ての軸機能と、ボタンに割り当てられた上記の全てのボタン機能が含まれています。 このため、些細な編集で済みます。
編集を始める前に、バインディング用xmlファイルに対する名前を決め、QSジョイスティック用のフォルダを作成し、元となるxmlファイルをこのディレクトリにこの名前でコピーする必要があります。
$ cd /usr/local/FlightGear/Input/Joysticks $ mkdir QS $ cd QS $ cp /usr/local/FlightGear/Input/Joysticks/Saitek/Cyborg-Gold-3d-USB.xml QuickStick.xml
ここでは、/usr/local/FlightGear にFlightGearがインストールされたLinux/UNIXシステムを仮定しました。 c:\Program Files\FlightGear\ にFlightGearがインストールされたWindowsでの同様な手順としては、コマンドプロンプトを開いて以下を入力してください。
c: cd "\Program Files\FlightGear\data\Input\Joysticks" mkdir QS cd QS copy "\Program Files\FlightGear\data\Input\Joysticks\Saitek\Cyborg-Gold-3d-USB.xml" QuickStick.xml
次に、QuickStick.xmlをお好みのエディタで開いてください。 ジョイスティック名を変更することを忘れてしまう前に、<name>を含む行を検索してください。
<name>SAITEK CYBORG 3D USB</name>
という行が見つかりますので、以下のように変更してください。
<name>QUICK STICK 3D USB</name>
この行は、xml文書の重要な特色を明らかにしています。 それは、<タグ>で始まり、</タグ>で終わるということです。
では、あなたの作った表と、コピーしたファイルの先頭にあるコメントの表を比較します。 コメントから、Saitekのエレベータは軸1に割り当てられていることが分かることに注意しましょう。
<axis n="1">
という文字列を検索して、
<axis n="0">
に変更してください。
次に、Saitekのラダーは軸2に割り当てられていることに注意してください。
<axis n="2">
という文字列を検索して、
<axis n="1">
に変更してください。
訳注: 現在のFlightGearに同梱されているCyborg-Gold-3d-USB.xmlにおけるラダー軸は、UNIXとMacでは軸2、Windowsでは軸3に割り当てられています。 例えばUnix環境でラダーの割り当てを軸2から軸1に変更したい場合は、<desc>Rudder</desc>行の後の<number>の直後の
<unix>2</unix>
と書かれた行を
<unix>1</unix>
に変更すれば良いと考えられます。-toshi
引き続き、あなたの作った表とSaitekのコメント表を比較して、軸番号とボタン番号を適宜変更してください。 QUICKSTICK USBとSaitekの軸の数は同じですが、ボタンの数は異なるので、余計なボタンの行は削除しなくてはなりません。 また、開始タグ1つ1つに対して終了タグが存在することを念入りにチェックすることをお忘れなく。 さもないと、そのxmlファイルを用いるとエラーが発生します。
何人かのユーザからの報告によると、ある機能に割り当てられる軸とボタンの番号は、同じジョイスティックでもWindowsとLinuxで異なることがあり得ます。 上述の手順を用いることで、異なるオペレーティングシステム用に作成されたバインディングxmlファイルをご自身のオペレーティングシステム用に容易に変更することが出来ます。
◎ 新しいバインディングxmlファイルのFlightGearへの読み込み
あなたの新しいxmlファイルをFlightGearが使用する前に、
$FG_ROOT/joysticks.xml
を編集する必要があります。 nameタグの間に入力した"名称"が、ジョイスティックによってドライバに提供された名前と一致するのであれば、あなたの新しいファイルのパスを含んだ1行を追加します。 以下の行をjoysticks.xmlに追加してください。
<js-named include="Input/Joysticks/QS/QuickStick.xml"/>
メニューのHelp -> Joystick Information を選択すると、あなたのジョイスティック設定をFlightGearがどのように解釈しているかを知ることが出来ます。
基本的には、Windows上でも上記の手順が機能します。 ご自分のジョイスティック/ヨーク/ペダルがうまく動作している、または上記の方法でうまく行ったのでしたら、そのままで結構です。 しかし、残念ながらまだいくつか問題のある方がいるかもしれません。
1つ目の問題は、non-US版のWindowsを使っているユーザに関係があります。 上述のように、ジョイスティック名はjs_demoプログラムから得ることができます。 もしnon-US版のWindowsを使っていて、上記で名づけたジョイスティックの.xmlファイルがそのような特殊なジョイスティック名を含んでいなければ、その適合するファイルの最初にその特殊な名前を以下のような形式で追加してください。
<name>Microsoft-PC-Joysticktreiber </name>
joysticks.xmlベースファイルには新しい項目は要りません。
訳注: 日本語Windowsの環境では、
<name>Microsoft PC ジョイスティック ド</name>
のように設定することになるが、この設定で動作するかは現時点で不明である。-toshi
不幸にして、Windows上のジョイスティックサポートにはもうひとつの抜け穴があります。 2つのUSBデバイスを取り付けている場合(例えばヨークとペダル)はこのケースに該当するかもしれません。 この場合、同じドライバ名が2重に報告されます。 このケースでは、(0と1の中から)0番にヨークを割り当てることにより、少なくともヨークを動作させることができるようになります。 このために、エルロンを制御するヨークを回してjs_demoの出力を見てください。 コロンの最初のグループ(device0用)の図形が変化すれば、正しく割り当てられています。 もしコロンの2番目のグループ(device1用)の図形が変化するならば、まずは優先デバイスがヨークになるようにしなくてはなりません。 そうするためには、Windowsの「コントロール パネル」に入り、(訳注: クラシック表示で)「ゲーム コントローラ」を開き、「詳細設定」ボタンを選択してください。 ここで「優先」デバイスにヨークを選ぶことができます。 その後、もう一度js_demoを実行して割り当てを確認してください。 今度はヨークが図形の最初のグループをコントロールするはずです。
残念ながら、同じ方法を使ってペダルも操作できるようにする方法は分かっていません。 したがって、このようなケースなどにはジョイスティックコントロールを割り当てる別の方法を試してみることになるかもしれません。
訳注: Windows でCH Pro Pedal(ジョイスティック0)とSaitek X45(ジョイスティック1)の2台を使うには、単に$FG_ROOT/joysticks.xmlの<PropertyList>行以下を以下のように修正するだけで良いようです。-toshi
<PropertyList> <!-- <js-named include="Input/Joysticks/Local/X45-modified.xml"/> <js n="0" include="Input/Joysticks/Local/joystick_0.xml"/> --> <js n="0" include="Input/Joysticks/CH/pro-pedals-usb.xml"/> <js n="1" include="Input/Joysticks/Saitek/X45.xml"/> </PropertyList>
補足:先述のWindowsの「優先デバイス」の設定でヨーク(あるいはスティック)を優先デバイスに設定した場合には、ヨークがjs0,ペダルがjs1になるように設定する必要があります (どういう条件でデバイスの優先順位が設定されるのかは知りませんが) -sambar
幸運なことに、これらのファイルの記述言語であるXMLの経験が無いであろう平均的なユーザから重荷を取り除くツールが現在は存在します。
この手法を使ってジョイスティックを設定するためには、コマンドシェル(Windowsではコマンド プロンプトであり、スタート|すべてのプログラム|アクセサリ にあります)を開いてください。 そして、/FlightGear/binにディレクトリを移動してください。 例えばこのようになります(ご使用の環境に合わせて修正してください)。
cd "c:\Program Files\FlightGear\bin"
そして、fgjsツールを起動します。 UNIX/Linuxマシンでは、
./fgjs
Windowsマシンでは、
fgjs
と入力します。 このプログラムは、どのジョイスティックが検出されたのかを(もし存在すれば)知らせてくれます。 では、画面に表示される指示に従ってください。 すなわち、要求されるとおりに軸を動かし、ボタンを押してください。 軽く触れるだけでも動作にカウントされることに注意してください。 画面上のレポートをチェックしてしてください。 もし何かおかしいと感じたら、単にプログラムを再起動してください。
全ての軸とスイッチが終了したら、上記のディレクトリ内にfgfsrc.jsというファイルが作成されます。 もしFlightGearのルートディレクトリ$FG_ROOTにオプションファイル.fgfsrc(UNIX)/system.fgfsrc(Windows)が含まれていなければ、単に$FG_ROOTディレクトリにコピーして、
$FG_ROOTディレクトリのfgfsrc.js を .fgfsrc(UNIX)/system.fgfsrc(Windows) に
名前を変えてください。 オプションファイルを作成済みであった場合は、テキストエディタでfgfsrc.jsを開き、中身をコピーして.fgfsrc/system.fgfsrcの中に追加してください。1つのヒントとして、fgjsの出力はUNIX形式です。その結果、WIndowsのエディタ(メモ帳)では正常に表示しないかもしれません。お勧めは、UNIXファイルも取り扱えるエディタを入手することです(古いけれどもこの点から良く使われているのはPFEです。webで検索してください)。その目的で私の好みのフリーウェアのファイルエディタは、幾分と時代遅れですが、未だにPFEであり、以下から入手できます。
http://www.lancs.ac.uk/staff/steveb/cpaap/pfe/ (訳注: リンク先修正)
訳注: 上記は英語用テキストエディタです。(メモ帳以外の)日本語用テキストエディタの多くはUNIXの改行コードに対応していますので、http://www.vector.co.jp や http://www.forest.impress.co.jp などでお好みのテキストエディタを探してみることをお勧めします。
fgjsの軸・ボタンの割り当ては、少なくとも正しく軸を割り当てますが、その出力はちょっと調整する必要があるかもしれません。 本来とは反対方向に動いてしまう軸があったり、不感帯が小さすぎたりなどの現象が起きるかもしれません。 例えば、USB CH Flightsim Yoke を Windows XP で用いたときは、
prop:/input/joysticks/js[1]/axis[1]/binding/factor=-1.0
から
prop:/input/joysticks/js[1]/axis[1]/binding/factor=1.0
に修正しなくてはなりませんでした。 そこで、ジョイスティックのプロパティの割り当てについての短い紹介をここに記します。
基本的に、全ての軸の設定は以下の構造からなる行を通じて指定します。
--prop:/input/joysticks/js[n]/axis[m]/binding/command=property-scale (1行)
--prop:/input/joysticks/js[n]/axis[m]/binding/property=/controls/steering option (1行)
--prop:/input/joysticks/js[n]/axis[m]/binding/dead-band=db (1行)
--prop:/input/joysticks/js[n]/axis[m]/binding/offset=os (1行)
--prop:/input/joysticks/js[n]/axis[m]/binding/factor=fa (1行)
ここで、
n | デバイス番号 (通常は0から始まる) |
m | 軸番号 (通常は0から始まる) |
steering option | elevator, aileron, rudder, throttle, mixture, pitch のいずれか |
dead-band | その信号が破棄される範囲、ヨークの微小な動きによるジッタを避けるのに便利 |
offset | デバイスがニュートラル・ポジションにならない時に指定 |
factor | その軸の感度を制御、+1がデフォルト、-1で逆方向に動作 |
これらの行に従って、あなたのジョイスティックは少なくとも動作するようになるはずです。 例えばジョイスティックのボタンを動作するようにすることなどさらに細かい点を考慮して、John Check氏が非常に有用なREADMEを書いています。 それはFlightGearベースパッケージに含まれており、FlightGear/Docs/Readme/Joystick.htmlにあります。 入力デバイスに関するどんなトラブルの場合でも、このドキュメントを読むことを強くお勧めします。
編集メモ