> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XINPUT_CAPABILITIES

> XINPUT_CAPABILITIES

# XINPUT\_CAPABILITIES

接続されたコントローラーの機能を表します。

## 構文

```cpp theme={null}
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 | アーケード スティック コントローラー。DPAD (上、下、左、右) として報告されるデジタル スティックと、ほとんどの標準ボタン (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 | ギター コントローラー。ストラム バーは DPAD (上下) にマップされ、フレットは A (緑)、B (赤)、Y (黄)、X (青)、LB (オレンジ) に割り当てられます。右スティック Y は垂直方向センサーに関連付けられ、右スティック X はワミー バーです。BACK、START、および DPAD (左、右) のサポートが含まれます。左トリガー (ピックアップ セレクター)、右トリガー、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 | デバイスはプラグイン モジュールをサポートしています。現時点では、Windows 上の XINPUT では、プラグイン モジュール (テキスト入力デバイス (TID) など) はサポートされていません。 |
| XINPUT\_CAPS\_NO\_NAVIGATION | デバイスには、メニュー ナビゲーション ボタン (START、BACK、DPAD) がありません。 |

*Gamepad*\
型: [XINPUT\_GAMEPAD](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/structs/xinput_gamepad.md)

利用可能なコントローラー機能とコントロールの分解能を表す [XINPUT\_GAMEPAD](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/structs/xinput_gamepad.md) 構造体。

*Vibration*\
型: [XINPUT\_VIBRATION](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/structs/xinput_vibration.md)

利用可能なバイブレーション機能と分解能を表す [XINPUT\_VIBRATION](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/structs/xinput_vibration.md) 構造体。

## 解説

[XInputGetCapabilities](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/functions/xinputgetcapabilities.md) は、指定したコントローラーの特性と利用可能な機能を示す XINPUT\_CAPABILITIES を返します。

[XInputGetCapabilities](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/functions/xinputgetcapabilities.md) は、デバイスがサポートする入力を示すよう構造体メンバーを設定します。デジタル ボタンなどのバイナリ状態のコントロールでは、該当するビットにデバイスがそのコントロールをサポートしているかどうかが反映されます。サムスティックのような比例コントロールでは、値がそのコントロールの分解能を示します。下位のビットのいくつかが設定されない場合があり、その場合はコントロールがそのレベルの分解能を提供しないことを示します。

SubType メンバーは、存在するコントローラーの具体的なサブタイプを示します。ゲームはコントローラーのサブタイプを検出し、そのゲームのジャンルによく合うサブタイプに従ってコントローラー入力または出力の処理を調整することがあります。たとえば、カー レーシング ゲームでは、運転する車をより細かく制御するためにホイール コントローラーの有無を確認することがあります。ただし、タイトルはサブタイプに応じてデバイスを無効化したり無視したりしてはいけません。ゲームが認識しないサブタイプ、またはゲームが特にチューニングされていないサブタイプは、標準ゲームパッド XINPUT\_DEVSUBTYPE\_GAMEPAD として扱う必要があります。

古い XUSB Windows ドライバーは、特にワイヤレス デバイスについて不完全な機能情報を報告します。最新の XUSB Windows ドライバーは有線およびワイヤレス デバイスを完全にサポートし、より完全で正確な機能フラグを提供します。

## 要件

**ヘッダー:** XInputOnGameInput.h

**対応プラットフォーム:** XBOX One ファミリー本体および XBOX Series 本体

## 関連項目

[XInput を GameInput に移植する](https://docs.xbox.com/ja-jp/build/core-features/common/input/porting/input-porting-xinput.md)\
[XInputOnGameInput](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/xinputongameinput_members.md)


## Related topics

- [XInputGetCapabilities](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/functions/xinputgetcapabilities.md)
- [XInputOnGameInput (API の内容)](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/xinputongameinput_members.md)
- [XINPUT_GAMEPAD](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/structs/xinput_gamepad.md)
- [XINPUT_KEYSTROKE](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/structs/xinput_keystroke.md)
- [XINPUT_STATE](https://docs.xbox.com/ja-jp/reference/input/xinputongameinput/structs/xinput_state.md)
