summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2022-12-18 21:13:15 +0100
committerChristian Soffke <christian.soffke@gmail.com>2022-12-29 04:39:22 +0100
commitfaa2cb99429214de745bbc3e64e48a7432db51ae (patch)
treede2967e0e8237cb86422cd82488e110b97ff831e
parent52f59f637dfcb24900b30ed52c1d7725eab93364 (diff)
downloadrockbox-faa2cb9942.tar.gz
rockbox-faa2cb9942.zip
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
-rw-r--r--apps/plugins/2048.c9
-rw-r--r--apps/plugins/alarmclock.c6
-rw-r--r--apps/plugins/bounce.c23
-rw-r--r--apps/plugins/bubbles.c10
-rw-r--r--apps/plugins/calendar.c11
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h2
-rw-r--r--apps/plugins/clix.c8
-rw-r--r--apps/plugins/clock/clock.c10
-rw-r--r--apps/plugins/codebuster.c7
-rw-r--r--apps/plugins/cube.c12
-rw-r--r--apps/plugins/demystify.c20
-rw-r--r--apps/plugins/dice.c7
-rw-r--r--apps/plugins/fft/fft.c36
-rw-r--r--apps/plugins/fire.c9
-rw-r--r--apps/plugins/fireworks.c9
-rw-r--r--apps/plugins/flipit.c4
-rw-r--r--apps/plugins/fractals/fractal.h2
-rw-r--r--apps/plugins/imageviewer/imageviewer.c30
-rw-r--r--apps/plugins/imageviewer/imageviewer_button.h6
-rw-r--r--apps/plugins/jackpot.c9
-rw-r--r--apps/plugins/jewels.c4
-rw-r--r--apps/plugins/lamp.c7
-rw-r--r--apps/plugins/logo.c14
-rw-r--r--apps/plugins/matrix.c9
-rw-r--r--apps/plugins/maze.c15
-rw-r--r--apps/plugins/mazezam.c4
-rw-r--r--apps/plugins/metronome.c6
-rw-r--r--apps/plugins/mosaique.c11
-rw-r--r--apps/plugins/open_plugins.c1
-rw-r--r--apps/plugins/oscilloscope.c10
-rw-r--r--apps/plugins/pegbox.c4
-rw-r--r--apps/plugins/periodic_table.c1
-rw-r--r--apps/plugins/pictureflow/pictureflow.c3
-rw-r--r--apps/plugins/pitch_detector.c5
-rw-r--r--apps/plugins/plasma.c9
-rw-r--r--apps/plugins/robotfindskitten.c6
-rw-r--r--apps/plugins/rockblox.c3
-rw-r--r--apps/plugins/rockblox1d.c7
-rw-r--r--apps/plugins/rocklife.c6
-rw-r--r--apps/plugins/sliding_puzzle.c4
-rw-r--r--apps/plugins/snake.c4
-rw-r--r--apps/plugins/snake2.c4
-rw-r--r--apps/plugins/snow.c8
-rw-r--r--apps/plugins/sokoban.c2
-rw-r--r--apps/plugins/solitaire.c2
-rw-r--r--apps/plugins/star.c4
-rw-r--r--apps/plugins/starfield.c10
-rw-r--r--apps/plugins/stats.c10
-rw-r--r--apps/plugins/wormlet.c2
-rw-r--r--apps/plugins/xobox.c4
-rw-r--r--manual/plugins/2048.tex3
-rw-r--r--manual/plugins/alarmclock.tex6
-rw-r--r--manual/plugins/bounce.tex6
-rw-r--r--manual/plugins/bubbles.tex6
-rw-r--r--manual/plugins/calendar.tex6
-rw-r--r--manual/plugins/chessbox.tex2
-rw-r--r--manual/plugins/clix.tex3
-rw-r--r--manual/plugins/clock.tex6
-rw-r--r--manual/plugins/codebuster.tex3
-rw-r--r--manual/plugins/cube.tex4
-rw-r--r--manual/plugins/demystify.tex6
-rw-r--r--manual/plugins/dice.tex3
-rw-r--r--manual/plugins/fire.tex3
-rw-r--r--manual/plugins/flipit.tex2
-rw-r--r--manual/plugins/fractals.tex2
-rw-r--r--manual/plugins/imageviewer.tex4
-rw-r--r--manual/plugins/jackpot.tex3
-rw-r--r--manual/plugins/jewels.tex4
-rw-r--r--manual/plugins/lamp.tex3
-rw-r--r--manual/plugins/logo.tex6
-rw-r--r--manual/plugins/maze.tex16
-rw-r--r--manual/plugins/mazezam.tex8
-rw-r--r--manual/plugins/metronome.tex3
-rw-r--r--manual/plugins/mosaic.tex7
-rw-r--r--manual/plugins/oscilloscope.tex4
-rw-r--r--manual/plugins/pegbox.tex2
-rw-r--r--manual/plugins/periodic_table.tex3
-rw-r--r--manual/plugins/pictureflow.tex6
-rw-r--r--manual/plugins/plasma.tex5
-rw-r--r--manual/plugins/robotfindskitten.tex3
-rw-r--r--manual/plugins/rockblox.tex2
-rw-r--r--manual/plugins/rockblox1d.tex3
-rw-r--r--manual/plugins/rocklife.tex3
-rw-r--r--manual/plugins/sliding.tex2
-rw-r--r--manual/plugins/snake.tex1
-rw-r--r--manual/plugins/snake2.tex2
-rw-r--r--manual/plugins/snow.tex5
-rw-r--r--manual/plugins/sokoban.tex2
-rw-r--r--manual/plugins/solitaire.tex2
-rw-r--r--manual/plugins/star.tex2
-rw-r--r--manual/plugins/starfield.tex6
-rw-r--r--manual/plugins/stats.tex5
-rw-r--r--manual/plugins/wormlet.tex4
-rw-r--r--manual/plugins/xobox.tex2
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}