From 2b08df2edf8c61f6a7c18dcefbf9e7c74517992a Mon Sep 17 00:00:00 2001 From: skeezix Date: Wed, 25 Aug 2010 09:05:31 -0400 Subject: [PATCH] Added key-repeat to minimenu, and Y to jump up a page in the conf UI; way more usable now. --- minimenu/mmconf.c | 8 +++++++- minimenu/mmui.c | 11 ++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/minimenu/mmconf.c b/minimenu/mmconf.c index 14b69a2..18535da 100644 --- a/minimenu/mmconf.c +++ b/minimenu/mmconf.c @@ -80,6 +80,8 @@ unsigned char conf_run_menu ( confitem_t *toplevel ) { if ( ! page ) { page = pages; + sel = 0; + first_visible = 0; } if ( lastpage != page ) { @@ -94,7 +96,8 @@ unsigned char conf_run_menu ( confitem_t *toplevel ) { switch ( event.type ) { - case SDL_KEYUP: + //case SDL_KEYUP: + case SDL_KEYDOWN: if ( event.key.keysym.sym == SDLK_UP ) { @@ -127,6 +130,9 @@ unsigned char conf_run_menu ( confitem_t *toplevel ) { } 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; diff --git a/minimenu/mmui.c b/minimenu/mmui.c index 5210797..370644d 100644 --- a/minimenu/mmui.c +++ b/minimenu/mmui.c @@ -144,6 +144,9 @@ unsigned char ui_setup ( void ) { } #endif + // key repeat + SDL_EnableKeyRepeat ( 500, 150 ); + // images //IMG_Init ( IMG_INIT_JPG | IMG_INIT_PNG ); @@ -1201,7 +1204,8 @@ void ui_process_input ( unsigned char block_p ) { #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 ); @@ -2135,7 +2139,8 @@ int ui_modal_single_menu ( char *argv[], unsigned int argc, char *title, char *f switch ( event.type ) { - case SDL_KEYUP: + //case SDL_KEYUP: + case SDL_KEYDOWN: if ( event.key.keysym.sym == SDLK_UP ) { if ( sel ) { @@ -2788,7 +2793,7 @@ void ui_aboutscreen ( char *textpath ) { 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; } -- 2.39.2