BF2 Wiki

キーコンフィグ Edit

 
 
 

Controls.con Edit

BF2の操作設定は全てControls.conというテキストファイルに記述されています。
これをテキストエディタで編集することで、オプションからでは介入出来ない
より詳細な設定やプレイの助けとなる高度な設定を行うことが出来ます。

My Documents/Battlefield 2/Profiles/0001/Controls.con

アカウントを複数持っている場合は0002以降のフォルダも生成されています。

!!!注意!!!
Controls.conはBF2起動時、コントロール設定変更時、BF2終了時などに内容の変更が なくても上書きされます。
上書きする際にプライマリが2つ設定されていたり、セカンダリしかなかったり する不正な行が存在すると、該当行を削除して保存します。
入力ミスなどが起きると作業内容がパーになりかねないので、 作業をする時は以下の状態のControls.conのバックアップを取ってから動作確認した方がいいでしょう。

  • 変更前のファイル
  • 変更後のファイル(BF2起動前に保存)
 
 
 

段落 Edit

Controls.conは大きく七つの段落に分かれています。
オプションからでは違う段落でしか同一のキーは設定できませんが、
直接編集する分には問題ありません。

 ControlMap.create InfantryPlayerInputControlMap  歩兵の操作 
 ControlMap.create LandPlayerInputControlMap  ジープや戦車など地上を走る車両の操作  
 ControlMap.create AirPlayerInputControlMap  戦闘機、攻撃機の操作 
 ControlMap.create HelicopterPlayerInputControlMap  攻撃/輸送ヘリの操作 
 ControlMap.create SeaPlayerInputControlMap  ボートやジェットスキーの操作 
 ControlMap.create defaultGameControlMap  上記以外のゲーム全般の操作 
 ControlMap.create defaultPlayerInputControlMap 
 
 
 

書式 Edit

Controls.conでは、ジャンプのキー設定はこのように記述されています。

ControlMap.addKeyToTriggerMapping c_PIAction IDFKeyboard IDKey_Space 10000 0 

これらはこのような意味になっています

コントロールのマッピングを行う.マッピングの種類 マッピングする動作 マッピングする入力1 マッピングする入力2又はクリックの種類 セカンダリ又はプライマリ

ControlMap.addKeyToTriggerMapping Edit

入力装置によって変わる部位です。

 addKeyToTriggerMapping  キーボードのキー 
 addButtonToTriggerMapping ジョイスティックやマウスのボタン 
 addAxisToAxisMapping ジョイスティックやマウスのX/Y軸 
 addKeysToAxisMapping 2つのキーを1つの軸として扱う場合
 前後左右への移動に使うWS/ADなどがこれです  
 addButtonsToAxisMapping 2つのボタンを1つの軸として扱う場合  

片方にボタン、片方にキーを使って軸にする方法は不明

 
 

c_PIAction Edit

入力に対して行われる動作、キーに持たせる機能を表すもっとも重要な部位です。
c_PI で始まるものと c_GI で始まる2種類があります。

ジャンプ以外の場合どう書くのかは、オプションで余っているキー
例えば¥キーを設定してYenで検索してみれば分かります。

別紙にて一覧表も用意してみました。

 

IDFKeyboard Edit

入力装置の指定です。キーボード以外の場合はこうなります。

IDFMouse
IDFGameController_0
 

IDKey_Space Edit

バインドするキーです。ジョイスティックやマウスのボタンの場合はこうなります。

IDButton_0

マウスやホイール、ジョイスティックの軸を指定する場合はこのようになります。
IDAxis_1の次の0は1にすると反転するようです。
左右逆になってしまうときはここをチェックだ。

IDAxis_1 0

2つのキーを1つの軸として扱う場合はこのように併記されます。

IDKey_W IDKey_S
 

10000 Edit

入力タイプの設定です。
2つのキーを1つの軸として扱う場合(KeysToAxis, ButtonsToAxisを指定した場合)は数値の指定はありません。

10000は押した瞬間のみの入力で、アサルトライフルでいうとシングルショットの状態です。
ジャンプ(SPACE)、兵装選択(1-9)、座席移動(F1-8)などがこの設定です。

0にすると押してる間は常に入力し続けた状態になり、いわばフルオートになります。
移動(WSAD)やラジオメニューを開く(Q)などがこの設定です。

1000に設定した場合はダブルクリックでのみ入力されるようになります。
これを使うと単一のキーに二つの機能を持たせられます。
Wの2回押しでのスプリント(SHIFT+W相当)などがこの設定です。

 

0 Edit

プライマリ/セカンダリの設定です。

BF2ではひとつの機能に対して二つまでしかキーを設定できませんし、
どちらがメインのキーでどちらがサブのキーなのかも区別して設定する必要があるようです。

機能に対して設定する一つ目のキーの場合は0。二つ目を追加する場合は1にします。

!!!注意!!!
プライマリの行をセカンダリにコピーして、1に書き換えるのを忘れたり、プライマリ、セカンダリの両方がある設定のプライマリを削除して、セカンダリからプライマリに戻すのを忘れた場合はBF2起動時や終了時に該当行が削除されます。
バックアップを忘れずに取っておきましょう。

 
 
 

ジャンプキーでパラシュートを開く Edit

オプションでは弾かれますが、同一のキーを設定してやるだけで
ジャンプとパラシュート開傘機能を併せ持たせることが出来ます。

c_PIAction で検索して見つかるのがジャンプのキー設定を記述している行、
c_PIWeaponSelect9 で出てくるのがパラシュートのそれです。

