if ( ! page ) {
page = pages;
+ sel = 0;
+ first_visible = 0;
}
if ( lastpage != page ) {
switch ( event.type ) {
- case SDL_KEYUP:
+ //case SDL_KEYUP:
+ case SDL_KEYDOWN:
if ( event.key.keysym.sym == SDLK_UP ) {
} while ( page [ sel ].type == ct_nil );
+ } else if ( event.key.keysym.sym == SDLK_PAGEUP ) {
+ page = NULL;
+
} else if ( event.key.keysym.sym == SDLK_LEFT || event.key.keysym.sym == SDLK_RIGHT ) {
unsigned char left = 0;
}
#endif
+ // key repeat
+ SDL_EnableKeyRepeat ( 500, 150 );
+
// images
//IMG_Init ( IMG_INIT_JPG | IMG_INIT_PNG );
#endif
#if 1 // keyboard events
- case SDL_KEYUP:
+ //case SDL_KEYUP:
+ case SDL_KEYDOWN:
//pnd_log ( pndn_debug, "key up %u\n", event.key.keysym.sym );
switch ( event.type ) {
- case SDL_KEYUP:
+ //case SDL_KEYUP:
+ case SDL_KEYDOWN:
if ( event.key.keysym.sym == SDLK_UP ) {
if ( sel ) {
SDL_Event e;
- if ( SDL_PeepEvents ( &e, 1, SDL_GETEVENT, SDL_EVENTMASK(SDL_KEYUP) ) > 0 ) {
+ if ( SDL_PeepEvents ( &e, 1, SDL_GETEVENT, SDL_EVENTMASK(SDL_KEYUP|SDL_KEYDOWN) ) > 0 ) {
return;
}