翻訳作業場トップページ このドキュメントは $FG_ROOT/Docs/Readme.Joysticks.htmlの日本語訳です。
#contents
version 0.9.8.1 13/10/2005 Author John Check (FlightGear1.9.1添付バージョン)
この文書はFlightGear0.7.7以降を対象として書かれています。 ジョイスティックがあなたのOS上で正常に認識され、動作しているという前提で書いています。この文書はLinuxユーザーの視点で書かれていますが、しかしこの情報は他のプラットフォームでも有効です。 (訳注:訳者はWindowsVistaユーザーです。)
Thanks to David Megginson, who aside from actually implementing FGFS XML features, lets me rip off his descriptions of how stuff works so I can look smart.(ここは未翻訳 )
初期のFGFSのジョイスティックの軸/ボタンと、キーバインディングはハードコードされていました。もしデフォルトのジョイスティックの設定を使用しない、もしくは違うキーバインディングを使いたい場合、ソースコードを修正して再コンパイルする必要がありました。
幸運な事に、v0.7.5.aの頃に"プロパティマネージャ"が与えられ、ジョイスティックで簡単にパラメータをセットできるようになりました。 バージョン0.7.7ではプロパティマネージャの役割が拡張され、イベントとコマンドを束ねることが出来るようになりました。 このコードは、FGInputとして知られていて、ジョイスティックと同様にキーボードのコマンドバインディングを構成するのに使用されます。 バージョン0.7.9では条件付けが許容され、編集された決定ツリーを加えました。(修正希望)
私は、ジョイスティックとキーボードについては後で書くつもりです。 FGInputは一般的なものを十分に扱えます。それは、ジョイスティックのボタンとキーボードのイベントを同様に扱います。 さまざまな方法でキーボードまたはジョイスティックのバインディングを記憶できます。使える方法は以下のとおりです:
ソース | 場所 | 書式 | 有効範囲 |
command line | STDIN | 例を見てください | そのセッションのみ |
.fgfsrc | ~/ | コマンドラインオプション | 現在のユーザーのみ |
system.fgfsrc | $FG_ROOT | コマンドラインオプション | システム全体 |
joystick.xml | $FG_ROOT | XMLプロパティリスト | システム全体 |
keyboard.xml | $FG_ROOT | XMLプロパティリスト | システム全体 |
あなたがこれを疑問に思っている時のために、XMLは「eXtensible Markup Language」と書いておきます。 これは、HTMLに非常に似ていますが、(訳者追記:XML文書に使う場合に限って言えば)あなた自身で定義したタグを使用できます。
さて、FGFSの場合では、私たちはあなたがジョイスティック/キーボードを構成するために必要とするタグを定義しました。階層的に組織化された構造を記述することによく適しています。FGFSで使用しているプロパティツリーのような、外部のアプリケーションへの内容です。あなたは、FGFSのためにXMLファイルを設定するには、以下の開始タグと終了タグをペアで記述しなければなりません。
<PropertyList> <!-- HTMLと同じように、<!-- -->で囲った部分はコメントです。 --> </PropertyList> <PropertyList> <!-- HTMLと同じように、<!-- -->で囲った部分はコメントです。 --> </PropertyList>
FlightGearには、js_demoユーティリティが同梱されています。(訳注:1.9.0以降は同梱されていません…) これは、ジョイスティックの数と能力について報告するでしょう。 ジョイスティックを操作しながらjs_demoの出力を監視すれば、軸/ボタンに対して割り当てる操作を決める事ができます。一般的に、*NIX環境では付番がゼロから始まることに注意してください。 以下の例では、システムで、1個のジョイスティック(js0)を接続します。この出力は、4ボタンとスロットル付きのアナログGravis BlackHawkジョイスティックの物です。
js_demoの典型的な出力
Joystick test program. ~~~~~~~~~~~~~~~~~~~~~~ Joystick 1 not detected <!-- ジョイスティック番号は0から始まります --> Joystick 2 not detected +--------------JS.0--------------+ | Btns Ax:0 Ax:1 Ax:2 | +--------------------------------+ | 0000 +0.0 +0.0 -1.0 |
The buttons are handled internally as a binary number in which bit 0 ・・・(以下翻訳中
翻訳開始 2009/0/22 sambar