При использовании SDL для ввода с клавиатуры работают только определенные клавиши (стрелки, pageup\pagedown).
Это код, который я использую:
const auto sdlScanCodes = {...SDL_SCANCODE_A, SDL_SCANCODE_F1, SDL_SCANCODE_SPACE, SDL_SCANCODE_LSHIFT ...etc}
SDL_PumpEvents();
const auto sdlKeyStatesPtr = SDL_GetKeyboardState(nullptr);
for(auto sdlScanCode: sdlScanCodes) {
const auto sdlKeyCode = SDL_SCANCODE_TO_KEYCODE(sdlScanCode);
const bool downKeyCode = sdlKeyStatesPtr[sdlKeyCode];
const bool downScanCode = sdlKeyStatesPtr[sdlScanCode];
}
Обновление: обратите внимание, что downScanCode никогда не работает, и, как было сказано, downKeyCode работает для некоторых клавиш.