int Handler(const SDL_Event *event) { if(event->type == SDL_KEYDOWN) { if(klen == KBLEN) /* Buffer is full, drop some pieces */ memcpy(kbuffer, kbuffer + 1, --klen); kbuffer[klen++] = event->key.keysym.sym; /* ALT + Enter handling (fullscreen/windowed operation) */ if((event->key.keysym.sym == SDLK_RETURN || event->key.keysym.sym == SDLK_KP_ENTER) && ((event->key.keysym.mod & KMOD_ALT) != 0)) switchmode(); } if(event->type == SDL_QUIT) exit(0); return(1); }
static int Handler(void *uptr, SDL_Event *event) { if(event->type == SDL_KEYDOWN) { if (klen == KBLEN) { /* Buffer is full, drop some pieces */ klen--; memcpy(kbuffer, kbuffer + 1, klen * sizeof(struct kbent)); } kbuffer[klen].scancode = event->key.keysym.scancode; kbuffer[klen].sym = event->key.keysym.sym; klen++; /* ALT + Enter handling (fullscreen/windowed operation) */ if ((event->key.keysym.scancode == SDL_SCANCODE_RETURN || event->key.keysym.scancode == SDL_SCANCODE_KP_ENTER) && ((event->key.keysym.mod & KMOD_ALT) != 0)) switchmode(); } if(event->type == SDL_QUIT) exit(0); return(1); }