SDLイベントをポーリングするループを設定することなく、SDL_GetKeyStateを適切に動作させる方法を知っている人はいますか?
int *keystates;
keystates = SDL_GetKeyState(NULL);
SDL_PumpEvents();
std::cout << "Test 1\n";
if (keystates[SDLK_F1]) {
std::cout << "Test 1 Okay\n";
key_ac = true;
emu->setPower(true);
}
このコードは 1 秒間に 100 回以上実行されますが、F1 キーを押したままにしても、成功したという出力は得られません。
SDL イベント ループがないので、イベントを使用していないためにイベントが破棄されている可能性がありますか? その場合、SDL ですべてのイベントを除外するにはどうすればよいでしょうか?