From faa2cb99429214de745bbc3e64e48a7432db51ae Mon Sep 17 00:00:00 2001 From: Christian Soffke Date: Sun, 18 Dec 2022 21:13:15 +0100 Subject: plugins: Improve usability of iPod keymaps - Reduce need to press multiple buttons at the same time to quit a plugin - Have "Menu" be default way to quit plugins or to access plugin menu - Fall back to (Long) "Select" or Long "Menu" in cases where Menu button isn't available (e.g. in ImageViewer and many games) out of scope: boomshine, lua_scripts, Rockpaint, Doom, Duke3D, Pacbox, Quake, Sgt-Puzzles, Wolf3D, XWorld, Minesweeper, Pixel Painter, Spacerocks Change-Id: I6d4dc7174695fe4b8ee9cbaccb21bdbfe6af5c48 --- apps/plugins/2048.c | 9 ++++++- apps/plugins/alarmclock.c | 6 +++++ apps/plugins/bounce.c | 23 ++++++++++++++--- apps/plugins/bubbles.c | 10 +++++++- apps/plugins/calendar.c | 11 ++++---- apps/plugins/chessbox/chessbox_pgn.h | 2 +- apps/plugins/clix.c | 8 +++--- apps/plugins/clock/clock.c | 10 +++++++- apps/plugins/codebuster.c | 7 ++++++ apps/plugins/cube.c | 12 +++++++-- apps/plugins/demystify.c | 20 +++++++++++++-- apps/plugins/dice.c | 7 ++++++ apps/plugins/fft/fft.c | 36 +++++++++++++++++++++------ apps/plugins/fire.c | 9 ++++++- apps/plugins/fireworks.c | 9 ++++++- apps/plugins/flipit.c | 4 +-- apps/plugins/fractals/fractal.h | 2 +- apps/plugins/imageviewer/imageviewer.c | 30 ++++++++++++++++------ apps/plugins/imageviewer/imageviewer_button.h | 6 +++-- apps/plugins/jackpot.c | 9 ++++++- apps/plugins/jewels.c | 4 +-- apps/plugins/lamp.c | 7 ++++++ apps/plugins/logo.c | 14 ++++++++++- apps/plugins/matrix.c | 9 ++++++- apps/plugins/maze.c | 15 ++++++++--- apps/plugins/mazezam.c | 4 ++- apps/plugins/metronome.c | 6 +++++ apps/plugins/mosaique.c | 11 ++++++-- apps/plugins/open_plugins.c | 1 + apps/plugins/oscilloscope.c | 10 +++++--- apps/plugins/pegbox.c | 4 +-- apps/plugins/periodic_table.c | 1 - apps/plugins/pictureflow/pictureflow.c | 3 ++- apps/plugins/pitch_detector.c | 5 ++++ apps/plugins/plasma.c | 9 +++++++ apps/plugins/robotfindskitten.c | 6 +++++ apps/plugins/rockblox.c | 3 ++- apps/plugins/rockblox1d.c | 7 ++++++ apps/plugins/rocklife.c | 6 +++++ apps/plugins/sliding_puzzle.c | 4 +-- apps/plugins/snake.c | 4 +-- apps/plugins/snake2.c | 4 +-- apps/plugins/snow.c | 8 +++++- apps/plugins/sokoban.c | 2 +- apps/plugins/solitaire.c | 2 +- apps/plugins/star.c | 4 +-- apps/plugins/starfield.c | 10 ++++++++ apps/plugins/stats.c | 10 +++++++- apps/plugins/wormlet.c | 2 +- apps/plugins/xobox.c | 4 +-- manual/plugins/2048.tex | 3 ++- manual/plugins/alarmclock.tex | 6 +++-- manual/plugins/bounce.tex | 6 +++-- manual/plugins/bubbles.tex | 6 +++-- manual/plugins/calendar.tex | 6 ++--- manual/plugins/chessbox.tex | 2 +- manual/plugins/clix.tex | 3 ++- manual/plugins/clock.tex | 6 +++-- manual/plugins/codebuster.tex | 3 ++- manual/plugins/cube.tex | 4 +-- manual/plugins/demystify.tex | 6 +++-- manual/plugins/dice.tex | 3 ++- manual/plugins/fire.tex | 3 ++- manual/plugins/flipit.tex | 2 +- manual/plugins/fractals.tex | 2 +- manual/plugins/imageviewer.tex | 4 +-- manual/plugins/jackpot.tex | 3 ++- manual/plugins/jewels.tex | 4 +-- manual/plugins/lamp.tex | 3 ++- manual/plugins/logo.tex | 6 +++-- manual/plugins/maze.tex | 16 ++++++------ manual/plugins/mazezam.tex | 8 +++--- manual/plugins/metronome.tex | 3 ++- manual/plugins/mosaic.tex | 7 +++--- manual/plugins/oscilloscope.tex | 4 +-- manual/plugins/pegbox.tex | 2 +- manual/plugins/periodic_table.tex | 3 ++- manual/plugins/pictureflow.tex | 6 +++-- manual/plugins/plasma.tex | 5 ++-- manual/plugins/robotfindskitten.tex | 3 ++- manual/plugins/rockblox.tex | 2 +- manual/plugins/rockblox1d.tex | 3 ++- manual/plugins/rocklife.tex | 3 ++- manual/plugins/sliding.tex | 2 +- manual/plugins/snake.tex | 1 + manual/plugins/snake2.tex | 2 +- manual/plugins/snow.tex | 5 +++- manual/plugins/sokoban.tex | 2 +- manual/plugins/solitaire.tex | 2 +- manual/plugins/star.tex | 2 +- manual/plugins/starfield.tex | 6 +++-- manual/plugins/stats.tex | 5 +++- manual/plugins/wormlet.tex | 4 +-- manual/plugins/xobox.tex | 2 +- 94 files changed, 439 insertions(+), 149 deletions(-) diff --git a/apps/plugins/2048.c b/apps/plugins/2048.c index 456f973aef..2f4eb4c001 100644 --- a/apps/plugins/2048.c +++ b/apps/plugins/2048.c @@ -91,9 +91,16 @@ static const int BACKGROUND_Y = (BASE_Y-MIN_SPACE); #define KEY_DOWN PLA_DOWN #define KEY_LEFT PLA_LEFT #define KEY_RIGHT PLA_RIGHT -#define KEY_EXIT PLA_CANCEL #define KEY_UNDO PLA_SELECT +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define KEY_EXIT PLA_SELECT_REPEAT +#else +#define KEY_EXIT PLA_CANCEL +#endif + /* notice how "color" is spelled :P */ #ifdef HAVE_LCD_COLOR diff --git a/apps/plugins/alarmclock.c b/apps/plugins/alarmclock.c index ecafceddc7..aa7c13d1a4 100644 --- a/apps/plugins/alarmclock.c +++ b/apps/plugins/alarmclock.c @@ -138,7 +138,13 @@ enum plugin_status plugin_start(const void* parameter) while(!quit) { button = get_button(); +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) + if (button == PLA_EXIT || button == PLA_CANCEL || button == PLA_UP) +#else if (button == PLA_EXIT || button == PLA_CANCEL) +#endif quit = true; FOR_NB_SCREENS(i) { diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c index e6f29817d6..a42a0af6ba 100644 --- a/apps/plugins/bounce.c +++ b/apps/plugins/bounce.c @@ -34,10 +34,6 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; /* We set button maping with PLA */ -#define BOUNCE_UP PLA_UP -#define BOUNCE_UP_REPEAT PLA_UP_REPEAT -#define BOUNCE_DOWN PLA_DOWN -#define BOUNCE_DOWN_REPEAT PLA_DOWN_REPEAT #ifdef HAVE_SCROLLWHEEL #define BOUNCE_LEFT PLA_SCROLL_BACK @@ -52,7 +48,22 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; #endif #define BOUNCE_QUIT PLA_EXIT + +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define BOUNCE_QUIT2 PLA_UP +#define BOUNCE_DOWN PLA_LEFT +#define BOUNCE_DOWN_REPEAT PLA_LEFT_REPEAT +#define BOUNCE_UP PLA_RIGHT +#define BOUNCE_UP_REPEAT PLA_RIGHT_REPEAT +#else #define BOUNCE_QUIT2 PLA_CANCEL +#define BOUNCE_DOWN PLA_DOWN +#define BOUNCE_DOWN_REPEAT PLA_DOWN_REPEAT +#define BOUNCE_UP PLA_UP +#define BOUNCE_UP_REPEAT PLA_UP_REPEAT +#endif #define BOUNCE_MODE PLA_SELECT #define LETTER_WIDTH 11 @@ -471,6 +482,10 @@ enum plugin_status plugin_start(const void* parameter) #if (CONFIG_KEYPAD == SAMSUNG_YH92X_PAD) || \ (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) "[Rew] to stop"; +#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) + "[Menu] to stop"; #else "[Off] to stop"; #endif diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c index 88d7228d72..a64093492f 100644 --- a/apps/plugins/bubbles.c +++ b/apps/plugins/bubbles.c @@ -79,7 +79,6 @@ enum { #define ANGLE_STEP_REP 6 #define BUBBLES_QUIT1 PLA_EXIT -#define BUBBLES_QUIT2 PLA_CANCEL /* these are better off shooting with up */ #if (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) \ @@ -92,10 +91,19 @@ enum { #define BUBBLES_FIRE PLA_UP #define BUBBLES_FIRE_REPEAT PLA_UP_REPEAT #define BUBBLES_PAUSE PLA_SELECT +#define BUBBLES_QUIT2 PLA_CANCEL +#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define BUBBLES_FIRE PLA_SELECT +#define BUBBLES_FIRE_REPEAT PLA_SELECT_REPEAT +#define BUBBLES_PAUSE PLA_DOWN +#define BUBBLES_QUIT2 PLA_UP #else #define BUBBLES_FIRE PLA_SELECT #define BUBBLES_FIRE_REPEAT PLA_SELECT_REPEAT #define BUBBLES_PAUSE PLA_UP +#define BUBBLES_QUIT2 PLA_CANCEL #endif /* external bitmaps */ diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c index a70f47c34b..765b42ef59 100644 --- a/apps/plugins/calendar.c +++ b/apps/plugins/calendar.c @@ -39,14 +39,12 @@ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define CALENDAR_QUIT (BUTTON_SELECT|BUTTON_MENU) +#define CALENDAR_QUIT (BUTTON_MENU|BUTTON_REL) #define CALENDAR_SELECT (BUTTON_SELECT|BUTTON_REL) #define CALENDAR_NEXT_WEEK BUTTON_SCROLL_FWD #define CALENDAR_PREV_WEEK BUTTON_SCROLL_BACK #define CALENDAR_NEXT_DAY BUTTON_RIGHT #define CALENDAR_PREV_DAY BUTTON_LEFT -#define CALENDAR_NEXT_MONTH BUTTON_PLAY -#define CALENDAR_PREV_MONTH (BUTTON_MENU|BUTTON_REL) #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) #define CALENDAR_QUIT BUTTON_POWER @@ -1095,17 +1093,18 @@ enum plugin_status plugin_start(const void* parameter) case CALENDAR_QUIT: exit = true; break; - +#ifdef CALENDAR_NEXT_MONTH case CALENDAR_NEXT_MONTH: case CALENDAR_NEXT_MONTH | BUTTON_REPEAT: next_month(&shown, 0); break; - +#endif +#ifdef CALENDAR_PREV_MONTH case CALENDAR_PREV_MONTH: case CALENDAR_PREV_MONTH | BUTTON_REPEAT: prev_month(&shown, 0); break; - +#endif case CALENDAR_NEXT_WEEK: case CALENDAR_NEXT_WEEK | BUTTON_REPEAT: next_day(&shown, 7); diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h index 9d4f369ecc..7d0cb795cf 100644 --- a/apps/plugins/chessbox/chessbox_pgn.h +++ b/apps/plugins/chessbox/chessbox_pgn.h @@ -33,7 +33,7 @@ #define CB_PLAY (BUTTON_SELECT | BUTTON_PLAY) #define CB_LEVEL (BUTTON_SELECT | BUTTON_RIGHT) #define CB_RESTART (BUTTON_SELECT | BUTTON_LEFT) -#define CB_MENU (BUTTON_SELECT | BUTTON_MENU) +#define CB_MENU (BUTTON_SELECT | BUTTON_REPEAT) #define CB_SCROLL_UP (BUTTON_SCROLL_FWD|BUTTON_REPEAT) #define CB_SCROLL_DOWN (BUTTON_SCROLL_BACK|BUTTON_REPEAT) #define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c index 9cd66a8034..06813f3a4d 100644 --- a/apps/plugins/clix.c +++ b/apps/plugins/clix.c @@ -66,9 +66,7 @@ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define CLIX_BUTTON_QUIT (BUTTON_SELECT | BUTTON_MENU) -#define CLIX_BUTTON_UP BUTTON_MENU -#define CLIX_BUTTON_DOWN BUTTON_PLAY +#define CLIX_BUTTON_QUIT BUTTON_MENU #define CLIX_BUTTON_SCROLL_FWD BUTTON_SCROLL_FWD #define CLIX_BUTTON_SCROLL_BACK BUTTON_SCROLL_BACK #define CLIX_BUTTON_CLICK BUTTON_SELECT @@ -921,8 +919,10 @@ static int clix_handle_game(struct clix_game_state_t* state) case CLIX_BUTTON_SCROLL_BACK: case CLIX_BUTTON_SCROLL_BACK|BUTTON_REPEAT: #endif +#ifdef CLIX_BUTTON_UP case CLIX_BUTTON_UP: case CLIX_BUTTON_UP|BUTTON_REPEAT: +#endif if( state->y == 0 || state->board[ XYPOS( state->x, state->y - 1)] == CC_BLACK @@ -938,8 +938,10 @@ static int clix_handle_game(struct clix_game_state_t* state) case CLIX_BUTTON_SCROLL_FWD: case CLIX_BUTTON_SCROLL_FWD|BUTTON_REPEAT: #endif +#ifdef CLIX_BUTTON_DOWN case CLIX_BUTTON_DOWN: case CLIX_BUTTON_DOWN|BUTTON_REPEAT: +#endif if( state->y == (BOARD_HEIGHT - 1)) state->y = 0; else diff --git a/apps/plugins/clock/clock.c b/apps/plugins/clock/clock.c index d287c75598..c61b466aba 100644 --- a/apps/plugins/clock/clock.c +++ b/apps/plugins/clock/clock.c @@ -44,13 +44,19 @@ const struct button_mapping* plugin_contexts[]={ #define ACTION_COUNTER_TOGGLE PLA_SELECT #define ACTION_COUNTER_RESET PLA_SELECT_REPEAT -#define ACTION_MENU PLA_CANCEL #define ACTION_MODE_NEXT PLA_RIGHT #define ACTION_MODE_NEXT_REPEAT PLA_RIGHT_REPEAT #define ACTION_MODE_PREV PLA_LEFT #define ACTION_MODE_PREV_REPEAT PLA_LEFT_REPEAT +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define ACTION_MENU PLA_UP +#else +#define ACTION_MENU PLA_CANCEL #define ACTION_SKIN_NEXT PLA_UP #define ACTION_SKIN_NEXT_REPEAT PLA_UP_REPEAT +#endif #define ACTION_SKIN_PREV PLA_DOWN #define ACTION_SKIN_PREV_REPEAT PLA_DOWN_REPEAT @@ -165,10 +171,12 @@ enum plugin_status plugin_start(const void* parameter){ case ACTION_SKIN_PREV: clock_settings_skin_next(&clock_settings); break; +#if defined(ACTION_SKIN_NEXT) && defined(ACTION_SKIN_NEXT_REPEAT) case ACTION_SKIN_NEXT_REPEAT: case ACTION_SKIN_NEXT: clock_settings_skin_previous(&clock_settings); break; +#endif case ACTION_MENU: clock_draw_restore_colors(); exit_clock=main_menu(); diff --git a/apps/plugins/codebuster.c b/apps/plugins/codebuster.c index 956991575d..401ce6085f 100644 --- a/apps/plugins/codebuster.c +++ b/apps/plugins/codebuster.c @@ -438,6 +438,13 @@ enum plugin_status plugin_start(const void* parameter) { if (button == PLA_SELECT) break; +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) + if (button == PLA_UP) /* Menu button */ + button = PLA_CANCEL; +#endif + switch (button) { /* Exit */ diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c index dfd7df8951..43318f5aee 100644 --- a/apps/plugins/cube.c +++ b/apps/plugins/cube.c @@ -52,12 +52,14 @@ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define CUBE_QUIT (BUTTON_SELECT | BUTTON_MENU) +#define CUBE_QUIT_PRE BUTTON_MENU +#define CUBE_QUIT (BUTTON_MENU | BUTTON_REL) #define CUBE_NEXT BUTTON_RIGHT #define CUBE_PREV BUTTON_LEFT #define CUBE_INC BUTTON_SCROLL_FWD #define CUBE_DEC BUTTON_SCROLL_BACK -#define CUBE_MODE BUTTON_MENU +#define CUBE_MODE_PRE BUTTON_MENU +#define CUBE_MODE (BUTTON_MENU | BUTTON_REPEAT) #define CUBE_PAUSE BUTTON_PLAY #define CUBE_HIGHSPEED_PRE BUTTON_SELECT #define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_REL) @@ -729,6 +731,7 @@ enum plugin_status plugin_start(const void* parameter) int button; #if defined(CUBE_MODE_PRE) || \ + defined(CUBE_QUIT_PRE) || \ defined(CUBE_PAUSE_PRE) || \ defined(CUBE_HIGHSPEED_PRE) int lastbutton = BUTTON_NONE; @@ -903,6 +906,10 @@ enum plugin_status plugin_start(const void* parameter) case CUBE_RC_QUIT: #endif case CUBE_QUIT: +#ifdef CUBE_QUIT_PRE + if (lastbutton != CUBE_QUIT_PRE) + break; +#endif quit = true; break; @@ -911,6 +918,7 @@ enum plugin_status plugin_start(const void* parameter) break; } #if defined(CUBE_MODE_PRE) || \ + defined(CUBE_QUIT_PRE) || \ defined(CUBE_PAUSE_PRE) || \ defined(CUBE_HIGHSPEED_PRE) if (button != BUTTON_NONE) diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c index 1a1505ff96..cb8e4ddf72 100644 --- a/apps/plugins/demystify.c +++ b/apps/plugins/demystify.c @@ -37,26 +37,42 @@ #define MIN_POLYGONS 1 /* Key assignement */ -#define DEMYSTIFY_QUIT PLA_CANCEL #ifdef HAVE_SCROLLWHEEL +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define DEMYSTIFY_QUIT PLA_UP +#else +#define DEMYSTIFY_QUIT PLA_CANCEL +#endif + #define DEMYSTIFY_INCREASE_SPEED PLA_SCROLL_FWD #define DEMYSTIFY_DECREASE_SPEED PLA_SCROLL_BACK #define DEMYSTIFY_INCREASE_SPEED_REPEAT PLA_SCROLL_FWD_REPEAT #define DEMYSTIFY_DECREASE_SPEED_REPEAT PLA_SCROLL_BACK_REPEAT + +#define DEMYSTIFY_ADD_POLYGON PLA_RIGHT +#define DEMYSTIFY_REMOVE_POLYGON PLA_LEFT +#define DEMYSTIFY_ADD_POLYGON_REPEAT PLA_RIGHT_REPEAT +#define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_LEFT_REPEAT + #else + +#define DEMYSTIFY_QUIT PLA_CANCEL + #define DEMYSTIFY_INCREASE_SPEED PLA_RIGHT #define DEMYSTIFY_DECREASE_SPEED PLA_LEFT #define DEMYSTIFY_INCREASE_SPEED_REPEAT PLA_RIGHT_REPEAT #define DEMYSTIFY_DECREASE_SPEED_REPEAT PLA_LEFT_REPEAT -#endif #define DEMYSTIFY_ADD_POLYGON PLA_UP #define DEMYSTIFY_REMOVE_POLYGON PLA_DOWN #define DEMYSTIFY_ADD_POLYGON_REPEAT PLA_UP_REPEAT #define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_DOWN_REPEAT +#endif const struct button_mapping *plugin_contexts[] = {pla_main_ctx, #if defined(HAVE_REMOTE_LCD) diff --git a/apps/plugins/dice.c b/apps/plugins/dice.c index 622c58d71d..7580697267 100644 --- a/apps/plugins/dice.c +++ b/apps/plugins/dice.c @@ -28,7 +28,14 @@ #define INITIAL_NB_DICES 1 #define INITIAL_NB_SIDES 2 /* corresponds to 6 sides in the array */ + +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define DICE_QUIT PLA_UP +#else #define DICE_QUIT PLA_CANCEL +#endif #define DICE_ROLL PLA_SELECT diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c index f612a0ea35..4d36302ddf 100644 --- a/apps/plugins/fft/fft.c +++ b/apps/plugins/fft/fft.c @@ -40,13 +40,22 @@ GREY_INFO_STRUCT /* this set the context to use with PLA */ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; -#define FFT_PREV_GRAPH PLA_LEFT -#define FFT_NEXT_GRAPH PLA_RIGHT -#define FFT_ORIENTATION PLA_CANCEL -#define FFT_WINDOW PLA_SELECT -#define FFT_AMP_SCALE PLA_UP -#define FFT_FREQ_SCALE PLA_DOWN -#define FFT_QUIT PLA_EXIT +#define FFT_PREV_GRAPH PLA_LEFT +#define FFT_NEXT_GRAPH PLA_RIGHT +#define FFT_ORIENTATION PLA_CANCEL +#define FFT_WINDOW PLA_SELECT_REL +#define FFT_AMP_SCALE PLA_SELECT_REPEAT +#define FFT_AMP_SCALE_PRE PLA_SELECT +#define FFT_FREQ_SCALE PLA_DOWN + + +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define FFT_QUIT PLA_UP +#else +#define FFT_QUIT PLA_EXIT +#endif #ifdef HAVE_LCD_COLOR #include "pluginbitmaps/fft_colors.h" @@ -1257,6 +1266,10 @@ enum plugin_status plugin_start(const void* parameter) if(!fft_setup()) return PLUGIN_ERROR; +#if defined(FFT_AMP_SCALE_PRE) + int lastbutton = BUTTON_NONE; +#endif + while(run) { long delay = fft_draw(); @@ -1300,6 +1313,10 @@ enum plugin_status plugin_start(const void* parameter) break; case FFT_AMP_SCALE: +#ifdef FFT_AMP_SCALE_PRE + if (lastbutton != FFT_AMP_SCALE_PRE) + break; +#endif if (++fft.amp_scale >= FFT_MAX_AS) fft.amp_scale = FFT_MIN_AS; @@ -1328,6 +1345,11 @@ enum plugin_status plugin_start(const void* parameter) exit_on_usb(button); break; } + +#if defined(FFT_AMP_SCALE_PRE) + if (button != BUTTON_NONE) + lastbutton = button; +#endif } return PLUGIN_OK; diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c index 43d10bf920..5cdf4a2d3a 100644 --- a/apps/plugins/fire.c +++ b/apps/plugins/fire.c @@ -56,10 +56,17 @@ const struct button_mapping* plugin_contexts[]= { }; #define FIRE_QUIT PLA_CANCEL -#define FIRE_QUIT2 PLA_EXIT #define FIRE_SWITCH_FLAMES_TYPE PLA_LEFT #define FIRE_SWITCH_FLAMES_MOVING PLA_RIGHT +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define FIRE_QUIT2 PLA_UP +#else +#define FIRE_QUIT2 PLA_EXIT +#endif + #ifdef HAVE_SCROLLWHEEL #define FIRE_INCREASE_MULT PLA_SCROLL_FWD #define FIRE_INCREASE_MULT_REP PLA_SCROLL_FWD_REPEAT diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c index febd093e3f..54a6d07c20 100644 --- a/apps/plugins/fireworks.c +++ b/apps/plugins/fireworks.c @@ -35,10 +35,17 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; /* We use PLA */ #define BTN_EXIT PLA_EXIT -#define BTN_MENU PLA_CANCEL #define BTN_FIRE PLA_SELECT #define BTN_FIRE_REPEAT PLA_SELECT_REPEAT +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define BTN_MENU PLA_UP +#else +#define BTN_MENU PLA_CANCEL +#endif + /* The lowdown on source terminology: * a ROCKET is launched from the LCD bottom. * FIREWORKs are ejected from the rocket when it explodes. */ diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c index c659cf5ba5..278c77e188 100644 --- a/apps/plugins/flipit.c +++ b/apps/plugins/flipit.c @@ -49,7 +49,7 @@ #define FLIPIT_DOWN BUTTON_PLAY #define FLIPIT_NEXT BUTTON_SCROLL_FWD #define FLIPIT_PREV BUTTON_SCROLL_BACK -#define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_MENU) +#define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_REPEAT) #define FLIPIT_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT) #define FLIPIT_SOLVE (BUTTON_SELECT | BUTTON_PLAY) #define FLIPIT_STEP_BY_STEP (BUTTON_SELECT | BUTTON_RIGHT) @@ -841,7 +841,7 @@ enum plugin_status plugin_start(const void* parameter) #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) - rb->lcd_putsxy(2, 8, "[S-MENU] to stop"); + rb->lcd_putsxy(2, 8, "Long [SELECT] to stop"); rb->lcd_putsxy(2, 18, "[SELECT] toggle"); rb->lcd_putsxy(2, 28, "[S-LEFT] shuffle"); rb->lcd_putsxy(2, 38, "[S-PLAY] solution"); diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h index 8e9446df0d..8432546c1e 100644 --- a/apps/plugins/fractals/fractal.h +++ b/apps/plugins/fractals/fractal.h @@ -40,7 +40,7 @@ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define FRACTAL_QUIT (BUTTON_SELECT | BUTTON_MENU) +#define FRACTAL_QUIT (BUTTON_SELECT | BUTTON_REPEAT) #define FRACTAL_UP BUTTON_MENU #define FRACTAL_DOWN BUTTON_PLAY #define FRACTAL_LEFT BUTTON_LEFT diff --git a/apps/plugins/imageviewer/imageviewer.c b/apps/plugins/imageviewer/imageviewer.c index 91c0950035..c77b22fdae 100644 --- a/apps/plugins/imageviewer/imageviewer.c +++ b/apps/plugins/imageviewer/imageviewer.c @@ -353,7 +353,7 @@ static int show_menu(void) /* return 1 to quit */ static int ask_and_get_audio_buffer(const char *filename) { int button; -#if defined(IMGVIEW_ZOOM_PRE) +#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_QUIT_PRE) int lastbutton = BUTTON_NONE; #endif rb->lcd_setfont(FONT_SYSFIXED); @@ -392,6 +392,10 @@ static int ask_and_get_audio_buffer(const char *filename) #endif #ifdef IMGVIEW_QUIT case IMGVIEW_QUIT: +#ifdef IMGVIEW_QUIT_PRE + if (lastbutton != IMGVIEW_QUIT_PRE) + break; +#endif #endif case IMGVIEW_MENU: return PLUGIN_OK; @@ -424,7 +428,7 @@ static int ask_and_get_audio_buffer(const char *filename) == SYS_USB_CONNECTED) return PLUGIN_USB_CONNECTED; } -#if defined(IMGVIEW_ZOOM_PRE) +#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_QUIT_PRE) if (button != BUTTON_NONE) lastbutton = button; #endif @@ -572,14 +576,19 @@ static void pan_view_down(struct image_info *info) } /* interactively scroll around the image */ -static int scroll_bmp(struct image_info *info) +static int scroll_bmp(struct image_info *info, bool initial_frame) { static long ss_timeout = 0; int button; #if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) \ - || defined(IMGVIEW_SLIDE_SHOW_PRE) - int lastbutton = BUTTON_NONE; + || defined(IMGVIEW_SLIDE_SHOW_PRE) || defined(IMGVIEW_QUIT_PRE) + static int lastbutton; + if (initial_frame) + lastbutton = BUTTON_NONE; + +#else + (void) initial_frame; #endif if (!ss_timeout && iv_api.slideshow_enabled) @@ -745,6 +754,10 @@ static int scroll_bmp(struct image_info *info) #ifdef IMGVIEW_QUIT case IMGVIEW_QUIT: +#ifdef IMGVIEW_QUIT_PRE + if (lastbutton != IMGVIEW_QUIT_PRE) + break; +#endif return PLUGIN_OK; break; #endif @@ -756,7 +769,8 @@ static int scroll_bmp(struct image_info *info) break; } /* switch */ -#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) || defined(IMGVIEW_SLIDE_SHOW_PRE) +#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) ||\ + defined(IMGVIEW_SLIDE_SHOW_PRE) || defined(IMGVIEW_QUIT_PRE) if (button != BUTTON_NONE) lastbutton = button; #endif @@ -922,6 +936,7 @@ static int load_and_show(char* filename, struct image_info *info) /* used to loop through subimages in animated gifs */ int frame = 0; + bool initial_frame = true; do /* loop the image prepare and decoding when zoomed */ { status = imgdec->get_image(info, frame, ds); /* decode or fetch from cache */ @@ -954,7 +969,8 @@ static int load_and_show(char* filename, struct image_info *info) */ while (1) { - status = scroll_bmp(info); + status = scroll_bmp(info, initial_frame); + initial_frame = false; if (status == ZOOM_IN) { diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h index b8b8c3baf7..d324f93292 100644 --- a/apps/plugins/imageviewer/imageviewer_button.h +++ b/apps/plugins/imageviewer/imageviewer_button.h @@ -53,8 +53,10 @@ #define IMGVIEW_RIGHT BUTTON_RIGHT #define IMGVIEW_NEXT (BUTTON_SELECT | BUTTON_RIGHT) #define IMGVIEW_PREVIOUS (BUTTON_SELECT | BUTTON_LEFT) -#define IMGVIEW_MENU (BUTTON_SELECT | BUTTON_MENU) -#define IMGVIEW_QUIT (BUTTON_SELECT | BUTTON_PLAY) +#define IMGVIEW_MENU_PRE BUTTON_SELECT +#define IMGVIEW_MENU (BUTTON_SELECT | BUTTON_REPEAT) +#define IMGVIEW_QUIT_PRE BUTTON_SELECT +#define IMGVIEW_QUIT (BUTTON_SELECT | BUTTON_REL) #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD #define IMGVIEW_ZOOM_PRE BUTTON_SELECT diff --git a/apps/plugins/jackpot.c b/apps/plugins/jackpot.c index 78f74568ca..fd878509cf 100644 --- a/apps/plugins/jackpot.c +++ b/apps/plugins/jackpot.c @@ -25,6 +25,13 @@ #include "lib/pluginlib_exit.h" +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define JACKPOT_QUIT PLA_UP +#else +#define JACKPOT_QUIT PLA_CANCEL +#endif const struct button_mapping* plugin_contexts[]={pla_main_ctx}; #define NB_PICTURES 9 @@ -248,7 +255,7 @@ enum plugin_status plugin_start(const void* parameter) plugin_contexts, ARRAYLEN(plugin_contexts)); switch ( action ) { - case PLA_CANCEL: + case JACKPOT_QUIT: return PLUGIN_OK; case PLA_SELECT: jackpot_play_turn(&game); diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c index 3f209ae556..1536b785b4 100644 --- a/apps/plugins/jewels.c +++ b/apps/plugins/jewels.c @@ -49,9 +49,9 @@ #define JEWELS_PREV BUTTON_SCROLL_BACK #define JEWELS_NEXT BUTTON_SCROLL_FWD #define JEWELS_SELECT BUTTON_SELECT -#define JEWELS_CANCEL (BUTTON_SELECT | BUTTON_MENU) +#define JEWELS_CANCEL (BUTTON_SELECT | BUTTON_REPEAT) #define HK_SELECT "SELECT" -#define HK_CANCEL "SEL + MENU" +#define HK_CANCEL "Long SELECT" #elif (CONFIG_KEYPAD == IPOD_3G_PAD) #define JEWELS_LEFT BUTTON_LEFT diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c index 42a2353b2a..5aa06f4d2d 100644 --- a/apps/plugins/lamp.c +++ b/apps/plugins/lamp.c @@ -58,7 +58,14 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; #define LAMP_EXIT PLA_EXIT + +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define LAMP_EXIT2 PLA_UP +#else #define LAMP_EXIT2 PLA_CANCEL +#endif #ifdef HAVE_LCD_COLOR diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c index 984a65aa34..9df73a9d0b 100644 --- a/apps/plugins/logo.c +++ b/apps/plugins/logo.c @@ -49,15 +49,27 @@ static const struct button_mapping *plugin_contexts[] /* We use PLA */ #define LP_QUIT PLA_EXIT -#define LP_QUIT2 PLA_CANCEL #define LP_DEC_X PLA_LEFT #define LP_DEC_X_REPEAT PLA_LEFT_REPEAT #define LP_INC_X PLA_RIGHT #define LP_INC_X_REPEAT PLA_RIGHT_REPEAT + +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define LP_QUIT2 PLA_UP +#define LP_DEC_Y PLA_SCROLL_BACK +#define LP_DEC_Y_REPEAT PLA_SCROLL_BACK_REPEAT +#define LP_INC_Y PLA_SCROLL_FWD +#define LP_INC_Y_REPEAT PLA_SCROLL_FWD_REPEAT +#else +#define LP_QUIT2 PLA_CANCEL #define LP_DEC_Y PLA_DOWN #define LP_DEC_Y_REPEAT PLA_DOWN_REPEAT #define LP_INC_Y PLA_UP #define LP_INC_Y_REPEAT PLA_UP_REPEAT +#endif + enum plugin_status plugin_start(const void* parameter) { int button; diff --git a/apps/plugins/matrix.c b/apps/plugins/matrix.c index 1b2f6d465a..6e96aae10c 100644 --- a/apps/plugins/matrix.c +++ b/apps/plugins/matrix.c @@ -52,6 +52,14 @@ /* this set the context to use with PLA */ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define MATRIX_EXIT2 PLA_UP +#else +#define MATRIX_EXIT2 PLA_CANCEL +#endif + #ifdef HAVE_SCROLLWHEEL #define MATRIX_SLEEP_MORE PLA_SCROLL_BACK #define MATRIX_SLEEP_MORE_REPEAT PLA_SCROLL_BACK_REPEAT @@ -65,7 +73,6 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; #endif /* HAVE_SCROLLWHEEL */ #define MATRIX_PAUSE PLA_SELECT #define MATRIX_EXIT PLA_EXIT -#define MATRIX_EXIT2 PLA_CANCEL #define SLEEP HZ/50 diff --git a/apps/plugins/maze.c b/apps/plugins/maze.c index 8c951ebdcc..ebb83ab15c 100644 --- a/apps/plugins/maze.c +++ b/apps/plugins/maze.c @@ -37,11 +37,14 @@ /* key assignments */ -#if (CONFIG_KEYPAD == IPOD_3G_PAD) +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) # define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) # define MAZE_NEW_PRE BUTTON_SELECT # define MAZE_QUIT BUTTON_MENU -# define MAZE_SOLVE (BUTTON_SELECT | BUTTON_PLAY) +# define MAZE_SOLVE (BUTTON_SELECT | BUTTON_REL) +# define MAZE_SOLVE_PRE BUTTON_SELECT # define MAZE_RIGHT BUTTON_RIGHT # define MAZE_RIGHT_REPEAT BUTTON_RIGHT|BUTTON_REPEAT # define MAZE_LEFT BUTTON_LEFT @@ -491,7 +494,7 @@ static void maze_move_player_left(struct maze* maze) enum plugin_status plugin_start(const void* parameter) { int button; -#ifdef MAZE_NEW_PRE +#if defined(MAZE_NEW_PRE) || defined(MAZE_SOLVE_PRE) int lastbutton = BUTTON_NONE; #endif int quit = 0; @@ -544,6 +547,10 @@ enum plugin_status plugin_start(const void* parameter) maze_draw(&maze, rb->screens[i]); break; case MAZE_SOLVE: +#ifdef MAZE_SOLVE_PRE + if(lastbutton != MAZE_SOLVE_PRE) + break; +#endif maze_solve(&maze); FOR_NB_SCREENS(i) maze_draw(&maze, rb->screens[i]); @@ -583,7 +590,7 @@ enum plugin_status plugin_start(const void* parameter) } break; } -#ifdef MAZE_NEW_PRE +#if defined(MAZE_NEW_PRE) || defined(MAZE_SOLVE_PRE) if( button != BUTTON_NONE ) lastbutton = button; #endif diff --git a/apps/plugins/mazezam.c b/apps/plugins/mazezam.c index 423b09288d..1183f8f502 100644 --- a/apps/plugins/mazezam.c +++ b/apps/plugins/mazezam.c @@ -27,7 +27,9 @@ /* Include standard plugin macro */ -#if (CONFIG_KEYPAD == IPOD_3G_PAD) +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) # define MAZEZAM_MENU BUTTON_MENU # define MAZEZAM_RIGHT BUTTON_RIGHT # define MAZEZAM_LEFT BUTTON_LEFT diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c index 157d116ff9..9d61c067fd 100644 --- a/apps/plugins/metronome.c +++ b/apps/plugins/metronome.c @@ -82,7 +82,13 @@ enum metronome_errors #define MET_SYNC #endif +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define METRONOME_QUIT PLA_UP +#else #define METRONOME_QUIT PLA_EXIT +#endif #ifdef HAVE_SCROLLWHEEL #define METRONOME_VOL_UP PLA_SCROLL_FWD diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c index caf5346dc5..cf3f42521a 100644 --- a/apps/plugins/mosaique.c +++ b/apps/plugins/mosaique.c @@ -37,10 +37,17 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; #define MOSAIQUE_QUIT PLA_EXIT -#define MOSAIQUE_QUIT2 PLA_CANCEL -#define MOSAIQUE_SPEED PLA_UP +#define MOSAIQUE_SPEED PLA_RIGHT #define MOSAIQUE_RESTART PLA_SELECT +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define MOSAIQUE_QUIT2 PLA_UP +#else +#define MOSAIQUE_QUIT2 PLA_CANCEL +#endif + enum plugin_status plugin_start(const void* parameter) { int button; diff --git a/apps/plugins/open_plugins.c b/apps/plugins/open_plugins.c index 9a2fa3593f..a4b19d558f 100644 --- a/apps/plugins/open_plugins.c +++ b/apps/plugins/open_plugins.c @@ -904,6 +904,7 @@ reopen_datfile: } break; case ACTION_STD_CANCEL: + case ACTION_STD_MENU: { selection = -2; exit = true; diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c index ef9e6b8a98..00d03fb03e 100644 --- a/apps/plugins/oscilloscope.c +++ b/apps/plugins/oscilloscope.c @@ -47,12 +47,14 @@ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define OSCILLOSCOPE_QUIT (BUTTON_SELECT | BUTTON_MENU) -#define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_PLAY) +#define OSCILLOSCOPE_QUIT BUTTON_MENU +#define OSCILLOSCOPE_GRAPHMODE_PRE BUTTON_SELECT +#define OSCILLOSCOPE_GRAPHMODE (BUTTON_SELECT | BUTTON_REL) +#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_SELECT +#define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_REPEAT) #define OSCILLOSCOPE_ADVMODE (BUTTON_SELECT | BUTTON_RIGHT) #define OSCILLOSCOPE_ORIENTATION (BUTTON_SELECT | BUTTON_LEFT) -#define OSCILLOSCOPE_GRAPHMODE BUTTON_MENU -#define OSCILLOSCOPE_PAUSE BUTTON_PLAY +#define OSCILLOSCOPE_PAUSE BUTTON_PLAY | BUTTON_REL #define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT #define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT #define OSCILLOSCOPE_VOL_UP BUTTON_SCROLL_FWD diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c index cb6361547d..8b88aad052 100644 --- a/apps/plugins/pegbox.c +++ b/apps/plugins/pegbox.c @@ -65,7 +65,7 @@ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) #define PEGBOX_SELECT (BUTTON_SELECT|BUTTON_RIGHT) -#define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_PLAY) +#define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_REPEAT) #define PEGBOX_RESTART (BUTTON_SELECT|BUTTON_LEFT) #define PEGBOX_LVL_UP (BUTTON_SELECT|BUTTON_MENU) #define PEGBOX_UP BUTTON_MENU @@ -74,7 +74,7 @@ #define PEGBOX_LEFT BUTTON_LEFT #define SELECT_TEXT "SELECT+RIGHT" -#define QUIT_TEXT "SELECT+PLAY" +#define QUIT_TEXT "Long SELECT" #define RESTART_TEXT "SELECT+LEFT" #define LVL_UP_TEXT "SELECT+MENU" #define LVL_DOWN_TEXT "-" diff --git a/apps/plugins/periodic_table.c b/apps/plugins/periodic_table.c index b77dd07432..2dd84baacd 100644 --- a/apps/plugins/periodic_table.c +++ b/apps/plugins/periodic_table.c @@ -619,7 +619,6 @@ enum plugin_status plugin_start(const void* parameter) switch (button) { case PERIODIC_KEY_SELECT: - break; case PERIODIC_KEY_MENU: return PLUGIN_OK; break; diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c index 7670ef01df..a7a0031391 100644 --- a/apps/plugins/pictureflow/pictureflow.c +++ b/apps/plugins/pictureflow/pictureflow.c @@ -152,7 +152,8 @@ const struct button_mapping pf_context_buttons[] = #elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ || (CONFIG_KEYPAD == IPOD_3G_PAD) \ || (CONFIG_KEYPAD == IPOD_4G_PAD) - {PF_QUIT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU}, + {PF_MENU, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU}, + {PF_QUIT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU}, {PF_SORTING_NEXT, BUTTON_SELECT|BUTTON_MENU, BUTTON_NONE}, {PF_SORTING_PREV, BUTTON_SELECT|BUTTON_PLAY, BUTTON_NONE}, #elif CONFIG_KEYPAD == MPIO_HD300_PAD diff --git a/apps/plugins/pitch_detector.c b/apps/plugins/pitch_detector.c index 4ae43b3236..e9b1fb11b0 100644 --- a/apps/plugins/pitch_detector.c +++ b/apps/plugins/pitch_detector.c @@ -1013,6 +1013,11 @@ static void record_and_get_pitch(void) break; case PLA_CANCEL: +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) + case PLA_UP: +#endif rb->pcm_stop_recording(); quit = main_menu(); if(!quit) diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c index 8da53874e1..cdb6e66569 100644 --- a/apps/plugins/plasma.c +++ b/apps/plugins/plasma.c @@ -268,6 +268,11 @@ int main(void) switch(action) { +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) + case PLA_UP: +#endif case PLA_EXIT: case PLA_CANCEL: return PLUGIN_OK; @@ -277,7 +282,11 @@ int main(void) case PLA_SCROLL_FWD: case PLA_SCROLL_FWD_REPEAT: #endif +#if (CONFIG_KEYPAD != IPOD_1G2G_PAD) \ + && (CONFIG_KEYPAD != IPOD_3G_PAD) \ + && (CONFIG_KEYPAD != IPOD_4G_PAD) case PLA_UP: +#endif case PLA_UP_REPEAT: ++plasma_frequency; wave_table_generate(); diff --git a/apps/plugins/robotfindskitten.c b/apps/plugins/robotfindskitten.c index 4f228423b6..31c419e33d 100644 --- a/apps/plugins/robotfindskitten.c +++ b/apps/plugins/robotfindskitten.c @@ -469,7 +469,13 @@ static char* messages[] = #define RFK_VERSION "v1.4142135.406" +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +# define RFK_QUIT PLA_SELECT_REPEAT +#else # define RFK_QUIT PLA_CANCEL +#endif # define RFK_RIGHT PLA_RIGHT # define RFK_LEFT PLA_LEFT # define RFK_UP PLA_UP diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c index cc719e5067..a0105a1ffb 100644 --- a/apps/plugins/rockblox.c +++ b/apps/plugins/rockblox.c @@ -33,7 +33,7 @@ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define ROCKBLOX_OFF (BUTTON_MENU | BUTTON_SELECT) +#define ROCKBLOX_OFF (BUTTON_SELECT | BUTTON_REPEAT) #define ROCKBLOX_ROTATE_CCW BUTTON_SCROLL_BACK #define ROCKBLOX_ROTATE_CCW2 (BUTTON_MENU | BUTTON_REL) #define ROCKBLOX_ROTATE_CW BUTTON_SCROLL_FWD @@ -41,6 +41,7 @@ #define ROCKBLOX_RIGHT BUTTON_RIGHT #define ROCKBLOX_DOWN BUTTON_PLAY #define ROCKBLOX_RESTART (BUTTON_SELECT | BUTTON_PLAY) +#define ROCKBLOX_DROP_PRE BUTTON_SELECT #define ROCKBLOX_DROP (BUTTON_SELECT | BUTTON_REL) #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ diff --git a/apps/plugins/rockblox1d.c b/apps/plugins/rockblox1d.c index 6a2b013c44..6d535bbcd7 100644 --- a/apps/plugins/rockblox1d.c +++ b/apps/plugins/rockblox1d.c @@ -28,7 +28,14 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; #define ONEDROCKBLOX_DOWN PLA_DOWN #define ONEDROCKBLOX_DOWN_REPEAT PLA_DOWN_REPEAT #define ONEDROCKBLOX_QUIT PLA_EXIT + +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define ONEDROCKBLOX_QUIT2 PLA_UP +#else #define ONEDROCKBLOX_QUIT2 PLA_CANCEL +#endif #define mrand(max) (short)(rb->rand()%max) diff --git a/apps/plugins/rocklife.c b/apps/plugins/rocklife.c index bed947cc71..c4c7842fe0 100644 --- a/apps/plugins/rocklife.c +++ b/apps/plugins/rocklife.c @@ -70,7 +70,13 @@ #define ROCKLIFE_INIT PLA_DOWN #define ROCKLIFE_NEXT PLA_RIGHT #define ROCKLIFE_NEXT_REP PLA_RIGHT_REPEAT +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define ROCKLIFE_QUIT PLA_UP +#else #define ROCKLIFE_QUIT PLA_CANCEL +#endif #define ROCKLIFE_STATUS PLA_LEFT #define PATTERN_RANDOM 0 diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index af6aa40ea0..33d2bb68f6 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c @@ -36,7 +36,7 @@ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU) +#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_REPEAT) #define PUZZLE_LEFT BUTTON_LEFT #define PUZZLE_RIGHT BUTTON_RIGHT #define PUZZLE_UP BUTTON_MENU @@ -848,7 +848,7 @@ enum plugin_status plugin_start( #if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) - rb->lcd_putsxy(0, 18, "[S-MENU] to stop"); + rb->lcd_putsxy(0, 18, "Long [SELECT] to stop"); rb->lcd_putsxy(0, 28, "[S-LEFT] shuffle"); rb->lcd_putsxy(0, 38, "[S-RIGHT] change pic"); #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c index 25c89b264b..359077c9fa 100644 --- a/apps/plugins/snake.c +++ b/apps/plugins/snake.c @@ -55,12 +55,12 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left; #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU) +#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_REPEAT) #define SNAKE_LEFT BUTTON_LEFT #define SNAKE_RIGHT BUTTON_RIGHT #define SNAKE_UP BUTTON_MENU #define SNAKE_DOWN BUTTON_PLAY -#define SNAKE_PLAYPAUSE BUTTON_SELECT +#define SNAKE_PLAYPAUSE (BUTTON_SELECT|BUTTON_REL) #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) #define SNAKE_QUIT BUTTON_POWER diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c index 094fd854eb..7a43b235b7 100644 --- a/apps/plugins/snake2.c +++ b/apps/plugins/snake2.c @@ -181,8 +181,8 @@ Head and Tail are stored #define SNAKE2_RIGHT BUTTON_RIGHT #define SNAKE2_UP BUTTON_MENU #define SNAKE2_DOWN BUTTON_PLAY -#define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_MENU) -#define SNAKE2_PLAYPAUSE BUTTON_SELECT +#define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_REPEAT) +#define SNAKE2_PLAYPAUSE (BUTTON_SELECT | BUTTON_REL) #define SNAKE2_PLAYPAUSE_TEXT "Select" #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c index 10b41c972b..c7d7ad31d8 100644 --- a/apps/plugins/snow.c +++ b/apps/plugins/snow.c @@ -30,8 +30,14 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; /* PLA definitions */ #define SNOW_QUIT PLA_EXIT -#define SNOW_QUIT2 PLA_CANCEL +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define SNOW_QUIT2 PLA_UP +#else +#define SNOW_QUIT2 PLA_CANCEL +#endif static short particles[NUM_PARTICLES][2]; #if LCD_WIDTH >= 160 diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 247663a5c2..bf61db7d88 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c @@ -125,7 +125,7 @@ #define SOKOBAN_RIGHT BUTTON_RIGHT #define SOKOBAN_UP BUTTON_MENU #define SOKOBAN_DOWN BUTTON_PLAY -#define SOKOBAN_MENU (BUTTON_SELECT | BUTTON_MENU) +#define SOKOBAN_MENU (BUTTON_SELECT | BUTTON_REPEAT) #define SOKOBAN_UNDO_PRE BUTTON_SELECT #define SOKOBAN_UNDO (BUTTON_SELECT | BUTTON_REL) #define SOKOBAN_REDO (BUTTON_SELECT | BUTTON_PLAY) diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index ebc042f6db..874d872d95 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c @@ -56,7 +56,7 @@ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -# define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU) +# define SOL_QUIT (BUTTON_SELECT | BUTTON_REPEAT) # define SOL_UP BUTTON_SCROLL_BACK # define SOL_DOWN BUTTON_SCROLL_FWD # define SOL_LEFT_PRE BUTTON_LEFT diff --git a/apps/plugins/star.c b/apps/plugins/star.c index 874afc1cf1..59cefa2c15 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c @@ -80,7 +80,7 @@ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define STAR_QUIT (BUTTON_SELECT | BUTTON_MENU) +#define STAR_QUIT (BUTTON_SELECT | BUTTON_REPEAT) #define STAR_LEFT BUTTON_LEFT #define STAR_RIGHT BUTTON_RIGHT #define STAR_UP BUTTON_MENU @@ -91,7 +91,7 @@ #define STAR_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT) #define STAR_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY) #define STAR_TOGGLE_CONTROL_NAME "SELECT" -#define STAR_QUIT_NAME "S + MENU" +#define STAR_QUIT_NAME "Long SELECT" #define STAR_LEVEL_UP_NAME "S >" #define STAR_LEVEL_DOWN_NAME "S <" #define STAR_LEVEL_REPEAT_NAME "S + PLAY" diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c index 39ed8a8171..239b7c1396 100644 --- a/apps/plugins/starfield.c +++ b/apps/plugins/starfield.c @@ -27,11 +27,21 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; /* Key assignement */ #define STARFIELD_QUIT PLA_EXIT +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define STARFIELD_QUIT2 PLA_UP +#define STARFIELD_INCREASE_ZMOVE PLA_SCROLL_FWD +#define STARFIELD_INCREASE_ZMOVE_REPEAT PLA_SCROLL_FWD_REPEAT +#define STARFIELD_DECREASE_ZMOVE PLA_SCROLL_BACK +#define STARFIELD_DECREASE_ZMOVE_REPEAT PLA_SCROLL_BACK_REPEAT +#else #define STARFIELD_QUIT2 PLA_CANCEL #define STARFIELD_INCREASE_ZMOVE PLA_UP #define STARFIELD_INCREASE_ZMOVE_REPEAT PLA_UP_REPEAT #define STARFIELD_DECREASE_ZMOVE PLA_DOWN #define STARFIELD_DECREASE_ZMOVE_REPEAT PLA_DOWN_REPEAT +#endif #define STARFIELD_INCREASE_NB_STARS PLA_RIGHT #define STARFIELD_INCREASE_NB_STARS_REPEAT PLA_RIGHT_REPEAT #define STARFIELD_DECREASE_NB_STARS PLA_LEFT diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c index 19ccd9f452..b48259a0e4 100644 --- a/apps/plugins/stats.c +++ b/apps/plugins/stats.c @@ -29,7 +29,15 @@ static bool cancel; /* we use PLA */ #define STATS_STOP PLA_EXIT + +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +#define STATS_STOP2 PLA_UP +#else #define STATS_STOP2 PLA_CANCEL +#endif + /* this set the context to use with PLA */ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; @@ -149,7 +157,7 @@ static void traversedir(char* location, char* name) lasttick = *rb->current_tick; button = pluginlib_getaction(TIMEOUT_NOBLOCK, plugin_contexts, ARRAYLEN(plugin_contexts)); - if (button == STATS_STOP) { + if (button == STATS_STOP || button == STATS_STOP2) { cancel = true; break; } diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c index c09ef48bdc..abdb6a4725 100644 --- a/apps/plugins/wormlet.c +++ b/apps/plugins/wormlet.c @@ -54,7 +54,7 @@ static long max_cycle; #define BTN_DIR_LEFT BUTTON_LEFT #define BTN_DIR_RIGHT BUTTON_RIGHT #define BTN_STARTPAUSE (BUTTON_SELECT|BUTTON_REL) -#define BTN_QUIT (BUTTON_SELECT|BUTTON_MENU) +#define BTN_QUIT (BUTTON_SELECT|BUTTON_REPEAT) #define BTN_STOPRESET (BUTTON_SELECT|BUTTON_PLAY) #elif (CONFIG_KEYPAD == IRIVER_H300_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c index c7499fed7a..336d92bd4e 100644 --- a/apps/plugins/xobox.c +++ b/apps/plugins/xobox.c @@ -42,10 +42,10 @@ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define QUIT (BUTTON_SELECT | BUTTON_MENU) +#define QUIT (BUTTON_SELECT | BUTTON_REPEAT) #define LEFT BUTTON_LEFT #define RIGHT BUTTON_RIGHT -#define PAUSE BUTTON_SELECT +#define PAUSE (BUTTON_SELECT | BUTTON_REL) #define MENU_UP BUTTON_SCROLL_FWD #define MENU_DOWN BUTTON_SCROLL_BACK #define UP BUTTON_MENU diff --git a/manual/plugins/2048.tex b/manual/plugins/2048.tex index 8df101c968..b55757c0d1 100644 --- a/manual/plugins/2048.tex +++ b/manual/plugins/2048.tex @@ -14,7 +14,8 @@ which -- in computer talk -- means a multiple of 1024).} \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight} & Slide tiles\\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Go to menu\\ \end{btnmap} diff --git a/manual/plugins/alarmclock.tex b/manual/plugins/alarmclock.tex index 617a208fdb..3e4d99d120 100644 --- a/manual/plugins/alarmclock.tex +++ b/manual/plugins/alarmclock.tex @@ -9,7 +9,8 @@ This plugin is an alarm clock, which resumes a paused song at a given time. & Switch between hours/minutes selection \\ \opt{scrollwheel}{\PluginScrollBack{} / \PluginScrollFwd{} or} - \PluginUp{} / \PluginDown + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginDown} \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown} & Increase/Decrease hours/minutes \\ @@ -17,7 +18,8 @@ This plugin is an alarm clock, which resumes a paused song at a given time. \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} & Set the alarm \\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Exit \\ \end{btnmap} diff --git a/manual/plugins/bounce.tex b/manual/plugins/bounce.tex index fe26c67198..93fddd89bf 100644 --- a/manual/plugins/bounce.tex +++ b/manual/plugins/bounce.tex @@ -6,7 +6,8 @@ In \setting{Scroll mode} the bouncing text is replaced by a different one scrolling from right to left. \begin{btnmap} - \PluginUp / \PluginDown + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginLeft{} / \PluginRight} \opt{HAVEREMOTEKEYMAP}{& } & Moves to next/previous option\\ \nopt{scrollwheel} { @@ -20,7 +21,8 @@ scrolling from right to left. \PluginSelect \opt{HAVEREMOTEKEYMAP}{& } & Toggles Scroll mode\\ - \PluginCancel{} or \PluginExit + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp} \opt{HAVEREMOTEKEYMAP}{& } & Exits bounce demo\\ \end{btnmap} diff --git a/manual/plugins/bubbles.tex b/manual/plugins/bubbles.tex index 126a42c5f9..88fd4f997f 100644 --- a/manual/plugins/bubbles.tex +++ b/manual/plugins/bubbles.tex @@ -10,7 +10,8 @@ fired. Points are awarded depending on how quickly the level was completed. \begin{btnmap} \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\PluginSelect} - \nopt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\PluginUp} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay} + \nopt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp} \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp} & Pause game\\ @@ -24,7 +25,8 @@ fired. Points are awarded depending on how quickly the level was completed. \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} & Fire bubble\\ - \PluginCancel{} or \PluginExit + \nopt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Exit to menu\\ \end{btnmap} diff --git a/manual/plugins/calendar.tex b/manual/plugins/calendar.tex index fb4291f250..b965f7b365 100644 --- a/manual/plugins/calendar.tex +++ b/manual/plugins/calendar.tex @@ -37,9 +37,9 @@ You can select what day is first day of week by the setting \setting{First Day o \opt{MPIO_HD300_PAD}{\ButtonRew / \ButtonFF & Previous / Next week\\} % +\nopt{IPOD_4G_PAD,IPOD_3G_PAD}{ \opt{MROBE100_PAD}{\ButtonMenu{} + \ButtonUp{} / \ButtonDown} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode{} / \ButtonRec} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay{} / \ButtonMenu} \opt{IAUDIO_X5_PAD}{\ButtonRec{} / \ButtonPlay} \opt{GIGABEAT_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp{} / \ButtonVolDown} \opt{GIGABEAT_S_PAD}{\ButtonNext{} / \ButtonPrev} @@ -52,10 +52,10 @@ You can select what day is first day of week by the setting \setting{First Day o \opt{MPIO_HD300_PAD}{\ButtonRec{} / \ButtonPlay} \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack{} / \ButtonPlay} \opt{HAVEREMOTEKEYMAP}{& } - & Previous / Next month\\ + & Previous / Next month\\} % \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu{} + \ButtonSelect} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{GIGABEAT_S_PAD}{\ButtonBack} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/chessbox.tex b/manual/plugins/chessbox.tex index fd9391bce4..21d6733a52 100644 --- a/manual/plugins/chessbox.tex +++ b/manual/plugins/chessbox.tex @@ -74,7 +74,7 @@ the game. \opt{HAVEREMOTEKEYMAP}{& } & Force play\\ \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD% ,MROBE100_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/clix.tex b/manual/plugins/clix.tex index 4752bd1204..aa10f7508b 100644 --- a/manual/plugins/clix.tex +++ b/manual/plugins/clix.tex @@ -17,7 +17,7 @@ The more blocks you remove per turn, the more points you get. ,SANSA_FUZE_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% ,SAMSUNG_YH820_PAD} {\ButtonUp/\ButtonDown} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu/\ButtonPlay} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} \opt{IRIVER_H10_PAD}{\ButtonScrollUp/\ButtonScrollDown} \opt{HAVEREMOTEKEYMAP}{& } & Move the cursor around the blocks \\ @@ -32,6 +32,7 @@ The more blocks you remove per turn, the more points you get. } \opt{IRIVER_H100_PAD,IRIVER_H300_PAD} {\ButtonOff} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD% ,IAUDIO_X5_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{\ButtonHome} diff --git a/manual/plugins/clock.tex b/manual/plugins/clock.tex index 92873223d9..16220792df 100644 --- a/manual/plugins/clock.tex +++ b/manual/plugins/clock.tex @@ -10,11 +10,13 @@ This is a fully featured analogue and digital clock plugin. \opt{HAVEREMOTEKEYMAP}{& \PluginRCLeft{} / \PluginRCRight} & Cycle through modes \\ - \PluginUp{} / \PluginDown + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginDown} \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown} & Cycle through skins \\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Main Menu \\ diff --git a/manual/plugins/codebuster.tex b/manual/plugins/codebuster.tex index a70edf57ba..380c5dc734 100644 --- a/manual/plugins/codebuster.tex +++ b/manual/plugins/codebuster.tex @@ -10,7 +10,8 @@ a correct peg in the correct position, and a white peg signifies a correct peg in the wrong position. \begin{btnmap} - \PluginCancel + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Show menu \\ diff --git a/manual/plugins/cube.tex b/manual/plugins/cube.tex index 0366c788b7..75c16eaab9 100644 --- a/manual/plugins/cube.tex +++ b/manual/plugins/cube.tex @@ -4,7 +4,7 @@ This is a rotating cube screen saver in 3D. \begin{btnmap} \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ,IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_S_PAD}{\ButtonSelect} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect} \opt{IRIVER_H10_PAD}{\ButtonFF} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF} \opt{GIGABEAT_PAD}{\ButtonA} @@ -30,7 +30,7 @@ This is a rotating cube screen saver in 3D. \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD} {\ButtonMenu} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonMenu} \opt{IAUDIO_X5_PAD,SANSA_FUZEPLUS_PAD}{\ButtonSelect} \opt{IRIVER_H10_PAD}{\ButtonRew} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF} diff --git a/manual/plugins/demystify.tex b/manual/plugins/demystify.tex index 3e0a5d0dc9..88d7677b08 100644 --- a/manual/plugins/demystify.tex +++ b/manual/plugins/demystify.tex @@ -9,11 +9,13 @@ Demystify is a screen saver like demo.\\ \opt{HAVEREMOTEKEYMAP}{& \PluginRCLeft{} / \PluginRCRight} & Increase / decrease speed\\ - \PluginUp{} / \PluginDown + \nopt{scrollwheel}{\PluginUp{} / \PluginDown} + \opt{scrollwheel}{\PluginLeft{} / \PluginRight} \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown} & Add / remove polygon\\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Quit\\ \end{btnmap} diff --git a/manual/plugins/dice.tex b/manual/plugins/dice.tex index 44153e0a59..4756d612c7 100644 --- a/manual/plugins/dice.tex +++ b/manual/plugins/dice.tex @@ -8,7 +8,8 @@ numbers as well as the total of the rolled dice. \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} & Roll dice again\\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Quit\\ \end{btnmap} diff --git a/manual/plugins/fire.tex b/manual/plugins/fire.tex index 9ca3fd33bb..a66f9950ab 100644 --- a/manual/plugins/fire.tex +++ b/manual/plugins/fire.tex @@ -16,7 +16,8 @@ Fire is a demo displaying a fire effect. \opt{HAVEREMOTEKEYMAP}{& \PluginRCRight} & Toggle moving flames\\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Quit\\ \end{btnmap} diff --git a/manual/plugins/flipit.tex b/manual/plugins/flipit.tex index cb9880a8c3..380bae2001 100644 --- a/manual/plugins/flipit.tex +++ b/manual/plugins/flipit.tex @@ -76,7 +76,7 @@ a screen containing tokens of only one colour. \opt{HAVEREMOTEKEYMAP}{& } & Solve step by step \\ \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} -\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} +\opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,GIGABEAT_PAD,MROBE100_PAD% ,SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/fractals.tex b/manual/plugins/fractals.tex index c12878cf3d..dc06ae9893 100644 --- a/manual/plugins/fractals.tex +++ b/manual/plugins/fractals.tex @@ -92,7 +92,7 @@ This demonstration draws fractal images from the Mandelbrot set% & Reset and return to the default image\\ % \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/imageviewer.tex b/manual/plugins/imageviewer.tex index 637507456b..cc5b27eee4 100644 --- a/manual/plugins/imageviewer.tex +++ b/manual/plugins/imageviewer.tex @@ -113,7 +113,7 @@ view a bigger file you may need to stop playback.} & Toggle slide show mode\\ } \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD}{\ButtonMenu} @@ -128,7 +128,7 @@ view a bigger file you may need to stop playback.} & Show menu / Abort \\ \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD% ,SAMSUNG_YH820_PAD}{ - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect} \opt{GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower} \opt{GIGABEAT_S_PAD}{\ButtonBack} \opt{PBELL_VIBE500_PAD}{\ButtonCancel} diff --git a/manual/plugins/jackpot.tex b/manual/plugins/jackpot.tex index a7dd83f699..754d7a6ab7 100644 --- a/manual/plugins/jackpot.tex +++ b/manual/plugins/jackpot.tex @@ -9,7 +9,8 @@ have 20\$. Payouts are given when three matching symbols come up. \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} & Play\\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Exit the game \\ \end{btnmap} diff --git a/manual/plugins/jewels.tex b/manual/plugins/jewels.tex index 38ce4b1ac8..5a06beb6a5 100644 --- a/manual/plugins/jewels.tex +++ b/manual/plugins/jewels.tex @@ -46,8 +46,8 @@ skillfully swapping pairs of jewels. ,IAUDIO_X5_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} \opt{GIGABEAT_S_PAD}{\ButtonBack} - \opt{IPOD_3G_PAD,MPIO_HD300_PAD}{\ButtonMenu} - \opt{IPOD_4G_PAD}{\ButtonSelect+ \ButtonMenu} + \opt{MPIO_HD300_PAD}{\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} \opt{PBELL_VIBE500_PAD}{\ButtonRec} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} diff --git a/manual/plugins/lamp.tex b/manual/plugins/lamp.tex index 643f1bb51f..23190e62f1 100644 --- a/manual/plugins/lamp.tex +++ b/manual/plugins/lamp.tex @@ -28,6 +28,7 @@ You get an empty screen with maximum brightness. Toggle the button light \\ } - \PluginCancel{} or \PluginExit + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} & Exit to menu\\ \end{btnmap} diff --git a/manual/plugins/logo.tex b/manual/plugins/logo.tex index 7239d42cca..b79747cd91 100644 --- a/manual/plugins/logo.tex +++ b/manual/plugins/logo.tex @@ -9,14 +9,16 @@ Demo showing the Rockbox logo bouncing around the screen. Increase / decrease speed on the x-axis \\ - \PluginUp{} / \PluginDown + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} & \opt{HAVEREMOTEKEYMAP}{ &} Increase / decrease speed on the y-axis \\ - \PluginCancel{} or \PluginExit + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} & \opt{HAVEREMOTEKEYMAP}{ &} diff --git a/manual/plugins/maze.tex b/manual/plugins/maze.tex index 186a650b4d..0a581a7740 100644 --- a/manual/plugins/maze.tex +++ b/manual/plugins/maze.tex @@ -4,8 +4,8 @@ This is a simple maze generator that creates perfect mazes that have only one solution. \begin{btnmap} - \opt{IPOD_3G_PAD}{\ButtonScrollBack/\ButtonScrollFwd/\ButtonLeft/\ButtonRight} - \nopt{IPOD_3G_PAD}{\PluginUp/\PluginDown/\PluginLeft/\PluginRight} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack/\ButtonScrollFwd/\ButtonLeft/\ButtonRight} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp/\PluginDown/\PluginLeft/\PluginRight} & \opt{HAVEREMOTEKEYMAP}{ \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight @@ -13,24 +13,24 @@ one solution. Navigate maze \\ - \opt{IPOD_3G_PAD}{\ButtonMenu} - \nopt{IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} & \opt{HAVEREMOTEKEYMAP}{\PluginRCCancel &} Exit plugin \\ - \opt{IPOD_3G_PAD}{Long \ButtonSelect} - \nopt{IPOD_3G_PAD}{\PluginSelectRepeat} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginSelectRepeat} & \opt{HAVEREMOTEKEYMAP}{\PluginRCSelectRepeat &} New Maze \\ - \opt{IPOD_3G_PAD}{\ButtonSelect} - \nopt{IPOD_3G_PAD}{\PluginSelect} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginSelect} & \opt{HAVEREMOTEKEYMAP}{\PluginRCSelect &} diff --git a/manual/plugins/mazezam.tex b/manual/plugins/mazezam.tex index 26b18a2375..daf0a5c6ef 100644 --- a/manual/plugins/mazezam.tex +++ b/manual/plugins/mazezam.tex @@ -13,8 +13,8 @@ You start the game with three lives. Luckily, there are checkpoints at levels four and eight. \begin{btnmap} - \opt{IPOD_3G_PAD}{\ButtonScrollBack, \ButtonScrollFwd, \ButtonLeft, \ButtonRight} - \nopt{IPOD_3G_PAD}{\PluginUp, \PluginDown, \PluginLeft, \PluginRight} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack, \ButtonScrollFwd, \ButtonLeft, \ButtonRight} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp, \PluginDown, \PluginLeft, \PluginRight} & \opt{HAVEREMOTEKEYMAP}{ \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight @@ -22,8 +22,8 @@ Luckily, there are checkpoints at levels four and eight. Move Character \\ - \opt{IPOD_3G_PAD}{\ButtonMenu} - \nopt{IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} & \opt{HAVEREMOTEKEYMAP}{\PluginRCCancel &} diff --git a/manual/plugins/metronome.tex b/manual/plugins/metronome.tex index fca34eb91f..b534ba630d 100644 --- a/manual/plugins/metronome.tex +++ b/manual/plugins/metronome.tex @@ -21,7 +21,8 @@ You can adjust the tempo through the interface or by tapping it out on the appropriate button. \begin{btnmap} - \PluginExit + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginExit} \opt{HAVEREMOTEKEYMAP}{& } & Exit plugin \\ diff --git a/manual/plugins/mosaic.tex b/manual/plugins/mosaic.tex index d5fdfefe64..42d915aedd 100644 --- a/manual/plugins/mosaic.tex +++ b/manual/plugins/mosaic.tex @@ -6,10 +6,11 @@ This simple graphics demo draws a mosaic picture on the screen of the \dap. \begin{btnmap} - \PluginUp - & Change the gap between the drawing lines.\\ + \PluginRight + & Adjust the speed.\\ \PluginSelect & Restart the drawing process.\\ - \PluginCancel{} or \PluginExit + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} & Exits Mosaique demo\\ \end{btnmap} diff --git a/manual/plugins/oscilloscope.tex b/manual/plugins/oscilloscope.tex index 27fe8e7ac9..9a6dfe19c9 100644 --- a/manual/plugins/oscilloscope.tex +++ b/manual/plugins/oscilloscope.tex @@ -14,7 +14,7 @@ to user input and music may start to skip. \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD% ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD% ,SANSA_FUZEPLUS_PAD}{\ButtonSelect} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IRIVER_H10_PAD}{\ButtonRew} \opt{GIGABEAT_S_PAD}{\ButtonPrev} \opt{COWON_D2_PAD}{\TouchTopMiddle} @@ -92,7 +92,7 @@ to user input and music may start to skip. \opt{HAVEREMOTEKEYMAP}{& } & Increase / decrease speed\\ \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD} {\ButtonPower} diff --git a/manual/plugins/pegbox.tex b/manual/plugins/pegbox.tex index 59e6fef73f..91a3bc79ff 100644 --- a/manual/plugins/pegbox.tex +++ b/manual/plugins/pegbox.tex @@ -101,7 +101,7 @@ block and crosses which allow you to choose a replacement block. } \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect{} + \ButtonPlay} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,GIGABEAT_PAD,MROBE100_PAD% ,SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/periodic_table.tex b/manual/plugins/periodic_table.tex index 08e6bf9253..1a8e4b0327 100644 --- a/manual/plugins/periodic_table.tex +++ b/manual/plugins/periodic_table.tex @@ -7,7 +7,8 @@ The periodic table plugin allows easy browsing and viewing of details of element \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight} & Move cursor\\ - \PluginCancel + \PluginCancel{} + or \PluginSelect \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Quit\\ \end{btnmap} diff --git a/manual/plugins/pictureflow.tex b/manual/plugins/pictureflow.tex index fc4a35274f..0d249299d5 100644 --- a/manual/plugins/pictureflow.tex +++ b/manual/plugins/pictureflow.tex @@ -157,8 +157,10 @@ reduces the time it takes for cover art to be displayed.}} Enter context menu \\ - \nopt{IAUDIO_M3_PAD,SANSA_FUZEPLUS_PAD,FIIO_M3K_PAD}{\ActionStdMenu} + \nopt{IAUDIO_M3_PAD,SANSA_FUZEPLUS_PAD,FIIO_M3K_PAD% + ,IPOD_4G_PAD,IPOD_3G_PAD}{\ActionStdMenu} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{or \ButtonRew} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonMenu} \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonSelect} \opt{FIIO_M3K_PAD}{\ButtonPower} & @@ -173,7 +175,7 @@ reduces the time it takes for cover art to be displayed.}} \opt{IAUDIO_X5_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_E200_PAD,SANSA_CLIP_PAD% ,MROBE100_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_C200_PAD,IRIVER_H10_PAD}{Long \ButtonPower} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ActionStdMenu} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} \opt{PBELL_VIBE500_PAD}{\ButtonRec} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{long \ButtonRew} diff --git a/manual/plugins/plasma.tex b/manual/plugins/plasma.tex index 8b2cf8b88b..b93ebe095c 100644 --- a/manual/plugins/plasma.tex +++ b/manual/plugins/plasma.tex @@ -4,7 +4,7 @@ Plasma is a demo displaying a 80's style retro plasma effect. \begin{btnmap} - \PluginUp{} / \PluginDown + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} \opt{scrollwheel}{/ \PluginScrollFwd{} / \PluginScrollBack} & \opt{HAVEREMOTEKEYMAP}{\PluginRCUp{} / \PluginRCDown @@ -21,7 +21,8 @@ Plasma is a demo displaying a 80's style retro plasma effect. \\ }% - \PluginCancel{} / \PluginExit + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} / \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} & \opt{HAVEREMOTEKEYMAP}{\PluginRCCancel \opt{IAUDIO_RC_PAD}{ / \PluginRCExit} diff --git a/manual/plugins/robotfindskitten.tex b/manual/plugins/robotfindskitten.tex index 3f5b22595c..86be5bd600 100644 --- a/manual/plugins/robotfindskitten.tex +++ b/manual/plugins/robotfindskitten.tex @@ -11,7 +11,8 @@ ends when robotfindskitten. \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight} & Move robot\\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Quit\\ \end{btnmap} diff --git a/manual/plugins/rockblox.tex b/manual/plugins/rockblox.tex index 1b28c039a8..1d6bc7b1f6 100644 --- a/manual/plugins/rockblox.tex +++ b/manual/plugins/rockblox.tex @@ -101,7 +101,7 @@ the blocks fall faster. If the pile of blocks reaches the ceiling, the game is o & Pause\\ } \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} \opt{GIGABEAT_S_PAD}{\ButtonBack} diff --git a/manual/plugins/rockblox1d.tex b/manual/plugins/rockblox1d.tex index a8d27411b7..df0f6480a2 100644 --- a/manual/plugins/rockblox1d.tex +++ b/manual/plugins/rockblox1d.tex @@ -10,7 +10,8 @@ horizontal moving anymore and no need to rotate the brick! \opt{HAVEREMOTEKEYMAP}{& } & Move down faster\\ - \PluginCancel{} or \PluginExit + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& } & Quit\\ \end{btnmap} diff --git a/manual/plugins/rocklife.tex b/manual/plugins/rocklife.tex index e031e4a115..14687049d9 100644 --- a/manual/plugins/rocklife.tex +++ b/manual/plugins/rocklife.tex @@ -30,7 +30,8 @@ ignored. \opt{HAVEREMOTEKEYMAP}{& \PluginRCLeft} & Status (only when paused)\\ - \PluginCancel + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} & Exit\\ \end{btnmap} \ No newline at end of file diff --git a/manual/plugins/sliding.tex b/manual/plugins/sliding.tex index 8b0a9774e0..777788f6f9 100644 --- a/manual/plugins/sliding.tex +++ b/manual/plugins/sliding.tex @@ -59,7 +59,7 @@ launched via Open With), and numbered tiles \\ \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% ,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{GIGABEAT_S_PAD}{\ButtonBack} \opt{PBELL_VIBE500_PAD}{\ButtonRec} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} diff --git a/manual/plugins/snake.tex b/manual/plugins/snake.tex index 7505e27cb1..2c557b7e75 100644 --- a/manual/plugins/snake.tex +++ b/manual/plugins/snake.tex @@ -29,6 +29,7 @@ end when the snake touches either the borders of the screen or itself. & Toggle Play/Pause\\ % \opt{SANSA_FUZEPLUS_PAD.XDUOO_X3_PAD}{\ButtonPower} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} \opt{HAVEREMOTEKEYMAP}{& } & Go to the plugin's menu\\ diff --git a/manual/plugins/snake2.tex b/manual/plugins/snake2.tex index bae9b7134e..d37db0fb49 100644 --- a/manual/plugins/snake2.tex +++ b/manual/plugins/snake2.tex @@ -31,7 +31,7 @@ into itself. \opt{HAVEREMOTEKEYMAP}{& } & Pause and resume the game\\ \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_M200_PAD,GIGABEAT_PAD% ,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/snow.tex b/manual/plugins/snow.tex index 13edf8af39..71430198d4 100644 --- a/manual/plugins/snow.tex +++ b/manual/plugins/snow.tex @@ -2,5 +2,8 @@ \screenshot{plugins/images/ss-snow}{Have you ever seen snow falling?}{img:snow} This demo replicates snow falling on your screen. If you love winter, you will love this demo. Or maybe not. -Press \PluginCancel{} or \PluginExit{} to quit. +Press +\nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit{}} +\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} +to quit. diff --git a/manual/plugins/sokoban.tex b/manual/plugins/sokoban.tex index 5fd5cbbaa2..3f13eea6d4 100644 --- a/manual/plugins/sokoban.tex +++ b/manual/plugins/sokoban.tex @@ -33,7 +33,7 @@ information about the level format, see \opt{HAVEREMOTEKEYMAP}{& } & Move the ``sokoban'' up, down, left, or right\\ \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} -\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} +\opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_E200_PAD,SANSA_C200_PAD% ,SANSA_CLIP_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/solitaire.tex b/manual/plugins/solitaire.tex index a6c60b3417..72c7d9db5a 100644 --- a/manual/plugins/solitaire.tex +++ b/manual/plugins/solitaire.tex @@ -111,7 +111,7 @@ visit & Put the card on top of the remains stack on one of the final colour stacks.\\ % \opt{IRIVER_H300_PAD,IRIVER_H100_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu{} + \ButtonSelect} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/star.tex b/manual/plugins/star.tex index f9e207b70f..7c3ae105eb 100644 --- a/manual/plugins/star.tex +++ b/manual/plugins/star.tex @@ -107,7 +107,7 @@ could not otherwise reach. The block cannot take ``o''s. \opt{HAVEREMOTEKEYMAP}{& } & Next level \\ \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ,GIGABEAT_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} diff --git a/manual/plugins/starfield.tex b/manual/plugins/starfield.tex index 3169cd863a..2d68a0d5ac 100644 --- a/manual/plugins/starfield.tex +++ b/manual/plugins/starfield.tex @@ -8,7 +8,8 @@ Starfield simulation (like the classic screensaver). \opt{HAVEREMOTEKEYMAP}{& } & Increase / decrease number of stars\\ - \PluginUp{} / \PluginDown + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} \opt{HAVEREMOTEKEYMAP}{& } & Increase / decrease speed\\ \opt{lcd_color}{% @@ -16,7 +17,8 @@ Starfield simulation (like the classic screensaver). \opt{HAVEREMOTEKEYMAP}{& } & Change colours\\% }% - \PluginCancel{} or \PluginExit + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} \opt{HAVEREMOTEKEYMAP}{& } & Quit\\ \end{btnmap} diff --git a/manual/plugins/stats.tex b/manual/plugins/stats.tex index 0dac854d68..eddad8e652 100644 --- a/manual/plugins/stats.tex +++ b/manual/plugins/stats.tex @@ -5,6 +5,9 @@ The stats plugin counts the directories and files (the total number as well as the number of audio, playlist, image and video files) on your \dap{}. -Press \PluginCancel{} or \PluginExit{} to abort counting and +Press +\nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit{}} +\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} +to abort counting and exit the plugin. Press it again to quit after counting has finished. diff --git a/manual/plugins/wormlet.tex b/manual/plugins/wormlet.tex index cf81f58cb1..89724d5641 100644 --- a/manual/plugins/wormlet.tex +++ b/manual/plugins/wormlet.tex @@ -152,7 +152,7 @@ There are two ways to stop a running game. \begin{itemize} \item If you want to quit Wormlet entirely simply hit \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}% -\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect}% +\opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect}% \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD,XDUOO_X3_PAD}{\ButtonPower}% \opt{SANSA_FUZE_PAD}{Long \ButtonHome}% \opt{PBELL_VIBE500_PAD}{\ButtonRec}% @@ -188,7 +188,7 @@ This freezes the game. If you hit button again a new game starts with the same configuration. To return to the games menu you can hit \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}% -\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect}% +\opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect}% \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD,XDUOO_X3_PAD}{\ButtonPower}% \opt{SANSA_FUZE_PAD}{Long \ButtonHome} \opt{PBELL_VIBE500_PAD}{\ButtonRec}% diff --git a/manual/plugins/xobox.tex b/manual/plugins/xobox.tex index 8633916660..c3f8377da7 100644 --- a/manual/plugins/xobox.tex +++ b/manual/plugins/xobox.tex @@ -36,7 +36,7 @@ To finish a level you have to section off more than 75\%. \opt{HAVEREMOTEKEYMAP}{& } & Pause\\ \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect{} + \ButtonMenu} + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} \opt{SANSA_FUZE_PAD}{Long \ButtonHome} -- cgit v1.2.3