> ## 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

입력에 해당하는 HID(Human Interface Device) 코드입니다. 해당 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](/ko/reference/input/xinputongameinput/functions/xinputgetkeystroke.md)
- [XInputOnGameInput](/ko/reference/input/xinputongameinput/xinputongameinput_members.md)
- [XInput에서 GameInput으로 포팅](/ko/build/core-features/common/input/porting/input-porting-xinput.md)
- [XINPUT_GAMEPAD](/ko/reference/input/xinputongameinput/structs/xinput_gamepad.md)
- [XINPUT_CAPABILITIES](/ko/reference/input/xinputongameinput/structs/xinput_capabilities.md)
