XboxコントローラーのLT・RTを同時に押すと効かない原因|DirectInputとXInputの確認方法と故障の見分け方
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
DirectInputでは左右トリガーが1本の軸になる
PCでXboxコントローラーを使っていて、LTとRTを片方ずつ押すと反応するのに、同時に押すとどちらも効かない、あるいはブレーキとアクセルが打ち消し合うことがあります。トリガーの故障を疑いたくなる症状です。
XboxコントローラーをDirectInputで扱うと、左右のトリガーは独立した2つのボタンではなく1つの軸にまとめられます。ゲームがXInputで読む場合は、LTとRTはそれぞれ0〜255の値で別々に届きます。同時押しが効かないときは、ゲームがDirectInput側の値を読んでいる可能性があります。
片方ずつ押しても反応しないなら、この仕様とは別の問題です。片方ずつ反応するなら、joy.cplでの確認、ゲーム内の入力方式、コントローラーの動作モード、Steam Inputの順に見ていけば、設定を元に戻しながら原因を絞れます。
目次
結論同時押しが打ち消されるのはDirectInputの仕様
XboxコントローラーのドライバーはXInput用とDirectInput用の2つの口を用意しています。DirectInput側ではLTとRTが同じ軸の正負に割り当てられるため、同時に押すと互いに打ち消し合います。コントローラーが壊れていなくても起こります。
仕組みXInputとDirectInputでトリガーの届き方が違う
XboxコントローラーはXUSBというドライバーで動き、XInput用のインターフェースに加えて、古いゲーム向けにHID(DirectInputが拾うインターフェース)も公開しています。XUSBコントローラーをDirectInputで使うと、左右トリガーは独立せず1つのボタンのように働きます(Microsoft Learn|XInputとDirectInputの機能比較)。
| 項目 | XInput | DirectInput(XUSB経由) |
|---|---|---|
| LT・RT | それぞれ0〜255の値で別々に届く | 1つの軸(Z)にまとめられる |
| 同時に押したとき | 両方の値がそのまま届く | 一方が正方向、もう一方が負方向になり、全ての組み合わせの値は見えない |
| 振動 | XInputのAPIで使える | 使えない |
まとめられているのは設計上の理由からです。古いゲームは、DirectInputの軸を「操作していないときは中央」と前提にしています。一方、新しいコントローラーのトリガーは、離したときに最小値を示す設計です。そのまま渡すと古いゲームは常に操作中と解釈するため、片方を正方向、もう片方を負方向にして、離したときに中央へ戻る形にしています(XInputとDirectInputの機能比較、DirectInputとXUSBデバイスの対応)。
XInput側のトリガー値は、構造体XINPUT_GAMEPADのbLeftTriggerとbRightTriggerに0〜255で入ります(Microsoft Learn|XINPUT_GAMEPAD構造体)。同じ比較資料では、LTとRTを別々にテストするにはXInputを使う必要があるとされています。
手順どこで打ち消されているかを5段階で確認する
- LT単体、RT単体で反応を見る。どちらか一方でも単体で反応しないなら、トリガーが1本の軸に合成される仕様では説明できません。別のゲーム、別のUSBポート、有線接続でも同じか比べてください。両方とも単体で反応するなら、次へ進みます。
- Win+Rで「joy.cpl」を開き、コントローラーのプロパティで値を見る。LT単体とRT単体で動くバーが同じ1本で、反対方向に動き、同時に押すと中央付近に戻るなら、合成された値を見ています。LTとRTが別々に動くなら、次のゲーム内確認が本命です。
- ゲーム内の入力設定を見る。入力方式やコントローラーの種類に「XInput」「Xbox」「DirectInput」などの選択肢があれば、Xbox・XInput側に切り替えます。割り当て画面ではLTとRTを別々に押し、別の項目として登録できるか確かめます。軸が1つの項目にしか登録されないときは、ボタンとして割り当て直せるか見ます。
- 他社製コントローラーは動作モードを確認する。X-inputとD-inputを持つ機種は、モードの切り替え方が機種ごとに違うため、取扱説明書で確かめます。8BitDoのPro 2 Wired Controllerの公式FAQでは、PCなどで自動認識される通常のモードはX-input(とSwitch)で、D-inputは起動時にBボタンを押しながら接続して手動で入れる、と案内されています(8BitDo公式FAQ|Pro 2 Wired Controller)。Windowsのゲーム用にはX-inputに戻して試します。
- Steam経由のゲームはSteam Inputをゲーム別に切り替えて比べる。Steamライブラリで対象ゲームのコントローラー設定を開き、Steam Inputの「オン」と「オフ」で同時押しの結果が変わるかを見ます。ゲーム別の切り替えはSteam入力を無効にしても反応しない原因で確認できます。
動作モードの切り替えとSteam Inputのオン・オフで原因を絞れる段階で、別の変換ソフトを入れる必要はありません。ソフトを重ねるとコントローラーが二重に認識されることもあるため、先に上の5段階を試します。二重認識の見分け方はコントローラーが2台認識される原因にまとめています。
判断結果の見え方から次の手を選ぶ
| 見え方 | 考えられる原因 | 次の手 |
|---|---|---|
| LTかRTの片方が単体でも反応しない | トリガーの不具合、接続、別ソフトとの競合など、同時押しの仕様とは別の問題 | 別のゲーム・別のUSBポート・有線接続で比べる |
| joy.cplで1本のバーが逆方向に動く | LTとRTが1本の軸に合成されている(Microsoftの設計) | ゲームの入力方式がXInput側か確認する |
| ゲームの割り当てで1つの軸にしか登録されない | ゲームがDirectInput系の軸で読んでいる | 入力方式を変える、ボタンとして割り当て直す |
| 他社製コントローラーで起きる | D-inputなど、XInputでないモードで接続されている | 取扱説明書でX-inputモードに戻す |
| Steam経由のゲームだけ変わる | Steam Inputの有無で入力経路が変わっている | ゲーム別にオンとオフを比べる |
戻す変えた設定は1つずつ記録して元に戻せる状態にする
切り分けでは設定を1つ変えたら結果を確かめ、効かなければ戻します。動作モードは変更前のモード名を控え、Steam Inputはゲームのプロパティで変更前の選択肢に戻します。ゲーム内の入力方式も、変更前の選択肢を控えてから切り替えれば、他のゲームに影響が出ても戻せます。
他社製コントローラーのモードを切り替えた後に別のゲームで認識されなくなったら、そのコントローラーのX-inputモードに戻すところから試します。基本の接続確認はPCでコントローラーを使う接続ガイドにまとめています。
おすすめXInput前提のゲームで迷いたくないとき
XInput前提のゲームで入力の経路を気にしたくないなら、WindowsにXInput用のドライバーが用意されているXbox系のコントローラーが基準になります。他社製を選ぶときは、Xbox向けのモデルを選ぶと、動作モードを切り替える手間を減らせます。
FAQよくある質問
まとめ片方ずつ反応するなら、入力経路を確かめてから設定を戻す
LTとRTの同時押しが効かないとき、片方ずつ反応するなら故障と決めつけず、DirectInputで1本の軸になっていないかを確かめます。単体で反応しない場合は、仕様とは別の問題です。
確認の順番は、単体の反応 → joy.cpl → ゲーム内の入力方式と割り当て → コントローラーの動作モード → Steam Inputです。変えた設定は1つずつ記録して戻せる状態にし、変換ソフトは最後の手段にします。



