Share via


estrutura XINPUT_KEYSTROKE (xinput.h)

Especifica os dados de pressionamento de tecla retornados por XInputGetKeystroke.

Sintaxe

typedef struct _XINPUT_KEYSTROKE {
  WORD  VirtualKey;
  WCHAR Unicode;
  WORD  Flags;
  BYTE  UserIndex;
  BYTE  HidCode;
} XINPUT_KEYSTROKE, *PXINPUT_KEYSTROKE;

Membros

VirtualKey

Código de chave virtual da tecla, botão ou movimento do joystick. Consulte XInput.h para obter uma lista de códigos válidos de chave virtual (VK_xxx). Além disso, consulte Comentários.

Unicode

Esse membro não é utilizado e o valor é zero.

Flags

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 chave foi liberada. 
XINPUT_KEYSTROKE_REPEAT Uma repetição de uma chave mantida. 

UserIndex

Índice do jogador conectado associado ao dispositivo. Pode ser um valor no intervalo de 0 a 3.

HidCode

Código HID correspondente à entrada. Se não houver nenhum código HID correspondente, esse valor será zero.

Comentários

Dispositivos futuros podem retornar códigos HID e valores de chave virtual que não têm suporte em dispositivos atuais e atualmente são indefinidos. 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, não o caractere ou caracteres (possivelmente nenhum) para o qual a tecla pode ser mapeada com base no 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 um "4" ou um "$", dependendo do estado da chave SHIFT.

Um evento de teclado relatado inclui a tecla virtual que causou o evento, se a tecla foi pressionada ou liberada (ou está se repetindo) e o estado do teclado no momento do evento. O estado do teclado inclui informações sobre se as teclas CTRL, ALT ou SHIFT estão inativas.

Se o evento de teclado representar um caractere Unicode (por exemplo, pressionando a tecla "A"), o membro Unicode conterá esse caractere. Caso contrário, Unicode conterá o valor zero.

Os códigos válidos de chave virtual (VK_xxx) são definidos em XInput.h. Além dos códigos que indicam pressionamentos de tecla, os códigos a seguir indicam a entrada do controlador.

Valor Descrição
VK_PAD_A Um botão
VK_PAD_B Botão B
VK_PAD_X Botão X
VK_PAD_Y Botão Y
VK_PAD_RSHOULDER Botão direito do ombro
VK_PAD_LSHOULDER Botão do ombro esquerdo
VK_PAD_LTRIGGER Gatilho esquerdo
VK_PAD_RTRIGGER Gatilho direito
VK_PAD_DPAD_UP Direcional para cima
VK_PAD_DPAD_DOWN Direcional para baixo
VK_PAD_DPAD_LEFT Teclado direcional para a esquerda
VK_PAD_DPAD_RIGHT Direcional para a direita
VK_PAD_START Botão INICIAR
VK_PAD_BACK Botão VOLTAR
VK_PAD_LTHUMB_PRESS Clique no botão esquerdo
VK_PAD_RTHUMB_PRESS Clique no botão direito do mouse
VK_PAD_LTHUMB_UP Botão esquerdo para cima
VK_PAD_LTHUMB_DOWN Botão esquerdo para baixo
VK_PAD_LTHUMB_RIGHT Polegar esquerdo para a direita
VK_PAD_LTHUMB_LEFT Botão esquerdo esquerdo
VK_PAD_LTHUMB_UPLEFT Botão esquerdo para cima e para a esquerda
VK_PAD_LTHUMB_UPRIGHT Botão esquerdo para cima e para a direita
VK_PAD_LTHUMB_DOWNRIGHT Botão esquerdo para baixo e para a direita
VK_PAD_LTHUMB_DOWNLEFT Botão esquerdo para baixo e para a esquerda
VK_PAD_RTHUMB_UP Botão direito para cima
VK_PAD_RTHUMB_DOWN Botão direito para baixo
VK_PAD_RTHUMB_RIGHT Botão direito para a direita
VK_PAD_RTHUMB_LEFT Botão direito para a esquerda
VK_PAD_RTHUMB_UPLEFT Botão direito para cima e para a esquerda
VK_PAD_RTHUMB_UPRIGHT Botão direito para cima e para a direita
VK_PAD_RTHUMB_DOWNRIGHT Botão direito para baixo e para a direita
VK_PAD_RTHUMB_DOWNLEFT Polegar direito para baixo e para a esquerda

Requisitos

Requisito Valor
Cabeçalho xinput.h

Confira também

XInputGetKeystroke