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