SetJoypadInputToKeyInput

ジョイパッドの入力に対応したキーボードの入力を設定する

SetJoypadInputToKeyInput InputType, PadInput, KeyInput1

InputType : キーとの対応設定を変更するパッドの識別子
DX_INPUT_PAD1    : パッド1
DX_INPUT_PAD2    : パッド2
DX_INPUT_PAD3    : パッド3
DX_INPUT_PAD4    : パッド4
PadInput : 設定を変更するパッドのボタン( PAD_INPUT_1 等 )
KeyInput1 : 対応させるキーその1( KEY_INPUT_Z 等 )
KeyInput2 : 対応させるキーその2( 無用な場合は -1 を渡してください )
KeyInput3 : 対応させるキーその3( 無用な場合は -1 を渡してください )
KeyInput4 : 対応させるキーその4( 無用な場合は -1 を渡してください )
戻り値

(プラグイン / モジュール : DxLibW)

解説

GetJoypadInputState は例えば

GetJoypadInputState( DX_INPUT_KEY_PAD1 ) ;


を実行した場合、キーの入力もパッドの入力として取得することができますが、
DX_INPUT_KEY_PAD1 を渡した際のキーとパッドの入力の対応は、パッドの1ボタン=Zキー、2ボタン=Xキー・・・となっています。

10年以上前のPCゲームからZキーが決定や攻撃ボタンとして使われてはいますが、ときにこの設定を変更したくなることがあると思います。
また、パッド2や3に対応するキーを設定したくなることもあると思います。

そんなときに使用するのがこの関数です。

この関数ではパッドの入力に対応したキーボード側の入力を設定することができます。

例えばキーボードのGキーを押したときにパッド1のAボタンが押されたことにしたいときは

SetJoypadInputStateToKeyInput( DX_INPUT_PAD1, PAD_INPUT_1, KEY_INPUT_G, -1, -1, -1 ) ;

を実行します。これを実行した後は、


GetJoypadInputState( DX_INPUT_KEY_PAD1 ) ;


としたときに、Gキーが押されていれば、PAD_INPUT_1 が返ってくるようになります。

ではパッド2以降は設定した後 GetJoypadInputState に何を渡せば良いんだ?という話ですが、
こちらは


GetJoypadInputState( DX_INPUT_PAD2 | DX_INPUT_KEY ) ;


という風に、渡す引数に DX_INPUT_KEY を論理和させて下さい。
( パッド1も GetJoypadInputState( DX_INPUT_PAD1 | DX_INPUT_KEY ) ; でもOKです )

なお、対応するキーの設定を4つもできるようにしているのは、
方向ボタンのように十字キーとテンキーどちらでも入力を対応させたいようなケースを考えてのことですので、
殆どの場合は KeyInput2 以降の3つの引数は -1 になると思います。

戻り値:
  0:成功

関連項目

GetJoypadInputStateジョイパッドの入力状態を得る(DxLibW)
GetJoypadNumジョイパッドが接続されている数を取得する(DxLibW)
GetJoypadAnalogInputジョイパッドのアナログ的なレバー入力情報を得る(DxLibW)
SetJoypadDeadZoneジョイパッドの方向入力の無効範囲を設定する(DxLibW)

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib 入力
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs