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

Descreve os dados de pressionamento de tecla retornados pela função XInputGetKeystroke.

<a id="syntaxSection" />

## Sintaxe

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

<a id="membersSection" />

### Membros

*VirtualKey*\
Tipo: WORD

Código de tecla virtual da tecla, do botão ou do movimento do direcional.

*Unicode*\
Tipo: WCHAR

Esse membro não é usado, e seu valor é zero.

*Flags*\
Tipo: WORD

Sinalizadores que indicam o estado do teclado no momento do evento de entrada. Esse membro pode ser qualquer combinação dos seguintes sinalizadores:

| Valor | Descrição |
| - | - |
| XINPUT\_KEYSTROKE\_KEYDOWN | A tecla foi pressionada. |
| XINPUT\_KEYSTROKE\_KEYUP | A tecla foi solta. |
| XINPUT\_KEYSTROKE\_REPEAT | Uma repetição de uma tecla mantida pressionada. |

*UserIndex*\
Tipo: BYTE

Índice do jogador associado ao headset; um valor no intervalo de 0 a `XUSER_MAX_COUNT - 1`.

*HidCode*\
Tipo: BYTE

Código HID (Human Interface Device) que corresponde à entrada. Se não houver código HID correspondente, esse valor será zero.

<a id="remarksSection" />

## Comentários

Essa estrutura é usada pela função [XInputGetKeystroke](/pt-BR/reference/input/xinputongameinput/functions/xinputgetkeystroke).

Dispositivos futuros podem retornar códigos HID e valores de teclas virtuais que não têm suporte nos dispositivos atuais e não estão definidos no momento. Os aplicativos devem ignorar esses valores inesperados.

Um código de tecla virtual é um valor de byte que representa uma tecla física específica no teclado, e não o caractere ou os caracteres (possivelmente nenhum) aos quais a tecla pode ser mapeada de acordo com o estado do teclado. O estado do teclado no momento em que uma tecla virtual é pressionada modifica o caractere relatado. Por exemplo, `VK_4` pode representar "4" ou "\$", dependendo do estado da tecla Shift.

Um evento de teclado relatado inclui a tecla virtual que causou o evento, se a tecla foi pressionada ou solta (ou está se repetindo) e o estado do teclado no momento do evento. O estado do teclado indica se alguma tecla Ctrl, Alt ou Shift está pressionada.

Os códigos de tecla virtual válidos (VK\_xxx) são definidos em XInput.h. Além dos códigos que indicam pressionamentos de tecla, os seguintes códigos indicam entrada do controle:

| Valor | Descrição |
| - | - |
| VK\_PAD\_A | Botão **A** |
| VK\_PAD\_B | Botão **B** |
| VK\_PAD\_X | Botão **X** |
| VK\_PAD\_Y | Botão **Y** |
| VK\_PAD\_RSHOULDER | Botão de ombro direito |
| VK\_PAD\_LSHOULDER | Botão de ombro esquerdo |
| VK\_PAD\_LTRIGGER | Gatilho esquerdo |
| VK\_PAD\_RTRIGGER | Gatilho direito |
| VK\_PAD\_DPAD\_UP | Direcional digital para cima |
| VK\_PAD\_DPAD\_DOWN | Direcional digital para baixo |
| VK\_PAD\_DPAD\_LEFT | Direcional digital para a esquerda |
| VK\_PAD\_DPAD\_RIGHT | Direcional digital para a direita |
| VK\_PAD\_START | Botão Start |
| VK\_PAD\_BACK | Botão Back |
| VK\_PAD\_LTHUMB\_PRESS | Clique do direcional analógico esquerdo |
| VK\_PAD\_RTHUMB\_PRESS | Clique do direcional analógico direito |
| VK\_PAD\_LTHUMB\_UP | Direcional analógico esquerdo para cima |
| VK\_PAD\_LTHUMB\_DOWN | Direcional analógico esquerdo para baixo |
| VK\_PAD\_LTHUMB\_RIGHT | Direcional analógico esquerdo para a direita |
| VK\_PAD\_LTHUMB\_LEFT | Direcional analógico esquerdo para a esquerda |
| VK\_PAD\_LTHUMB\_UPLEFT | Direcional analógico esquerdo para cima e para a esquerda |
| VK\_PAD\_LTHUMB\_UPRIGHT | Direcional analógico esquerdo para cima e para a direita |
| VK\_PAD\_LTHUMB\_DOWNRIGHT | Direcional analógico esquerdo para baixo e para a direita |
| VK\_PAD\_LTHUMB\_DOWNLEFT | Direcional analógico esquerdo para baixo e para a esquerda |
| VK\_PAD\_RTHUMB\_UP | Direcional analógico direito para cima |
| VK\_PAD\_RTHUMB\_DOWN | Direcional analógico direito para baixo |
| VK\_PAD\_RTHUMB\_RIGHT | Direcional analógico direito para a direita |
| VK\_PAD\_RTHUMB\_LEFT | Direcional analógico direito para a esquerda |
| VK\_PAD\_RTHUMB\_UPLEFT | Direcional analógico direito para cima e para a esquerda |
| VK\_PAD\_RTHUMB\_UPRIGHT | Direcional analógico direito para cima e para a direita |
| VK\_PAD\_RTHUMB\_DOWNRIGHT | Direcional analógico direito para baixo e para a direita |
| VK\_PAD\_RTHUMB\_DOWNLEFT | Direcional analógico direito para baixo e para a esquerda |

Para obter mais informações, consulte [O wrapper XInputOnGameInput](/pt-BR/build/core-features/common/input/porting/input-porting-xinput#xinputWrapperSection).

<a id="requirementsSection" />

## Requisitos

**Cabeçalho:** XInputOnGameInput.h

**Plataformas com suporte:** consoles da família XBOX One e consoles XBOX Series

<a id="seealsoSection" />

## Confira também

[Portabilidade do XInput para o GameInput](/pt-BR/build/core-features/common/input/porting/input-porting-xinput)\
[XInputOnGameInput](/pt-BR/reference/input/xinputongameinput/xinputongameinput_members)


## Related topics

- [XINPUT_KEYSTROKE](/reference/input/xinputongameinput/structs/xinput_keystroke.md)
- [XInputGetKeystroke](/reference/input/xinputongameinput/functions/xinputgetkeystroke.md)
