Since you're not getting an SDL_KEYUP
you can just have a bool
that's true
until you get a SDL_KEYUP
SDL_Event sdlEvent;
while (running)
{
bool keyDown = false;
while ( SDL_PollEvent(&sdlEvent) )
{
switch (sdlEvent.type)
{
case SDL_QUIT:
running = false;
break;
case SDL_KEYDOWN:
keyDown = true;
break;
case SDL_KEUP:
keyDown = false;
break;
default:
break;
}
}
if ( keyDown )
printf("Key down!\n");
}
Of course you'll need something to store all keys, like an array. ( Or even better; use C++
with std::map
) Then you can use the SDL_Keycode
( event.key.keysym.sym
) as key.