ゲームパッドの操作
PseudoPadInput
クラスを用いてゲームパッドの操作を指定し、それを送信することでゲームパッド操作を Python プログラムから行うことが可能です。
各ボタンの定義
各ボタンの名前は Unreal Engine のFGamepadKeyNames構造体に準拠するようにしており、特定のプラットフォームに依存しないようにしています。
定義名 | 型 | 値の範囲 | UE エディタ内での表記 | Xbox One コントローラー | PS4 コントローラー(DualShock4) | Nintendo Switch Pro コントローラー |
---|---|---|---|---|---|---|
LeftAnalogX | float | -1.0 ~ 1.0 (右方向が+) | 左サムスティック X 軸 | 左スティック X 軸 | 左スティック X 軸 | L スティック X 軸 |
LeftAnalogY | float | -1.0 ~ 1.0 (上方向が+) | 左サムスティック Y 軸 | 左スティック Y 軸 | 左スティック Y 軸 | L スティック Y 軸 |
RightAnalogX | float | -1.0 ~ 1.0 (右方向が+) | 右サムスティック X 軸 | 右スティック X 軸 | 右スティック X 軸 | R スティック X 軸 |
RightAnalogY | float | -1.0 ~ 1.0 (上方向が+) | 右サムスティック Y 軸 | 右スティック X 軸 | 右スティック X 軸 | R スティック Y 軸 |
DPadUp | bool | true or false | 方向キー上 | 方向パッド上 | 方向キー上 | 十字ボタン上 |
DPadLeft | bool | true or false | 方向キー左 | 方向パッド左 | 方向キー左 | 十字ボタン左 |
DPadRight | bool | true or false | 方向キー右 | 方向パッド右 | 方向キー右 | 十字ボタン右 |
DPadDown | bool | true or false | 方向キー下 | 方向パッド下 | 方向キー下 | 十字ボタン下 |
FaceButtonTop | bool | true or false | Y ボタン | Y ボタン | △ ボタン | X ボタン |
FaceButtonLeft | bool | true or false | X ボタン | X ボタン | □ ボタン | Y ボタン |
FaceButtonRight | bool | true or false | B ボタン | B ボタン | ○ ボタン | A ボタン |
FaceButtonBottom | bool | true or false | A ボタン | A ボタン | × ボタン | B ボタン |
LeftShoulder | bool | true or false | 左ショルダー | L ボタン | L1 ボタン | L ボタン |
RightShoulder | bool | true or false | 右ショルダー | R ボタン | R1 ボタン | R ボタン |
LeftTriggerThreshold | bool | true or false | 左トリガー | L トリガー | L2 ボタン | ZL ボタン |
RightTriggerThreshold | bool | true or false | 右トリガー | R トリガー | R2 ボタン | ZR ボタン |
LeftTriggerAnalog | float | 0 ~ 1.0 | 左トリガー軸 | L トリガー | L2 ボタン | ZL ボタン |
RightTriggerAnalog | float | 0 ~ 1.0 | 右トリガー軸 | R トリガー | R2 ボタン | ZR ボタン |
LeftThumb | bool | true or false | 左サムスティックボタン | 左スティックボタン | L3 ボタン | L スティックボタン |
RightThumb | bool | true or false | 右サムスティックボタン | 右スティックボタン | R3 ボタン | R スティックボタン |
SpecialLeft | bool | true or false | 特別仕様の左 | ビューボタン | <未確認> | -ボタン |
SpecialRight | bool | true or false | 特別仕様の右 | メニューボタン | OPTIONS ボタン | +ボタン |
サンプルコード
# 仮想パッド入力インスタンスの生成
pad_input = bridge.PseudoPadInput()
# キー入力
pad_input.LeftAnalogX = 0.5
pad_input.FaceButtonButtom = True
# 送信
bridge.send(pad_input=pad_input)
注記
- 連続してボタンを
True
にすると、ボタンを押し続けていると判定します。 - 連射をしたい場合は、
True
とFalse
を繰り返すようにしてください。