XINPUT_CAPABILITIES
接続されたコントローラーの機能を記述します。
構文
typedef struct XINPUT_CAPABILITIES {
BYTE Type;
BYTE SubType;
WORD Flags;
XINPUT_GAMEPAD Gamepad;
XINPUT_VIBRATION Vibration;
} XINPUT_CAPABILITIES
メンバー
Type
型: BYTE
コントローラーの種類。 XINPUT_DEVTYPE_GAMEPAD 型である必要があり、次の表に示す値のいずれかにすることができます。
SubType
型: BYTE
ゲーム コントローラーのサブタイプ。
指定できるサブタイプ:
サブタイプ | 意味 |
---|---|
XINPUT_DEVSUBTYPE_UNKNOWN | 不明。 コントローラーの種類は不明です。 |
XINPUT_DEVSUBTYPE_GAMEPAD | ゲームパッド コントローラー。 左右スティック、左右トリガー、方向パッド、およびすべての標準ボタン (A、B、X、Y、START、BACK、LB、RB、LSB、および RSB) が含まれます。 |
XINPUT_DEVSUBTYPE_WHEEL | レーシング ハンドル コントローラー。 左スティック X はハンドルの回転を報告し、右トリガーはアクセル ペダル、左トリガーはブレーキ ペダルです。 方向パッドと、ほとんどの標準ボタン (A、B、X、Y、START、BACK、LB、および RB) が含まれます。 LSB と RSB は省略可能です。 |
XINPUT_DEVSUBTYPE_ARCADE_STICK | アーケード スティック コントローラー。 方向パッド (上、下、左、右)、およびほとんどの標準ボタン (A、B、X、Y、START、およびBACK) として報告するデジタル スティックを備えています。 左右トリガーはデジタル ボタンとして実装され、0 または 0xFF を報告します。 LB、LSB、RB、RSB は省略可能です。 |
XINPUT_DEVSUBTYPE_FLIGHT_STICK | フライト スティック コントローラー。 左スティックとして報告するピッチ/ロール スティック、右スティックとして報告する POV ハット、左トリガーとして報告するラダー (ハンドル ツイストまたはロッカー)、および右トリガーとしてのスロットル コントロールを備えています。 プライマリ武器 (A)、セカンダリ武器 (B)、およびその他の標準ボタン (X、Y、START、および BACK) のサポートが含まれています。 LB、LSB、RB、RSB は省略可能です。 |
XINPUT_DEVSUBTYPE_DANCE_PAD | ダンス パッド コントローラー。 パッド上に方向パッド、標準のボタン (A、B、X、Y)、および BACK と START を備えています。 |
XINPUT_DEVSUBTYPE_GUITAR XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE XINPUT_DEVSUBTYPE_GUITAR_BASS | ギター コントローラー。 ストラム バーは方向パッド (上下) にマッピングされ、フレットは A (緑)、B (赤)、Y (黄)、X (青)、LB (オレンジ色) に割り当てられます。 右スティック Y は、垂直方向センサーに関連付けられています。右スティック X はワーミー バーです。 BACK、START、方向パッド (左、右) のサポートが含まれています。 左トリガー (ピックアップ セレクター)、右トリガー、RB、LSB (フレット変更機能)、および RSB は省略可能です。 Guitar Bass は Guitar と同一ですが、セットアップを簡素化するために別のサブタイプになっています。 Guitar Alt では、垂直方向センサーでより広い範囲の動きがサポートされています。 |
XINPUT_DEVSUBTYPE_DRUM_KIT | ドラム コントローラー。 ドラム パッドはボタンに割り当てられています。A は緑 (フロア タム)、B は赤 (スネア ドラム)、X は青 (ロー タム)、Y は黄 (ハイ タム)、LB はペダル (バス ドラム) です。 方向パッド、BACK、START が含まれます。 RB、LSB、RSB は省略可能です。 |
XINPUT_DEVSUBTYPE_ARCADE_PAD | アーケード パッド コントローラー。 方向パッドと、ほとんどの標準ボタン (A、B、X、Y、START、BACK、LB、および RB) が含まれます。 左右トリガーはデジタル ボタンとして実装され、0 または 0xFF を報告します。 左スティック、右スティック、LSB、RSB は省略可能です。 |
Flags
型: WORD
コントローラーの機能。
値 | 説明 |
---|---|
XINPUT_CAPS_VOICE_SUPPORTED | デバイスには、統合された音声デバイスがあります。 |
XINPUT_CAPS_FFB_SUPPORTED | デバイスは、フォースフィードバック機能をサポートしています。 現時点では、振動以外のこれらのフォースフィードバック機能は Windows の XINPUT ではサポートされていません。 |
XINPUT_CAPS_WIRELESS | デバイスはワイヤレスです。 |
XINPUT_CAPS_PMD_SUPPORTED | デバイスはプラグイン モジュールをサポートします。 現時点では、テキスト入力デバイス (TID) などのプラグイン モジュールは Windows の XINPUT ではサポートされていません。 |
XINPUT_CAPS_NO_NAVIGATION | デバイスにメニューナビゲーション ボタン (START、BACK、および方向パッド) がありません |
Gamepad
型: XINPUT_GAMEPAD
使用可能なコントローラー機能と制御解像度を記述する XINPUT_GAMEPAD 構造体。
Vibration
型: XINPUT_VIBRATION
使用可能な振動機能と解像度を記述する XINPUT_VIBRATION 構造体。
解説
XInputGetCapabilities は XINPUT_CAPABILITIES を返し、指定されたコントローラーの特性と使用可能な機能を示します。
XInputGetCapabilitiesは、構造体メンバーを設定して、デバイスがサポートする入力を示します。 デジタル ボタンなどのバイナリ状態制御の場合、対応するビットには、デバイスでコントロールがサポートされているかどうかが反映されます。 サム スティックなどの比例制御の場合、値はそのコントロールの解像度を示します。 いくつかの最下位ビットが設定されないことがあります。これは、コントロールがそのレベルの解像度を提供していないことを示します。
SubType メンバーは、存在するコントローラーの特定のサブタイプを示します。 ゲームは、コントローラーのサブタイプを検出し、ゲームのジャンルに適したサブタイプに従って、コントローラーの入力または出力の処理を調整できます。 たとえば、カー レーシングのゲームでは、ホイール コントローラーがあるかどうかを確認して、運転する車をより細かく制御できます。 ただし、タイトルはそのサブタイプに従って、デバイスを無効にしたり無視したりしてはなりません。 ゲームによって認識されないサブタイプ、またはゲームが特にチューニングされていないサブタイプは、標準的なゲームパッド (XINPUT_DEVSUBTYPE_GAMEPAD) として扱う必要があります。
古い XUSB Windows ドライバーは、特にワイヤレス デバイスに関して、不完全な機能情報を報告します。 最新の XUSB Windows ドライバーでは、有線デバイスとワイヤレス デバイスを完全にサポートし、より完全で正確な機能を提供します。
要件
ヘッダー: XInputOnGameInput.h
サポートされているプラットフォーム: Xbox One ファミリー本体、Xbox Series 本体