Skip to main content

IGameInputReading::GetKeyState

Recupera el estado de las teclas activas en una entrada de teclado.

Sintaxis

Parámetros

stateArrayCount   _In_
Tipo: uint32_t
Devuelve el número de teclas activas en un teclado. Se obtiene llamando al método IGameInputReading::GetKeyCount. stateArray   _Out_writes_(stateArrayCount) Tipo: GameInputKeyState* Puntero a la estructura GameInputKeyState*.

Valor devuelto

Tipo: uint32_t Número de entradas válidas del búfer.

Comentarios

El método IGameInputReading::GetKeyState recupera el estado de las teclas activas en una entrada de mando de juego. El estado rudimentario del teclado está pensado únicamente para asignar la entrada del teclado a acciones del juego, como el movimiento o disparar un arma. No está pensado para la entrada de texto normal. Un juego necesita una cantidad significativa de código además de este estado para implementar algo tan simple como un cuadro de texto (por no hablar de características complejas como los IME). Deben usarse otras API cuando se desee esa funcionalidad. El estado de cada tecla no se almacena en un índice fijo dentro de la matriz. En su lugar, el número de elementos válidos de la matriz crece a medida que se presionan las teclas y se reduce a medida que se sueltan. Las teclas nuevas se agregan al final de la matriz y, cuando se suelta una tecla, todo se desplaza hacia abajo para rellenar el hueco. El primer elemento de la matriz en el que los valores scancode y vkey son ambos cero. Esto indica el final de los datos válidos en la matriz. Los teclados estándar solo pueden notificar de cuatro a seis pulsaciones de teclas a la vez, e incluso los teclados para juegos de gama alta rara vez admiten más de 12 a 16 teclas a la vez. Por lo tanto, este enfoque suele mantener pequeño el tamaño máximo de la matriz (el tamaño máximo se puede consultar mediante la interfaz IGameInputDevice). Esto es mucho más eficaz que hacer que las aplicaciones iteren por una matriz de 256 valores cada vez que comprueban el estado del teclado.

Requisitos

Encabezado: GameInput.h Temas avanzados de GameInput
Información general de GameInput
IGameInputReading

Historial de versiones

Última modificación el 28 de agosto de 2026