コントローラーで遊ぶ

環境構築

Fallout 4のキー設定

バニラで用意されているキー設定のことです。以降の解説ではFO4キーと呼びます。

設定方法はゲーム内でシステムメニューを開き、キー設定から行えます。

キー設定画面では単独のボタンをアサインすることしかできませんが、Skyrimにおいてはcontrolmap.txtを直接編集することで複雑なアサインを実現できました。

Fallout 4ではcontrolmap.txtが廃止されたようです。そのかわり、F4SEが機能を提供してくれます。

DATA\F4SE\CustomControlMap.txt

Skyrimにはcontrolmap.txtの編集を簡単にしてくれるSkyrim Pad Configというツールがあります。これでFallout 4のCustomControlMap.txtを編集すると設定が壊れます。!Activateと書いてある行が処理できないみたいでおかしくなります。ですのでCustomControlMap.txtはテキストエディタで直接編集するしかないようです。

同時押しはサポートしていないようです。記述しても動きませんでした。

このファイルを変更したら、タイトル画面でキー設定をデフォルトに戻すことで反映できます。

MCMで設定するホットキー

MCMの中で設定するキーのことです。以降の解説ではMCMホットキーと呼びます。

MCMのホットキーの設定は以下のファイルに保存されています。

DATA\MCM\Settings\Keybinds.json

キーコードはCK Wikiにあります。

ゲーム内のMCMではコントローラーのボタンがなぜか設定できませんが、このファイルを直接編集することで設定できます。ですが、ボタンを設定しても動作が不安定のようなので、オススメしません。

JoyToKey

JoyToKeyはFree Colorsが配布しているツールです。コントローラーにキーボードを割り当てられるようになります。コントローラーがキーボードのかわりになるということです。

Fallout 4やSkyrimのModコミュニティで「このModはコントローラーに対応していない」という発言をよく目にしますが、JoyToKeyを使うことでほぼすべて解決できます。

JoyToKeyには同時押しの設定もあるため、うまく使いこなすことで多くのキーをコントローラーに割り当てられます。

オススメの使い方

オススメはFO4キーでLTとLB、RTとRBを入れ替えてSkyrim風にしておき、LTとRTを同時押しに使う、という方法です。

LTとRTはアナログ入力なのでModがうまく認識できず、特にLTで狙いをつける操作をしているとModに認識されないことがあります。LBに入れ替えることでこの問題を回避できます。

設定のコツ

キーボードとコントローラーの両立

CustomControlMap.txtの最後列は0x8や0x108になっていますが、これを0もしくは空欄にすればコントローラーがありでもキーボードが反応するようになります。

そこからさらにJoyToKeyを使ってコントローラーにキーボードを割り当てることで、実質的にコントローラーだけで操作可能にする、というのがコントローラープレイの基本です。

状況に応じてキーの役割がかわる

コンテナにクロスヘアを合わせているクイックルート状態ではFO4キーの役割が変化します。例えば↓にスニークを割り当ててしまうと、スニークのオン・オフが出来たり出来なかったりしてしまいますので、LTやL3など違うキーに割り当てた方がいいです。

MCMホットキーにボタンはオススメしない

MCMホットキーにコントローラーのLT、RTを直接設定しても動作が不安定のようです。連打しても発動したりしなかったりします。MCMホットキーにはキーボードのキーを設定しておき、JoyToKeyでLT、RTにキーボードのキーを割り当てて、間接的に使うようにするといいみたいです。

スプリントに設定してあるFO4キーとMCMホットキーに同じキーを割り当てると、スプリント中はMCMホットキーが効かないみたいです。

使わないFO4キーをあけて節約する

CustomControlMap.txtでキーを0xffにすると無効にできます。使わないキーは無効にしてModホットキーに回したほうがいいです。

ガイドボタン

ガイドボタンを押している間はスティックが効かなくなるようです。

ガイドボタンの使い方はこちらで解説しています。

Shareボタン

Shareボタンは何かという説明がこちらにあります。

このShareボタンは特別なようで、他のボタンのようにはいかないようです。JoyToKeyでも入力を検知できません。

ゲーム内の操作に使いたい場合、以下の方法で実現できました。

