XINPUT_CAPABILITIES

接続されているコントローラーの性能を記述します。XINPUT_CAPABILITIES は、XInputGetCapabilities 関数から返されます。

typedef struct _XINPUT_CAPABILITIES {
    BYTE Type;
    BYTE SubType;
    WORD Flags;
    XINPUT_GAMEPAD Gamepad;
    XINPUT_VIBRATION Vibration;
} XINPUT_CAPABILITIES, *PXINPUT_CAPABILITIES;

メンバ

  • Type
    コントローラーのタイプです。次の値のいずれかを指定する必要があります。

    説明
    XINPUT_DEVTYPE_GAMEPAD デバイスはゲーム コントローラーです。
  • SubType
    ゲーム コントローラーのサブタイプです。

    サブタイプ意味
    XINPUT_DEVSUBTYPE_ARCADE_STICKアーケード型ジョイ スティック
    XINPUT_DEVSUBTYPE_GAMEPADGamepad
    XINPUT_DEVSUBTYPE_WHEELハンドル

        このサブタイプ値の使用上の制限については、この後の「解説」を参照してください。サブタイプは今後も追加される可能性があります。

  • Flags
    コントローラーの機能です。

    説明
    XINPUT_CAPS_VOICE_SUPPORTEDデバイスには音声デバイスが統合されています。
  • Gamepad
    コントローラーで利用できる機能と制御の分解能を表す XINPUT_GAMEPAD 構造体です。

  • Vibration
    利用可能なバイブレーション機能と分解能を表す XINPUT_VIBRATION 構造体です。

解説 

XInputGetCapabilities は、指定されたコントローラーの特性と利用可能な機能を示す XINPUT_CAPABILITIES を返します。

XInputGetCapabilities は、デバイスがサポートする入力を示す構造体のメンバーを設定します。デジタル ボタンのように 2 つの状態しかないコントローラーの場合、これに対応するビットは、このコントローラーがデバイスによってサポートされているかどうかを表します。スティックのように量的な情報を入力するコントローラーの場合、値はこのコントローラーの分解能を表します。下位の数ビットは設定できない場合があります。これは、コントローラーの分解能がそのレベルまで用意されていないことを示しています。

SubType メンバーは、接続されているコントローラーの特定のサブタイプを示します。ゲーム側では、コントローラーのサブタイプを検出して、コントローラーとの間の入出力処理をゲームのジャンルに適するように微調整できます。たとえば、自動車レース ゲームであれば、ハンドル型コントローラーが存在するかどうかを調べることで、自動車をきめ細かく運転できるようにすることがあります。ただし、タイトル側がサブタイプに基づいてデバイスを無効にしたり無視したりすることは認められません。ゲーム側で認識できないサブタイプ、またはゲーム側から微調整する対象になっていないサブタイプは、標準 Xbox 360 コントローラー (XINPUT_DEVSUBTYPE_GAMEPAD) として扱われます。

要件

ヘッダー: XInput.h 宣言

関連項目

XInput 構造体 | XInputGetCapabilitiesXINPUT_GAMEPADXINPUT_VIBRATION