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 宣言