c_PIWeaponSelect9 の前後を全て消して、代わりにジャンプの方の
c_PIAction の前後をコピぺしてやれば完成です。

どちらもキーボードに設定していた場合は前後の記述はほぼ共通ですから、
IDKey_9 を任意のキー(IDKey_Space など)に書き換えるだけでもいけます。

スペースキーにバインドした場合。

ControlMap.addKeyToTriggerMapping c_PIWeaponSelect9 IDFKeyboard IDKey_Space 10000 0
ControlMap.addKeyToTriggerMapping c_PIAction IDFKeyboard IDKey_Space 10000 0
 
 
 

ジョイスティックを使ってる時もスポットしたい Edit

オプションでは設定項目自体が見当たりませんが、ラジオメニューを
決定するキー(通常左クリック)にもセカンダリを設定できます。

同じボタンにラジオメニューを開く機能も持たせておくと
ジョイスティックを使ってヘリや飛行機に乗っている時でも
ボタン1発でスポットが出来るようになります。

まずオプションで主通信(ラジオメニューを開くデフォルトではQキー)の
セカンダリに任意のボタンを設定しておきます。

c_GIRadioComm で検索するとプライマリとセカンダリの2行が見つかるので、
下にある末尾が1のセカンダリの方をまるごとコピー、 c_GIOk で検索して
見つかる行の下に新たにペーストし、 c_GIRadioComm の部分を c_GIOk に
書き換えれば完成です。

ボタン7に1発スポット機能を持たせた場合。

ControlMap.addButtonToTriggerMapping c_GIOk IDFMouse IDButton_0 0 0
ControlMap.addButtonToTriggerMapping c_GIOk IDFGameController_0 IDButton_7 0 1
ControlMap.addKeyToTriggerMapping c_GIRadioComm IDFKeyboard IDKey_Q 0 0
ControlMap.addButtonToTriggerMapping c_GIRadioComm IDFGameController_0 IDButton_7 0 1
 
 
 

マウスホイールのスクロールもボタンとして使う Edit

通常ホイールは上下させると装備の一覧が表示されクリックして
決定しないと持ち替える事が出来ませんが、上回転と下回転を
普通のボタンとして使うことも出来ます。

3番4番など頻繁に使う武器や、SpecialForceではガスマスクと
ナイトビジョンを設定しておくと便利です。

ControlMap.addAxisToTriggerMapping c_PINextItem -1 IDFMouse IDAxis_2 0
ControlMap.addAxisToTriggerMapping -1 c_PIPrevItem IDFMouse IDAxis_2 0

デフォルトのホイールに関する記述はこうなっていますのでこれをコピー、
3番4番のセカンダリとして設定する場合はそれぞれの記述の下に新たにペーストし、
c_PINextItem/c_PIPrevItem の部分を c_PIWeaponSelect3/c_PIWeaponSelect4 に、
末尾の0をセカンダリを意味する1に書き換えます。

3番4番武器の記述は既に書いたc_PIWeaponSelect3 と c_PIWeaponSelect4 で
検索すれば見つかりますが、車両用や航空機用など複数該当があります。

ControlMap.create InfantryPlayerInputControlMap

最初の行にこう書いてある歩兵用の段落の下に挿入して下さい。

最後に元の武器選択機能、上にも書いた c_PINextItem と c_PIPrevItem を含む
2行を消せば完成です。

ControlMap.addKeyToTriggerMapping c_PIWeaponSelect3 IDFKeyboard IDKey_3 10000 0
ControlMap.addAxisToTriggerMapping c_PIWeaponSelect3 -1 IDFMouse IDAxis_2 1
ControlMap.addKeyToTriggerMapping c_PIWeaponSelect4 IDFKeyboard IDKey_4 10000 0
ControlMap.addAxisToTriggerMapping -1 c_PIWeaponSelect4 IDFMouse IDAxis_2 1

ガスマスク/ナイトビジョンにする場合は c_PIWeaponSelect7/c_PIWeaponSelect8 です。
それぞれの記述の下に挿入してください。

 
 
 

BF1942の様にフルキーで座席移動する Edit

BF2では輸送ヘリやジープ/ボートのパイロット/ガンナー以外の座席で
歩兵の手持ち装備を使えるために歩兵操作にも座席移動の設定があり、
デフォルトでは装備選択にフルキー、座席移動にファンクションキーを
使う事を余儀なくされますが、フルキーに両方バインドすることも出来ます。

まずゲーム内オプションで各種車両の座席移動はフルキーに、歩兵項目は
装備選択をフルキー、座席移動をファンクションキーにして保存した後、
書式の項で書いたココの数値を弄ります。

ControlMap.create InfantryPlayerInputControlMap

の段落の下にある c_PIPositionSelect1 で検索してみつかる行と、
その下の同じく 2〜8 までが歩兵の座席移動の設定ですので、これらの行末から
二番目にある 10000 を 1000 に、 IDKey_F1 を IDKey_1 に
書き換えたら完成です。

ControlMap.addKeyToTriggerMapping c_PIWeaponSelect1 IDFKeyboard IDKey_1 10000 0
ControlMap.addKeyToTriggerMapping c_PIPositionSelect1 IDFKeyboard IDKey_1 1000 0

上が装備選択の記述、下が座席移動のそれ。

これで歩兵装備が使える座席では一度押せば装備変更、二度押しで座席移動になります。
(※ただし、座席を移動した場合も一度目の入力に反応して装備の持ち替えは行われてしまいます。)

 
 
 

キーフィグ別紙 Edit

マッピング出来る動作の一覧などが書いてある別紙が用意してあります。