X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=input.c;h=8d2d552275fdfb35a89bb7c5207a1cfe174c3682;hb=17def48f1f0eeedb1f97f9392c0f5c82cb838e65;hp=12654e4168578ef521ec82bd0784ad45750b631b;hpb=a4025790b5eded4501bb659c682004202880a76b;p=libpicofe.git diff --git a/input.c b/input.c index 12654e4..8d2d552 100644 --- a/input.c +++ b/input.c @@ -60,7 +60,8 @@ static int *in_alloc_binds(int drv_id, int key_count) defbinds = DRV(drv_id).defbinds; if (defbinds != NULL) { for (i = 0; ; i++) { - if (defbinds[i].bit == 0 && defbinds[i].code == 0) + if (defbinds[i].bit == 0 && defbinds[i].btype == 0 + && defbinds[i].bit == 0) break; binds[IN_BIND_OFFS(defbinds[i].code, defbinds[i].btype)] = 1 << defbinds[i].bit; @@ -427,6 +428,7 @@ finish: int in_menu_wait_any(char *charcode, int timeout_ms) { int keys_old = menu_key_state; + int ret; while (1) { @@ -442,7 +444,9 @@ int in_menu_wait_any(char *charcode, int timeout_ms) } } - return menu_key_state; + ret = menu_key_state; + menu_key_state &= ~PBTN_CHAR; + return ret; } /* wait for menu input, do autorepeat */