Compartilhar via


Estrutura KEY_EVENT_RECORD

Descreve um evento de entrada de teclado em uma estrutura INPUT_RECORD do console.

Sintaxe

typedef struct _KEY_EVENT_RECORD {
  BOOL  bKeyDown;
  WORD  wRepeatCount;
  WORD  wVirtualKeyCode;
  WORD  wVirtualScanCode;
  union {
    WCHAR UnicodeChar;
    CHAR  AsciiChar;
  } uChar;
  DWORD dwControlKeyState;
} KEY_EVENT_RECORD;

Membros

bKeyDown
Se a tecla for pressionada, esse membro será TRUE. Caso contrário, esse membro será FALSE (a tecla foi liberada).

wRepeatCount
A contagem de repetição, que indica que uma tecla está sendo pressionada Por exemplo, quando uma tecla é mantida pressionada, você pode obter cinco eventos com esse membro igual a 1, um evento com esse membro igual a 5 ou vários eventos com esse membro maior ou igual a 1.

wVirtualKeyCode
Um código de tecla virtual que identifica a tecla fornecida de maneira independente do dispositivo.

wVirtualScanCode
O código de verificação virtual da tecla fornecida que representa o valor dependente do dispositivo gerado pelo hardware do teclado.

uChar
Uma união dos seguintes membros.

UnicodeChar
Caractere Unicode traduzido.

AsciiChar
Caractere ASCII traduzido.

dwControlKeyState
O estado das teclas de controle. Esse membro pode ser um ou mais dos valores a seguir:

Valor Significado
CAPSLOCK_ON 0x0080 A luz do CAPS LOCK está acesa.
ENHANCED_KEY 0x0100 A tecla é aprimorada. Consulte os comentários.
LEFT_ALT_PRESSED 0x0002 A tecla ALT esquerda está pressionada.
LEFT_CTRL_PRESSED 0x0008 A tecla CTRL esquerda está pressionada.
NUMLOCK_ON 0x0020 A luz do NUM LOCK está acesa.
RIGHT_ALT_PRESSED 0x0001 A tecla ALT direita está pressionada.
RIGHT_CTRL_PRESSED 0x0004 A tecla CTRL direita está pressionada.
SCROLLLOCK_ON 0x0040 A luz do SCROLL LOCK está acesa.
SHIFT_PRESSED 0x0010 A tecla SHIFT está pressionada.

Comentários

As teclas aprimoradas para os teclados IBM® de 101 e 102 teclas são as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e direction nos clusters à esquerda do teclado; e as teclas divide (/) e ENTER no teclado.

Os eventos de entrada do teclado são gerados quando uma tecla é pressionada ou liberada, incluindo teclas de controle. No entanto, a tecla ALT pressionada e liberada sem nenhuma combinação com outro caractere tem um significado especial para o sistema e não é passada para o aplicativo. Além disso, a combinação de teclas CTRL+C não é passada se o identificador de entrada está no modo processado (ENABLE_PROCESSED_INPUT).

Exemplos

Para obter um exemplo, confira Como ler eventos de buffer de entrada.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho WinConTypes.h (via WinCon.h, inclui o Windows.h)

Confira também

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput

INPUT_RECORD