Below is the keyboard and window events code I use. I had read on other forums that SDL_QUIT is suppose to trap ctrl+c. That may have been the case in SDL 1.2 or earlier but it is not working for SDL2 on Win7. How can I trap CTRL+C? on Win7
UPDATE: The code below is working and tested as suggested below
// main loop
int done;
while (!done)
{
// process events
SDL_Event event;
while (SDL_PollEvent(&event))
{
switch (event.type) {
case SDL_QUIT: // signal when window "X" icon pressed
done = 1;
break;
case SDL_KEYDOWN:
if( event.key.keysym.sym == SDLK_c && // ctrl c pressed
(event.key.keysym.mod & KMOD_CTRL) != 0 ) {
done = 1;
break;
}
switch (event.key.keysym.scancode) {
case SDL_SCANCODE_SPACE: // space bar pressed
printf(" space bar down\n");
break;
/* // other key down traps go here
case SDL_SCANCODE_xxx:
printf(" xxxx key down\n");
break; */
}
break;
case SDL_KEYUP:
switch (event.key.keysym.scancode)
{
case SDL_SCANCODE_ESCAPE : // escape key pressed
printf(" escape key down\n");
done = 1;
break;
case SDL_SCANCODE_SPACE:
printf(" space bar up\n"); // space bar released
break;
/* // other key up traps go here
case SDL_SCANCODE_xxx:
printf(" xxxx key up\n");
break; */
}
break;
}
}
}