まず、Steamクライアントをベータ版にします。(本当に必要かどうかはわかりません

Steamの一般コントローラー設定でXbox拡張機能のサポートを有効にします。(本当に必要かどうかはわかりません

Steamのライブラリ、Fallout 4、コントローラ設定で、Shareボタンに機能を割り当てます。

マウスカーソルをオレンジ色で囲ってある場所に持っていかないと設定できないので非常にわかりにくいです。

色々と割り当てられるようですが、キーボードを割り当てても動作しませんでした。仕方がないのでL3ボタンを割り当てて、ShareボタンがL3ボタンのかわりになるようにしました。

L3ボタンの割り当ては削除しておきます。これで、L3ボタンとShareボタンが完全に入れ替わります。

ややこしいですが、JoyToKeyの認識には影響しません。ですのでL3ボタンに任意のキーを割り当てることができます。Shareボタンはあいかわらず入力を検知できません。

このSteamのコントローラ設定で割り当てを変更した場合、ゲーム内のHUDの表示には反映されませんので注意が必要です。

ShareボタンをPipboyにしてYボタンを他のことに使う

FO4キーの設定で、PipboyをYからL3に変更します。他ではL3は使わないようにします。

JoyToKeyの設定では、L3ボタンとYボタンに任意の機能を割り当てます。ただし、何らかのメニューを開いている場面ではYボタンの機能が変化しますので、それを考慮して割り当てます。

これで、以下のようになります。

  • Shareボタンを押すとPibboyが開きます。
  • L3ボタンはJoyToKeyで割り当てた機能がいつでも使えます。
  • YボタンにはJoyToKeyで割り当てた機能がメニューを開いていない場面に限り使えます。

同時押し

Skyrimではゲーム側で同時押しが実現できていました。Fallout 4ではできないようなので、JoyToKeyを使って実現します。

例として、以下のケースを考えてみます。

  • コントローラーの十字ボタンを押したらお気に入りの1~4
  • コントローラーのLTボタンを押しながら十字ボタンを押したらお気に入りの5~8

FO4キーで以下のように設定します。

  • コントローラーの十字ボタンは一切使わないようにします。
  • お気に入りの1~8にキーボードの1~8キーを割り当てて、最後列を0にします。
  • コントローラーのLTボタンには任意の機能を割り当てられます。スプリントあたりがオススメです。

これで、コントローラーの十字ボタンは一切機能しなくなります。キーボードの1~8キーを押すとお気に入りが発動します。立ち止まってLTボタンを押しても何もおこりません。(スプリントは前進中でなければ発動しないので)

JoyToKeyで以下のように設定します。

  • Joystick #1の十字ボタンにキーボードの1~4キーを設定します。
  • LTボタンにJoystick #2の設定を使用を設定します。
  • Joystick #2の十字ボタンにキーボードの5~8キーを設定します。

これで、コントローラーの十字ボタンがお気に入り1~4に、LTボタン+十字ボタンでお気に入り5~8になります。

立ち止まってLTボタン+十字ボタンを押すと、内部的にはスプリントとお気に入りの同時入力となっているのですが、スプリントは発動しないので、結果的にお気に入りだけを発動できるわけです。

CustomControlMap.txtで設定するキーコード

コントローラー

CustomControlMap.txtの53行目あたりに書いてあります。

ボタン設定値
左スティック0x000b
右スティック0x000c
LB0x0100
RB0x0200
LT0x0009
RT0x000a
A0x1000
B0x2000
X0x4000
Y0x8000
0x0001
0x0002
0x0004
0x0008
スタート0x0010
セレクト0x0020
L30x0040
R30x0080

キーボード

キー設定値
A0x41
B0x42
C0x43
D0x44
E0x45
F0x46
G0x47
H0x48
I0x49
J0x4a
K0x4b
L0x4c
M0x4d
N0x4e
O0x4f
P0x50
Q0x51
R0x52
S0x53
T0x54
U0x55
V0x56
W0x57
X0x58
Y0x59
Z0x5a
キー設定値
10x31
90x39
00x30
0xbd
^0xbb

Keycode 定数を参考にしました。

RegisterForKeyで設定するキーコード

F4SEによって拡張された、Papyrusで使えるホットキーの機能です。

Skyrimに近い使い勝手となりますが、いくつか違う点があります。

設定すべきキーコードはFallout 4専用のものになります。Skyrimのキーコードは値が異なるので使えません。

ただし、コントローラーだけはSkyrimのキーコードを使うようです。

コントローラーのLTとRTはどうやら検知できないようです。アナログ入力だからでしょうか。

特定の状況ではOnKeyDown、OnKeyUpイベントが発火しません。ラグドール中などが該当します。これらの状況でもホットキーを使うにはMCMホットキーを使います。

タイトルとURLをコピーしました