--- firesdl.old/fire.c +++ firesdl/fire.c @@ -345,6 +345,7 @@ int flash; int whichmap; int key; +int mod; int ispaused; unsigned long videoflags; int done; @@ -477,6 +478,8 @@ break; case SDL_KEYDOWN: key=event.key.keysym.sym; + mod=event.key.keysym.mod; + if(key==SDLK_RETURN) {flash=60;break;} if(key==SDLK_1 || key==SDLK_2) { @@ -487,10 +490,27 @@ loadcolors(whichmap); break; } - if(key==SDLK_ESCAPE) {done=1;break;} - if(key==SDLK_SPACE && !ispaused) {addblob();break;} - if(key==SDLK_p) {ispaused=!ispaused;break;} - break; + + switch (key) + { + case SDLK_ESCAPE: + done = 1; + break; + case SDLK_SPACE: + if (!ispaused) addblob(); + break; + case SDLK_c: + if ((mod & KMOD_CTRL) != 0) done = 1; + break; + case SDLK_p: + ispaused = !ispaused; + break; + case SDLK_q: + done = 1; + break; + } + break; + case SDL_QUIT: done = 1; break;