Skip to main content

IGameInputReading::GetKeyState

Recupera o estado das teclas ativas em uma entrada de teclado.

Sintaxe

Parâmetros

stateArrayCount   _In_
Tipo: uint32_t
Retorna o número de teclas ativas em um teclado. Esse valor é obtido chamando o método IGameInputReading::GetKeyCount. stateArray   _Out_writes_(stateArrayCount) Tipo: GameInputKeyState* Ponteiro para a estrutura GameInputKeyState*.

Valor retornado

Tipo: uint32_t Número de entradas válidas do buffer.

Comentários

O método IGameInputReading::GetKeyState recupera o estado das teclas ativas em uma entrada de controle de jogo. O estado rudimentar do teclado destina-se exclusivamente a mapear a entrada do teclado para ações do jogo, como movimento ou disparo de uma arma. Ele não se destina à entrada de texto comum. Um jogo precisa de uma quantidade significativa de código além desse estado para implementar algo tão simples quanto uma caixa de texto (sem falar de recursos complexos como IMEs). Outras APIs devem ser usadas quando essa funcionalidade for desejada. O estado de cada tecla não é armazenado em um índice fixo dentro da matriz. Em vez disso, o número de elementos válidos na matriz aumenta à medida que as teclas são pressionadas e diminui à medida que as teclas são liberadas. Novas teclas são adicionadas ao final da matriz e, quando uma tecla é liberada, tudo é deslocado para baixo para preencher a lacuna. O primeiro elemento da matriz em que os valores scancode e vkey são ambos zero indica o fim dos dados válidos na matriz. Teclados padrão só conseguem relatar de quatro a seis pressionamentos de tecla por vez, e mesmo teclados para jogos de alto desempenho raramente oferecem suporte a mais de 12 a 16 teclas ao mesmo tempo. Dessa forma, essa abordagem normalmente mantém pequeno o tamanho máximo da matriz (o tamanho máximo pode ser consultado por meio da interface IGameInputDevice). Isso é muito mais eficiente do que fazer os aplicativos iterarem em uma matriz de 256 valores toda vez que verificam o estado do teclado.

Requisitos

Cabeçalho: GameInput.h Tópicos avançados do GameInput
Visão geral do GameInput
IGameInputReading

Histórico de versões

Last modified on October 6, 2026