--- apps/action.h 2009-12-30 17:05:17.000000000 +0100 +++ apps/action.h 2009-12-30 20:08:44.000000000 +0100 @@ -220,6 +220,8 @@ /* yesno screen */ ACTION_YESNO_ACCEPT, + ACTION_YESNO_DECLINE, // new action for decline - currently not used + ACTION_YESNO_IGNORE, // new action to ignore some unwanted keys /* keyboard screen */ ACTION_KBD_LEFT, --- apps/gui/yesno.c 2009-12-30 17:04:02.000000000 +0100 +++ apps/gui/yesno.c 2009-12-30 20:04:22.000000000 +0100 @@ -163,7 +163,15 @@ case ACTION_YESNO_ACCEPT: result=YESNO_YES; break; + + case ACTION_YESNO_IGNORE: // patch: ignore some keys + // a slide on the apple clickwheel can cause unwanted actions + // so simply ignore slides ... + result=-1; + break; + case ACTION_NONE: + continue; case SYS_CHARGER_DISCONNECTED: /* ignore some SYS events that can happen */ continue; @@ -188,5 +196,9 @@ FOR_NB_SCREENS(i) /* stop scrolling before getting out */ screens[i].scroll_stop(yn[i].vp); + // splashf(0,"%8x",last_button); // sven debug + // sleep(1000); + // button_clear_queue(); /* Empty the keyboard buffer by sven ....*/ + return(result); } --- apps/keymaps/keymap-ipod.c 2009-12-30 17:05:16.000000000 +0100 +++ apps/keymaps/keymap-ipod.c 2009-12-30 20:11:43.000000000 +0100 @@ -113,8 +113,13 @@ LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) }; /* button_context_settings */ -static const struct button_mapping button_context_yesno[] = { - { ACTION_YESNO_ACCEPT, BUTTON_SELECT, BUTTON_NONE }, +static const struct button_mapping button_context_yesno[] = { // ignore clickwheel slides .... + { ACTION_YESNO_ACCEPT, BUTTON_SELECT, BUTTON_NONE }, + { ACTION_YESNO_IGNORE, BUTTON_SCROLL_FWD, BUTTON_NONE }, + { ACTION_YESNO_IGNORE, BUTTON_SCROLL_BACK, BUTTON_NONE }, + { ACTION_YESNO_IGNORE, (BUTTON_SCROLL_FWD | BUTTON_REPEAT), BUTTON_NONE }, + { ACTION_YESNO_IGNORE, (BUTTON_SCROLL_BACK | BUTTON_REPEAT), BUTTON_NONE }, + LAST_ITEM_IN_LIST }; /* button_context_yesno */