XINPUT_GAMEPAD

Xbox 360 コントローラーの現在の状態を記述します。

typedef struct _XINPUT_GAMEPAD {
    WORD wButtons;
    BYTE bLeftTrigger;
    BYTE bRightTrigger;
    SHORT sThumbLX;
    SHORT sThumbLY;
    SHORT sThumbRX;
    SHORT sThumbRY;
} XINPUT_GAMEPAD, *PXINPUT_GAMEPAD;

メンバ

wButtons
以下に示す、デバイスのデジタル ボタンのビットマスクです。設定ビットは、対応するボタンが押されていることを示します。
#define XINPUT_GAMEPAD_DPAD_UP          0x00000001
#define XINPUT_GAMEPAD_DPAD_DOWN        0x00000002
#define XINPUT_GAMEPAD_DPAD_LEFT        0x00000004
#define XINPUT_GAMEPAD_DPAD_RIGHT       0x00000008
#define XINPUT_GAMEPAD_START            0x00000010
#define XINPUT_GAMEPAD_BACK             0x00000020
#define XINPUT_GAMEPAD_LEFT_THUMB       0x00000040
#define XINPUT_GAMEPAD_RIGHT_THUMB      0x00000080
#define XINPUT_GAMEPAD_LEFT_SHOULDER    0x0100
#define XINPUT_GAMEPAD_RIGHT_SHOULDER   0x0200
#define XINPUT_GAMEPAD_A                0x1000
#define XINPUT_GAMEPAD_B                0x2000
#define XINPUT_GAMEPAD_X                0x4000
#define XINPUT_GAMEPAD_Y                0x8000
設定されているが、上記で定義されていないビットは、予約されています。また、その状態は定義されていません。
bLeftTrigger
左トリガー アナログ コントロールの現在の値です。値の範囲は 0 ~ 255 です。
bRightTrigger
右トリガー アナログ コントロールの現在の値です。値の範囲は 0 ~ 255 です。
sThumbLX
左スティックの X 軸の値です。スティック軸の各メンバーは、スティックの位置を表す符号付きの -32768 ~ 32768 の値です。値が 0 の場合は、スティックがその軸の中心にあることを表します。値が負の場合は、やや下側または左側にあることを表します。値が正の場合は、やや上側または右側にあることを表します。定数 XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE または XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE を正の値および負の値として使用すると、スティック入力に対するフィルターを設定できます。
sThumbLY
左スティックの Y 軸の値です。値の範囲は -32768 ~ 32767 です。
sThumbRX
右スティックの X 軸の値です。値の範囲は -32768 ~ 32767 です。
sThumbRY
右スティックの Y 軸の値です。値の範囲は -32768 ~ 32767 です。

解説 

この構造体は、コントローラーの状態の変化をポーリングするときに XINPUT_STATE 構造体によって使用されます。

ボタンとゲーム機能との具体的なマッピングは、ゲームの種類によって異なります。

定数 XINPUT_GAMEPAD_TRIGGER_THRESHOLD をしきい値として使用することができます。この値を使用すると、bLeftTrigger および bRightTrigger がその値より大きい場合のみ、ボタンが押されたと認識されるようになります。これはオプションですが、通常は使用することが望ましい設定です。Xbox 360 コントローラーのボタン間でクロストークが生じることはありません。

要件

ヘッダー: XInput.h 宣言

関連項目

XInput 構造体 | XInputGetStateXINPUT_STATE

表示: