X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=libpicofe.git;a=blobdiff_plain;f=input.c;h=d0e4a4e691668a2ccb9806be7499a666a0717a79;hp=aa1f155842e21ad1f5c1303eecaf03331599c406;hb=HEAD;hpb=e0bf794693c1c2384ef704e687df448168cd5170 diff --git a/input.c b/input.c index aa1f155..4f91a55 100644 --- a/input.c +++ b/input.c @@ -44,7 +44,6 @@ static int in_probe_dev_id; static int menu_key_state = 0; static int menu_last_used_dev = 0; static int menu_key_prev = 0; -static int menu_key_mask = 0; static int menu_key_repeat = 0; #define DRV(id) in_drivers[id] @@ -446,9 +445,7 @@ int in_menu_wait_any(char *charcode, int timeout_ms) ret = menu_key_state; if (ret == 0) - menu_key_mask = menu_key_prev = 0; - else if (ret != menu_key_prev) - menu_key_mask = menu_key_prev; + menu_key_prev = 0; return ret; } @@ -462,6 +459,9 @@ int in_menu_wait(int interesting, char *charcode, int autorep_delay_ms) wait = autorep_delay_ms; /* wait until either key repeat or a new key has been pressed */ +#ifdef SDL_REDRAW_EVT + interesting |= PBTN_RDRAW; +#endif do { ret = in_menu_wait_any(charcode, wait); if (ret == 0 || ret != menu_key_prev) @@ -469,9 +469,6 @@ int in_menu_wait(int interesting, char *charcode, int autorep_delay_ms) else menu_key_repeat++; wait = -1; - /* mask away all old keys if an additional new key is pressed */ - /* XXX what if old and new keys share bits (PBTN_CHAR)? */ - ret &= ~menu_key_mask; } while (!(ret & interesting)); /* we don't need diagonals in menus */