static unsigned long wait_for_input(unsigned long interesting)\r
{\r
unsigned long ret;\r
- static int repeats = 0, wait = 6;\r
+ static int repeats = 0, wait = 20;\r
int release = 0, i;\r
\r
if (repeats == 2) wait = 3;\r
\r
if (release || ret != inp_prev) {\r
repeats = 0;\r
- wait = 6;\r
+ wait = 20;\r
}\r
+ if (wait > 6 && (ret&(GP2X_UP|GP2X_LEFT|GP2X_DOWN|GP2X_RIGHT)))\r
+ wait = 6;\r
inp_prev = ret;\r
inp_prevjoy = 0;\r
\r
static unsigned long wait_for_input(unsigned int interesting, int is_key_config)
{
unsigned int ret;
- static int repeats = 0, wait = 6;
+ static int repeats = 0, wait = 20;
int release = 0, count, i;
if (!is_key_config)
if (release || ret != inp_prev) {
repeats = 0;
- wait = 6;
+ wait = 20;
}
inp_prev = ret;
if (!is_key_config)
ret |= (ret & 0xf0000000) >> 24; // use analog as d-pad
+ if (wait > 6 && (ret&(BTN_UP|BTN_LEFT|BTN_DOWN|BTN_RIGHT)))
+ wait = 6;
// we don't need diagonals in menus
if ((ret&BTN_UP) && (ret&BTN_LEFT)) ret &= ~BTN_LEFT;