Skip to main content

IGameInputReading::GetKeyState

키보드 입력에서 활성 키의 상태를 검색합니다.

구문

매개변수

stateArrayCount   _In_
형식: uint32_t
키보드에서 활성 상태인 키의 개수를 반환합니다. 이는 IGameInputReading::GetKeyCount 메서드를 호출하여 얻을 수 있습니다. stateArray   _Out_writes_(stateArrayCount) 형식: GameInputKeyState* GameInputKeyState* 구조체에 대한 포인터입니다.

반환값

형식: uint32_t 유효한 버퍼 항목의 수입니다.

설명

IGameInputReading::GetKeyState 메서드는 게임 컨트롤러 입력에서 활성 키의 상태를 검색합니다. 기본적인 키보드 상태는 이동이나 무기 발사와 같은 게임 동작에 키보드 입력을 매핑하는 데만 사용됩니다. 일반적인 텍스트 입력을 위한 것이 아닙니다. 게임에서 텍스트 상자와 같이 간단한 기능을 구현하려면 이 상태 위에 상당한 양의 코드가 필요합니다(IME와 같은 복잡한 기능은 말할 것도 없음). 해당 기능이 필요한 경우 다른 API를 사용해야 합니다. 각 키의 상태는 배열 내의 고정 인덱스에 저장되지 않습니다. 오히려 배열의 유효한 요소 수는 키가 눌리면 늘어나고 키가 해제되면 줄어듭니다. 새 키는 배열의 끝에 추가되며, 키가 해제되면 모든 것이 아래로 이동하여 간격을 채웁니다. 배열의 첫 번째 요소로 scancodevkey 값이 모두 0인 지점이 있습니다. 이는 배열 내 유효한 데이터의 끝을 나타냅니다. 표준 키보드는 한 번에 46개의 키 입력만 보고할 수 있으며, 고급 게이밍 키보드도 한 번에 1216개 이상의 키를 지원하는 경우는 드뭅니다. 따라서 이러한 방식은 일반적으로 배열의 최대 크기를 작게 유지합니다(최대 크기는 IGameInputDevice 인터페이스를 통해 쿼리할 수 있음). 이는 애플리케이션이 키보드 상태를 확인할 때마다 256개 값의 배열을 반복하는 것보다 훨씬 효율적입니다.

요구 사항

헤더: GameInput.h GameInput 고급 항목
GameInput 개요
IGameInputReading

버전 기록

마지막 수정일 2026년 8월 13일