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

# XINPUT_KEYSTROKE

> XINPUT_KEYSTROKE

# XINPUT\_KEYSTROKE

XInputGetKeystroke 関数によって返されるキーストローク データを表します。

<a id="syntaxSection" />

## 構文

```cpp theme={null}
typedef struct XINPUT_KEYSTROKE {  
    WORD VirtualKey;  
    WCHAR Unicode;  
    WORD Flags;  
    BYTE UserIndex;  
    BYTE HidCode;  
} XINPUT_KEYSTROKE  
```

<a id="membersSection" />

### メンバー

*VirtualKey*\
型: WORD

キー、ボタン、またはスティック操作の仮想キー コード。

*Unicode*\
型: WCHAR

このメンバーは使用されず、値は 0 です。

*Flags*\
型: WORD

入力イベント発生時のキーボードの状態を示すフラグ。このメンバーは次のフラグの任意の組み合わせを取ります。

| 値                          | 説明                     |
| -------------------------- | ---------------------- |
| XINPUT\_KEYSTROKE\_KEYDOWN | キーが押されました。             |
| XINPUT\_KEYSTROKE\_KEYUP   | キーが離されました。             |
| XINPUT\_KEYSTROKE\_REPEAT  | キーが押し続けられているためのリピートです。 |

*UserIndex*\
型: BYTE

ヘッドセットに関連付けられているゲーマーのインデックス。0 ～ `XUSER_MAX_COUNT - 1` の範囲の値。

*HidCode*\
型: BYTE

入力に対応する Human Interface Device (HID) コード。対応する HID コードがない場合、この値は 0 です。

<a id="remarksSection" />

## 解説

この構造体は [XInputGetKeystroke](/reference/input/xinputongameinput/functions/xinputgetkeystroke) 関数で使用されます。

将来のデバイスでは、現在のデバイスではサポートされておらず、現時点では定義されていない HID コードや仮想キー値が返される場合があります。アプリケーションは、これらの予期しない値を無視する必要があります。

仮想キー コードは、キーボード上の特定の物理キーを表すバイト値であり、キーボードの状態に応じてマップされる文字 (存在しない場合もあります) ではありません。仮想キーが押された時点のキーボードの状態が、報告される文字を変化させます。たとえば、`VK_4` は Shift キーの状態に応じて「4」または「\$」を表すことがあります。

報告されるキーボード イベントには、イベントの原因となった仮想キー、キーが押されたか離されたか (またはリピートしているか)、およびイベント発生時のキーボードの状態が含まれます。キーボードの状態は、Ctrl、Alt、または Shift のいずれかのキーが押されているかどうかを示します。

有効な仮想キー コード (VK\_xxx) は XInput.h で定義されています。キー押下を示すコードに加えて、次のコードはコントローラー入力を示します。

| 値                          | 説明             |
| -------------------------- | -------------- |
| VK\_PAD\_A                 | **A** ボタン      |
| VK\_PAD\_B                 | **B** ボタン      |
| VK\_PAD\_X                 | **X** ボタン      |
| VK\_PAD\_Y                 | **Y** ボタン      |
| VK\_PAD\_RSHOULDER         | 右ショルダー ボタン     |
| VK\_PAD\_LSHOULDER         | 左ショルダー ボタン     |
| VK\_PAD\_LTRIGGER          | 左トリガー          |
| VK\_PAD\_RTRIGGER          | 右トリガー          |
| VK\_PAD\_DPAD\_UP          | 方向パッド上         |
| VK\_PAD\_DPAD\_DOWN        | 方向パッド下         |
| VK\_PAD\_DPAD\_LEFT        | 方向パッド左         |
| VK\_PAD\_DPAD\_RIGHT       | 方向パッド右         |
| VK\_PAD\_START             | Start ボタン      |
| VK\_PAD\_BACK              | Back ボタン       |
| VK\_PAD\_LTHUMB\_PRESS     | 左サムスティック クリック  |
| VK\_PAD\_RTHUMB\_PRESS     | 右サムスティック クリック  |
| VK\_PAD\_LTHUMB\_UP        | 左サムスティック 上     |
| VK\_PAD\_LTHUMB\_DOWN      | 左サムスティック 下     |
| VK\_PAD\_LTHUMB\_RIGHT     | 左サムスティック 右     |
| VK\_PAD\_LTHUMB\_LEFT      | 左サムスティック 左     |
| VK\_PAD\_LTHUMB\_UPLEFT    | 左サムスティック 上および左 |
| VK\_PAD\_LTHUMB\_UPRIGHT   | 左サムスティック 上および右 |
| VK\_PAD\_LTHUMB\_DOWNRIGHT | 左サムスティック 下および右 |
| VK\_PAD\_LTHUMB\_DOWNLEFT  | 左サムスティック 下および左 |
| VK\_PAD\_RTHUMB\_UP        | 右サムスティック 上     |
| VK\_PAD\_RTHUMB\_DOWN      | 右サムスティック 下     |
| VK\_PAD\_RTHUMB\_RIGHT     | 右サムスティック 右     |
| VK\_PAD\_RTHUMB\_LEFT      | 右サムスティック 左     |
| VK\_PAD\_RTHUMB\_UPLEFT    | 右サムスティック 上および左 |
| VK\_PAD\_RTHUMB\_UPRIGHT   | 右サムスティック 上および右 |
| VK\_PAD\_RTHUMB\_DOWNRIGHT | 右サムスティック 下および右 |
| VK\_PAD\_RTHUMB\_DOWNLEFT  | 右サムスティック 下および左 |

詳細については、[XInputOnGameInput ラッパー](/build/core-features/common/input/porting/input-porting-xinput#xinputWrapperSection)を参照してください。

<a id="requirementsSection" />

## 要件

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

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

<a id="seealsoSection" />

## 関連項目

[XInput から GameInput への移植](/build/core-features/common/input/porting/input-porting-xinput)\
[XInputOnGameInput](/reference/input/xinputongameinput/xinputongameinput_members)


## Related topics

- [XInputGetKeystroke](/ja-jp/reference/input/xinputongameinput/functions/xinputgetkeystroke.md)
- [XInputOnGameInput](/ja-jp/reference/input/xinputongameinput/xinputongameinput_members.md)
- [XInput から GameInput への移植](/ja-jp/build/core-features/common/input/porting/input-porting-xinput.md)
- [XINPUT_GAMEPAD](/ja-jp/reference/input/xinputongameinput/structs/xinput_gamepad.md)
- [XINPUT_CAPABILITIES](/ja-jp/reference/input/xinputongameinput/structs/xinput_capabilities.md)
