summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/battery_test.c7
-rw-r--r--apps/plugins/bounce.c24
-rw-r--r--apps/plugins/brickmania.c11
-rwxr-xr-xapps/plugins/bubbles.c10
-rw-r--r--apps/plugins/calculator.c5
-rw-r--r--apps/plugins/chessbox/chessbox.c8
-rw-r--r--apps/plugins/chip8.c5
-rw-r--r--apps/plugins/clock.c27
-rw-r--r--apps/plugins/cube.c4
-rw-r--r--apps/plugins/demystify.c7
-rw-r--r--apps/plugins/dice.c6
-rw-r--r--apps/plugins/fire.c5
-rw-r--r--apps/plugins/flipit.c5
-rw-r--r--apps/plugins/grayscale.c6
-rw-r--r--apps/plugins/jewels.c7
-rw-r--r--apps/plugins/jpeg.c9
-rw-r--r--apps/plugins/mandelbrot.c5
-rw-r--r--apps/plugins/midiplay.c6
-rw-r--r--apps/plugins/minesweeper.c9
-rw-r--r--apps/plugins/mosaique.c5
-rw-r--r--apps/plugins/oscilloscope.c4
-rw-r--r--apps/plugins/plasma.c6
-rw-r--r--apps/plugins/pong.c7
-rw-r--r--apps/plugins/sliding_puzzle.c5
-rw-r--r--apps/plugins/snake.c11
-rw-r--r--apps/plugins/snake2.c4
-rw-r--r--apps/plugins/snow.c9
-rw-r--r--apps/plugins/sokoban.c5
-rw-r--r--apps/plugins/solitaire.c13
-rwxr-xr-xapps/plugins/spacerocks.c7
-rw-r--r--apps/plugins/splitedit.c15
-rw-r--r--apps/plugins/star.c7
-rw-r--r--apps/plugins/starfield.c7
-rw-r--r--apps/plugins/stopwatch.c6
-rw-r--r--apps/plugins/text_editor.c5
-rw-r--r--apps/plugins/viewer.c5
-rw-r--r--apps/plugins/vu_meter.c5
-rw-r--r--apps/plugins/wormlet.c5
-rw-r--r--apps/plugins/xobox.c5
39 files changed, 276 insertions, 26 deletions
diff --git a/apps/plugins/battery_test.c b/apps/plugins/battery_test.c
index 0d38b3281c..cbea016d13 100644
--- a/apps/plugins/battery_test.c
+++ b/apps/plugins/battery_test.c
@@ -41,6 +41,7 @@ PLUGIN_HEADER
41#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 41#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
42 (CONFIG_KEYPAD == IRIVER_H300_PAD) 42 (CONFIG_KEYPAD == IRIVER_H300_PAD)
43#define BATTERY_TEST_QUIT BUTTON_OFF 43#define BATTERY_TEST_QUIT BUTTON_OFF
44#define BATTERY_TEST_RC_QUIT BUTTON_RC_STOP
44#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 45#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
45#define BATTERY_TEST_QUIT BUTTON_PLAY 46#define BATTERY_TEST_QUIT BUTTON_PLAY
46#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 47#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
@@ -123,7 +124,11 @@ enum plugin_status loop(void)
123 rb->button_clear_queue(); 124 rb->button_clear_queue();
124 button = rb->button_get_w_tmo(HZ * buffersize / 16000 - HZ*10); 125 button = rb->button_get_w_tmo(HZ * buffersize / 16000 - HZ*10);
125 126
126 if (button == BATTERY_TEST_QUIT) 127 if (button == BATTERY_TEST_QUIT
128#ifdef BATTERY_TEST_RC_QUIT
129 || button == BATTERY_TEST_RC_QUIT
130#endif
131 )
127 return PLUGIN_OK; 132 return PLUGIN_OK;
128 133
129 if (rb->default_event_handler(button) == SYS_USB_CONNECTED) 134 if (rb->default_event_handler(button) == SYS_USB_CONNECTED)
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index b69f64ee85..c0c757c009 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -52,6 +52,8 @@ PLUGIN_HEADER
52#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL) 52#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
53#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL) 53#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
54 54
55#define BOUNCE_RC_QUIT (BUTTON_RC_STOP | BUTTON_REL)
56
55#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 57#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
56 (CONFIG_KEYPAD == IPOD_3G_PAD) 58 (CONFIG_KEYPAD == IPOD_3G_PAD)
57#define BOUNCE_UP BUTTON_SCROLL_BACK 59#define BOUNCE_UP BUTTON_SCROLL_BACK
@@ -337,15 +339,19 @@ static int scrollit(void)
337 while(1) 339 while(1)
338 { 340 {
339 b = rb->button_get_w_tmo(HZ/10); 341 b = rb->button_get_w_tmo(HZ/10);
340 if ( b == BOUNCE_QUIT ) 342 switch(b)
341 return 0; 343 {
342 344#ifdef BOUNCE_RC_QUIT
343 if ( b == BOUNCE_MODE ) 345 case BOUNCE_RC_QUIT :
344 return 1; 346#endif
345 347 case BOUNCE_QUIT :
346 if ( rb->default_event_handler(b) == SYS_USB_CONNECTED ) 348 return 0;
347 return -1; 349 case BOUNCE_MODE :
348 350 return 1;
351 default:
352 if ( rb->default_event_handler(b) == SYS_USB_CONNECTED )
353 return -1;
354 }
349 rb->lcd_clear_display(); 355 rb->lcd_clear_display();
350 356
351 for(i=0, yy=y, xx=x; i< LETTERS_ON_SCREEN; i++) { 357 for(i=0, yy=y, xx=x; i< LETTERS_ON_SCREEN; i++) {
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index b5d0e47445..2bd01e74ed 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -32,6 +32,8 @@ PLUGIN_HEADER
32#define UP BUTTON_UP 32#define UP BUTTON_UP
33#define DOWN BUTTON_DOWN 33#define DOWN BUTTON_DOWN
34 34
35#define RC_QUIT BUTTON_RC_STOP
36
35/* Only iPod have scroll events */ 37/* Only iPod have scroll events */
36#define SCROLL_FWD(x) (0) 38#define SCROLL_FWD(x) (0)
37#define SCROLL_BACK(x) (0) 39#define SCROLL_BACK(x) (0)
@@ -971,6 +973,9 @@ int game_menu(int when)
971 return 3; 973 return 3;
972 } 974 }
973 break; 975 break;
976#ifdef RC_QUIT
977 case RC_QUIT:
978#endif
974 case QUIT: 979 case QUIT:
975 return 3; 980 return 3;
976 break; 981 break;
@@ -1062,6 +1067,9 @@ int help(int when)
1062 1067
1063 button=rb->button_get(true); 1068 button=rb->button_get(true);
1064 switch (button) { 1069 switch (button) {
1070#ifdef RC_QUIT
1071 case RC_QUIT:
1072#endif
1065 case QUIT: 1073 case QUIT:
1066 switch (game_menu(when)) { 1074 switch (game_menu(when)) {
1067 case 0: 1075 case 0:
@@ -1810,6 +1818,9 @@ int game_loop(void)
1810 con_game=0; 1818 con_game=0;
1811 } 1819 }
1812 break; 1820 break;
1821#ifdef RC_QUIT
1822 case RC_QUIT:
1823#endif
1813 case QUIT: 1824 case QUIT:
1814 switch(game_menu(1)) { 1825 switch(game_menu(1)) {
1815 case 0: 1826 case 0:
diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c
index 05e618e525..f2676f7ff1 100755
--- a/apps/plugins/bubbles.c
+++ b/apps/plugins/bubbles.c
@@ -64,6 +64,8 @@ PLUGIN_HEADER
64#define BUBBLES_SELECT BUTTON_SELECT 64#define BUBBLES_SELECT BUTTON_SELECT
65#define BUBBLES_RESUME BUTTON_MODE 65#define BUBBLES_RESUME BUTTON_MODE
66 66
67#define BUBBLES_RC_QUIT BUTTON_RC_STOP
68
67#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) 69#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
68#define BUBBLES_LEFT BUTTON_SCROLL_BACK 70#define BUBBLES_LEFT BUTTON_SCROLL_BACK
69#define BUBBLES_RIGHT BUTTON_SCROLL_FWD 71#define BUBBLES_RIGHT BUTTON_SCROLL_FWD
@@ -2407,7 +2409,9 @@ static int bubbles_handlebuttons(struct game_context* bb, bool animblock,
2407 return BB_END; 2409 return BB_END;
2408 } 2410 }
2409 break; 2411 break;
2410 2412#ifdef BUBBLES_RC_QUIT
2413 case BUBBLES_RC_QUIT:
2414#endif
2411 case BUBBLES_QUIT: /* end the game */ 2415 case BUBBLES_QUIT: /* end the game */
2412 return BB_END; 2416 return BB_END;
2413 2417
@@ -2534,7 +2538,9 @@ static int bubbles(struct game_context* bb) {
2534 bb->level = startlevel; 2538 bb->level = startlevel;
2535 startgame = true; 2539 startgame = true;
2536 break; 2540 break;
2537 2541#ifdef BUBBLES_RC_QUIT
2542 case BUBBLES_RC_QUIT:
2543#endif
2538 case BUBBLES_QUIT: /* quit program */ 2544 case BUBBLES_QUIT: /* quit program */
2539 if(showscores) { 2545 if(showscores) {
2540 showscores = false; 2546 showscores = false;
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 0cce1860cb..5194f9127b 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -134,6 +134,8 @@ PLUGIN_HEADER
134#define CALCULATOR_OPERATORS BUTTON_MODE 134#define CALCULATOR_OPERATORS BUTTON_MODE
135#define CALCULATOR_CLEAR BUTTON_REC 135#define CALCULATOR_CLEAR BUTTON_REC
136 136
137#define CALCULATOR_RC_QUIT BUTTON_RC_STOP
138
137#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 139#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
138 (CONFIG_KEYPAD == IPOD_3G_PAD) 140 (CONFIG_KEYPAD == IPOD_3G_PAD)
139 141
@@ -1402,6 +1404,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
1402 case CALCULATOR_DOWN | BUTTON_REPEAT: 1404 case CALCULATOR_DOWN | BUTTON_REPEAT:
1403 moveButton(); 1405 moveButton();
1404 break; 1406 break;
1407#ifdef CALCULATOR_RC_QUIT
1408 case CALCULATOR_RC_QUIT:
1409#endif
1405 case CALCULATOR_QUIT: 1410 case CALCULATOR_QUIT:
1406 calStatus = cal_exit; 1411 calStatus = cal_exit;
1407 printResult(); 1412 printResult();
diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c
index edebbf234b..5f2ed9a467 100644
--- a/apps/plugins/chessbox/chessbox.c
+++ b/apps/plugins/chessbox/chessbox.c
@@ -73,6 +73,8 @@ PLUGIN_HEADER
73#define CB_RESTART BUTTON_REC 73#define CB_RESTART BUTTON_REC
74#define CB_QUIT BUTTON_OFF 74#define CB_QUIT BUTTON_OFF
75 75
76#define CB_RC_QUIT BUTTON_RC_STOP
77
76#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 78#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
77#define CB_SELECT BUTTON_SELECT 79#define CB_SELECT BUTTON_SELECT
78#define CB_UP BUTTON_UP 80#define CB_UP BUTTON_UP
@@ -280,6 +282,9 @@ void cb_wt_callback ( void ) {
280 wt_command = COMMAND_NOP; 282 wt_command = COMMAND_NOP;
281 button = rb->button_get(false); 283 button = rb->button_get(false);
282 switch (button) { 284 switch (button) {
285#ifdef CB_RC_QUIT
286 case CB_RC_QUIT:
287#endif
283 case CB_QUIT: 288 case CB_QUIT:
284 wt_command = COMMAND_QUIT; 289 wt_command = COMMAND_QUIT;
285 timeout = true; 290 timeout = true;
@@ -486,6 +491,9 @@ struct cb_command cb_getcommand (void) {
486 while ( true ) { 491 while ( true ) {
487 button = rb->button_get(true); 492 button = rb->button_get(true);
488 switch (button) { 493 switch (button) {
494#ifdef CB_RC_QUIT
495 case CB_RC_QUIT:
496#endif
489 case CB_QUIT: 497 case CB_QUIT:
490 result.type = COMMAND_QUIT; 498 result.type = COMMAND_QUIT;
491 return result; 499 return result;
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 2a70369523..3facd04be1 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -976,6 +976,8 @@ STATIC void chip8 (void)
976#define CHIP8_KEY6 BUTTON_RIGHT 976#define CHIP8_KEY6 BUTTON_RIGHT
977#define CHIP8_KEY8 BUTTON_DOWN 977#define CHIP8_KEY8 BUTTON_DOWN
978 978
979#define CHIP8_RC_OFF BUTTON_RC_STOP
980
979#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 981#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
980 (CONFIG_KEYPAD == IPOD_3G_PAD) 982 (CONFIG_KEYPAD == IPOD_3G_PAD)
981#define CHIP8_OFF BUTTON_MENU 983#define CHIP8_OFF BUTTON_MENU
@@ -1106,6 +1108,9 @@ static void chip8_keyboard(void)
1106 int button = rb->button_get(false); 1108 int button = rb->button_get(false);
1107 switch (button) 1109 switch (button)
1108 { 1110 {
1111#ifdef CHIP8_RC_OFF
1112 case CHIP8_RC_OFF:
1113#endif
1109 case CHIP8_OFF: /* Abort Emulator */ 1114 case CHIP8_OFF: /* Abort Emulator */
1110 chip8_running = 0; 1115 chip8_running = 0;
1111 break; 1116 break;
diff --git a/apps/plugins/clock.c b/apps/plugins/clock.c
index 81caafcf53..756a83dd16 100644
--- a/apps/plugins/clock.c
+++ b/apps/plugins/clock.c
@@ -155,6 +155,8 @@ PLUGIN_HEADER
155#define CHANGE_UP_BUTTON BUTTON_RIGHT 155#define CHANGE_UP_BUTTON BUTTON_RIGHT
156#define CHANGE_DOWN_BUTTON BUTTON_LEFT 156#define CHANGE_DOWN_BUTTON BUTTON_LEFT
157 157
158#define EXIT_RC_BUTTON BUTTON_RC_STOP
159
158#define YESTEXT "Select/Navi" 160#define YESTEXT "Select/Navi"
159#define NAVI_BUTTON_TEXT_LEFT "LEFT" 161#define NAVI_BUTTON_TEXT_LEFT "LEFT"
160#define NAVI_BUTTON_TEXT_RIGHT "RIGHT" 162#define NAVI_BUTTON_TEXT_RIGHT "RIGHT"
@@ -1778,6 +1780,9 @@ bool help_screen(void)
1778 1780
1779 switch(rb->button_get_w_tmo(HZ/4)) 1781 switch(rb->button_get_w_tmo(HZ/4))
1780 { 1782 {
1783#ifdef EXIT_RC_BUTTON
1784 case EXIT_RC_BUTTON:
1785#endif
1781 case EXIT_BUTTON: 1786 case EXIT_BUTTON:
1782 done = true; 1787 done = true;
1783 break; 1788 break;
@@ -2061,7 +2066,9 @@ void settings_screen(void)
2061 case CHANGE_UP_BUTTON: 2066 case CHANGE_UP_BUTTON:
2062 change_setting(cursorpos-1, 1, false); 2067 change_setting(cursorpos-1, 1, false);
2063 break; 2068 break;
2064 2069#ifdef EXIT_RC_BUTTON
2070 case EXIT_RC_BUTTON
2071#endif
2065 case EXIT_BUTTON: 2072 case EXIT_BUTTON:
2066 case MENU_BUTTON: 2073 case MENU_BUTTON:
2067 done = true; 2074 done = true;
@@ -2107,6 +2114,9 @@ void confirm_reset(void)
2107#endif 2114#endif
2108 case CHANGE_DOWN_BUTTON: 2115 case CHANGE_DOWN_BUTTON:
2109 case CHANGE_UP_BUTTON: 2116 case CHANGE_UP_BUTTON:
2117#ifdef EXIT_RC_BUTTON
2118 case EXIT_RC_BUTTON
2119#endif
2110 case EXIT_BUTTON: 2120 case EXIT_BUTTON:
2111 ask_reset_done = true; 2121 ask_reset_done = true;
2112 break; 2122 break;
@@ -2148,6 +2158,9 @@ void general_settings(void)
2148 2158
2149 switch(rb->button_get_w_tmo(HZ/4)) 2159 switch(rb->button_get_w_tmo(HZ/4))
2150 { 2160 {
2161#ifdef EXIT_RC_BUTTON
2162 case EXIT_RC_BUTTON
2163#endif
2151 case EXIT_BUTTON: 2164 case EXIT_BUTTON:
2152 case MENU_BUTTON: 2165 case MENU_BUTTON:
2153 if(settings.general[general_savesetting] == 2) 2166 if(settings.general[general_savesetting] == 2)
@@ -2495,6 +2508,9 @@ void select_mode(void)
2495 done = true; 2508 done = true;
2496 break; 2509 break;
2497 2510
2511#ifdef EXIT_RC_BUTTON
2512 case EXIT_RC_BUTTON
2513#endif
2498 case EXIT_BUTTON: 2514 case EXIT_BUTTON:
2499 case CHANGE_DOWN_BUTTON: 2515 case CHANGE_DOWN_BUTTON:
2500 done = true; 2516 done = true;
@@ -2825,6 +2841,9 @@ void counter_settings(void)
2825 } 2841 }
2826 break; 2842 break;
2827 2843
2844#ifdef EXIT_RC_BUTTON
2845 case EXIT_RC_BUTTON
2846#endif
2828 case EXIT_BUTTON: 2847 case EXIT_BUTTON:
2829 current = counting_up; 2848 current = counting_up;
2830 if(current != original) 2849 if(current != original)
@@ -2947,6 +2966,9 @@ void main_menu(void)
2947 } 2966 }
2948 break; 2967 break;
2949 2968
2969#ifdef EXIT_RC_BUTTON
2970 case EXIT_RC_BUTTON
2971#endif
2950 case EXIT_BUTTON: 2972 case EXIT_BUTTON:
2951 case CHANGE_DOWN_BUTTON: 2973 case CHANGE_DOWN_BUTTON:
2952#ifdef ALT_MENU_BUTTON 2974#ifdef ALT_MENU_BUTTON
@@ -3065,6 +3087,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
3065 button = rb->button_get_w_tmo(HZ/10); 3087 button = rb->button_get_w_tmo(HZ/10);
3066 switch (button) 3088 switch (button)
3067 { 3089 {
3090#ifdef EXIT_RC_BUTTON
3091 case EXIT_RC_BUTTON
3092#endif
3068 case EXIT_BUTTON: /* save and exit */ 3093 case EXIT_BUTTON: /* save and exit */
3069 cleanup(NULL); 3094 cleanup(NULL);
3070 return PLUGIN_OK; 3095 return PLUGIN_OK;
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 1db8b24b9c..c7f7b63243 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -82,6 +82,7 @@ PLUGIN_HEADER
82#define CUBE_PAUSE (BUTTON_ON | BUTTON_REL) 82#define CUBE_PAUSE (BUTTON_ON | BUTTON_REL)
83#define CUBE_HIGHSPEED BUTTON_SELECT 83#define CUBE_HIGHSPEED BUTTON_SELECT
84 84
85#define CUBE_RC_QUIT BUTTON_RC_STOP
85#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 86#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
86 (CONFIG_KEYPAD == IPOD_3G_PAD) 87 (CONFIG_KEYPAD == IPOD_3G_PAD)
87#define CUBE_QUIT BUTTON_MENU 88#define CUBE_QUIT BUTTON_MENU
@@ -773,6 +774,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
773 t_disp = DISP_TIME; 774 t_disp = DISP_TIME;
774 break; 775 break;
775 776
777#ifdef CUBE_RC_QUIT
778 case CUBE_RC_QUIT:
779#endif
776 case CUBE_QUIT: 780 case CUBE_QUIT:
777 exit = true; 781 exit = true;
778 break; 782 break;
diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c
index e86482f837..4ebb6496ca 100644
--- a/apps/plugins/demystify.c
+++ b/apps/plugins/demystify.c
@@ -51,6 +51,10 @@ PLUGIN_HEADER
51#define DEMYSTIFY_REMOVE_POLYGON BUTTON_DOWN 51#define DEMYSTIFY_REMOVE_POLYGON BUTTON_DOWN
52#define DEMYSTIFY_INCREASE_SPEED BUTTON_RIGHT 52#define DEMYSTIFY_INCREASE_SPEED BUTTON_RIGHT
53#define DEMYSTIFY_DECREASE_SPEED BUTTON_LEFT 53#define DEMYSTIFY_DECREASE_SPEED BUTTON_LEFT
54#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
55 (CONFIG_KEYPAD == IRIVER_H300_PAD)
56#define DEMYSTIFY_RC_QUIT BUTTON_RC_STOP
57#endif
54#endif 58#endif
55 59
56#define DEFAULT_WAIT_TIME 3 60#define DEFAULT_WAIT_TIME 3
@@ -315,6 +319,9 @@ int plugin_main(void)
315 button = rb->button_get(false); 319 button = rb->button_get(false);
316 switch(button) 320 switch(button)
317 { 321 {
322#ifdef DEMYSTIFY_RC_QUIT
323 case DEMYSTIFY_RC_QUIT :
324#endif
318 case (DEMYSTIFY_QUIT): 325 case (DEMYSTIFY_QUIT):
319 cleanup(NULL); 326 cleanup(NULL);
320 return PLUGIN_OK; 327 return PLUGIN_OK;
diff --git a/apps/plugins/dice.c b/apps/plugins/dice.c
index 7d4745ed00..c20b3853a8 100644
--- a/apps/plugins/dice.c
+++ b/apps/plugins/dice.c
@@ -87,6 +87,8 @@ use stop to exit
87#define DICE_BUTTON_LEFT BUTTON_LEFT 87#define DICE_BUTTON_LEFT BUTTON_LEFT
88#define DICE_BUTTON_RIGHT BUTTON_RIGHT 88#define DICE_BUTTON_RIGHT BUTTON_RIGHT
89 89
90#define DICE_BUTTON_RC_OFF BUTTON_RC_STOP
91
90#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) 92#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD)
91#define DICE_BUTTON_UP BUTTON_SCROLL_FWD 93#define DICE_BUTTON_UP BUTTON_SCROLL_FWD
92#define DICE_BUTTON_DOWN BUTTON_SCROLL_BACK 94#define DICE_BUTTON_DOWN BUTTON_SCROLL_BACK
@@ -205,7 +207,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
205 print_dice(dice, total); 207 print_dice(dice, total);
206 } 208 }
207 break; 209 break;
208 210#ifdef DICE_BUTTON_RC_OFF
211 case DICE_BUTTON_RC_OFF:
212#endif
209 case DICE_BUTTON_OFF: 213 case DICE_BUTTON_OFF:
210 selected = EXIT; 214 selected = EXIT;
211 break; 215 break;
diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c
index e0663622e3..7e0c3ba4f5 100644
--- a/apps/plugins/fire.c
+++ b/apps/plugins/fire.c
@@ -49,6 +49,8 @@ static unsigned char draw_buffer[8*LCD_WIDTH];
49#define FIRE_INCREASE_MULT BUTTON_UP 49#define FIRE_INCREASE_MULT BUTTON_UP
50#define FIRE_DECREASE_MULT BUTTON_DOWN 50#define FIRE_DECREASE_MULT BUTTON_DOWN
51 51
52#define FIRE_RC_QUIT BUTTON_RC_STOP
53
52#elif CONFIG_KEYPAD == RECORDER_PAD 54#elif CONFIG_KEYPAD == RECORDER_PAD
53#define FIRE_QUIT BUTTON_OFF 55#define FIRE_QUIT BUTTON_OFF
54#define FIRE_SWITCH_FLAMES_TYPE BUTTON_ON 56#define FIRE_SWITCH_FLAMES_TYPE BUTTON_ON
@@ -357,6 +359,9 @@ int main(void)
357 359
358 switch(button) 360 switch(button)
359 { 361 {
362#ifdef FIRE_RC_QUIT
363 case FIRE_RC_QUIT :
364#endif
360 case(FIRE_QUIT): 365 case(FIRE_QUIT):
361 cleanup(NULL); 366 cleanup(NULL);
362 return PLUGIN_OK; 367 return PLUGIN_OK;
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 164949b6dd..4cc7959349 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -52,6 +52,8 @@ PLUGIN_HEADER
52#define FLIPIT_TOGGLE_PRE BUTTON_SELECT 52#define FLIPIT_TOGGLE_PRE BUTTON_SELECT
53#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL) 53#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
54 54
55#define FLIPIT_RC_QUIT BUTTON_RC_STOP
56
55#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 57#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
56 (CONFIG_KEYPAD == IPOD_3G_PAD) 58 (CONFIG_KEYPAD == IPOD_3G_PAD)
57 59
@@ -336,6 +338,9 @@ static bool flipit_loop(void) {
336 while(true) { 338 while(true) {
337 button = rb->button_get(true); 339 button = rb->button_get(true);
338 switch (button) { 340 switch (button) {
341#ifdef FLIPIT_RC_QUIT
342 case FLIPIT_RC_QUIT:
343#endif
339 case FLIPIT_QUIT: 344 case FLIPIT_QUIT:
340 /* get out of here */ 345 /* get out of here */
341 return PLUGIN_OK; 346 return PLUGIN_OK;
diff --git a/apps/plugins/grayscale.c b/apps/plugins/grayscale.c
index 182c081446..162f8d7b21 100644
--- a/apps/plugins/grayscale.c
+++ b/apps/plugins/grayscale.c
@@ -51,6 +51,8 @@ PLUGIN_HEADER
51#define GRAYSCALE_RIGHT BUTTON_RIGHT 51#define GRAYSCALE_RIGHT BUTTON_RIGHT
52#define GRAYSCALE_OFF BUTTON_OFF 52#define GRAYSCALE_OFF BUTTON_OFF
53 53
54#define GRAYSCALE_RC_OFF BUTTON_RC_STOP
55
54#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) 56#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
55#define GRAYSCALE_SHIFT (BUTTON_SELECT | BUTTON_REL) 57#define GRAYSCALE_SHIFT (BUTTON_SELECT | BUTTON_REL)
56#define GRAYSCALE_UP BUTTON_MENU 58#define GRAYSCALE_UP BUTTON_MENU
@@ -315,7 +317,9 @@ int main(void)
315 gray_scroll_down(scroll_amount); /* scroll down */ 317 gray_scroll_down(scroll_amount); /* scroll down */
316 gray_update(); 318 gray_update();
317 break; 319 break;
318 320#ifdef GRAYSCALE_RC_OFF
321 case GRAYSCALE_RC_OFF:
322#endif
319 case GRAYSCALE_OFF: 323 case GRAYSCALE_OFF:
320 324
321 cleanup(NULL); 325 cleanup(NULL);
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 02cb8e0b36..02516d72e9 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -51,6 +51,7 @@ PLUGIN_HEADER
51#define JEWELS_SELECT BUTTON_SELECT 51#define JEWELS_SELECT BUTTON_SELECT
52#define JEWELS_CANCEL BUTTON_OFF 52#define JEWELS_CANCEL BUTTON_OFF
53 53
54#define JEWELS_RC_CANCEL BUTTON_RC_STOP
54#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) 55#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
55#define JEWELS_SCROLLWHEEL 56#define JEWELS_SCROLLWHEEL
56#define JEWELS_UP BUTTON_MENU 57#define JEWELS_UP BUTTON_MENU
@@ -1234,6 +1235,9 @@ static int jewels_main(struct game_context* bj) {
1234 break; 1235 break;
1235 1236
1236#ifdef JEWELS_CANCEL 1237#ifdef JEWELS_CANCEL
1238#ifdef JEWELS_RC_CANCEL
1239 case JEWELS_RC_CANCEL:
1240#endif
1237 case JEWELS_CANCEL: 1241 case JEWELS_CANCEL:
1238 return BJ_QUIT; 1242 return BJ_QUIT;
1239#endif 1243#endif
@@ -1415,6 +1419,9 @@ static int jewels_main(struct game_context* bj) {
1415 break; 1419 break;
1416 1420
1417#ifdef JEWELS_CANCEL 1421#ifdef JEWELS_CANCEL
1422#ifdef JEWELS_RC_CANCEL
1423 case JEWELS_RC_CANCEL:
1424#endif
1418 case JEWELS_CANCEL: /* end game */ 1425 case JEWELS_CANCEL: /* end game */
1419 return BJ_END; 1426 return BJ_END;
1420 break; 1427 break;
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index c36eb8a0ee..5656aee7eb 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -74,6 +74,7 @@ PLUGIN_HEADER
74#define JPEG_PREVIOUS BUTTON_ON 74#define JPEG_PREVIOUS BUTTON_ON
75#endif 75#endif
76#define JPEG_MENU BUTTON_OFF 76#define JPEG_MENU BUTTON_OFF
77#define JPEG_RC_MENU BUTTON_RC_STOP
77 78
78#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) 79#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
79#define JPEG_ZOOM_IN BUTTON_SCROLL_FWD 80#define JPEG_ZOOM_IN BUTTON_SCROLL_FWD
@@ -2287,7 +2288,9 @@ int scroll_bmp(struct t_disp* pdisp)
2287#endif 2288#endif
2288 return ZOOM_OUT; 2289 return ZOOM_OUT;
2289 break; 2290 break;
2290 2291#ifdef JPEG_RC_MENU
2292 case JPEG_RC_MENU:
2293#endif
2291 case JPEG_MENU: 2294 case JPEG_MENU:
2292#ifdef USEGSLIB 2295#ifdef USEGSLIB
2293 gray_show(false); /* switch off grayscale overlay */ 2296 gray_show(false); /* switch off grayscale overlay */
@@ -2559,7 +2562,9 @@ int load_and_show(char* filename)
2559 rb->plugin_get_audio_buffer(&buf_images_size); 2562 rb->plugin_get_audio_buffer(&buf_images_size);
2560 /*try again this file, now using the audio buffer */ 2563 /*try again this file, now using the audio buffer */
2561 return PLUGIN_OTHER; 2564 return PLUGIN_OTHER;
2562 2565#ifdef JPEG_RC_MENU
2566 case JPEG_RC_MENU:
2567#endif
2563 case JPEG_MENU: 2568 case JPEG_MENU:
2564 return PLUGIN_OK; 2569 return PLUGIN_OK;
2565 2570
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index ac33e906de..bd0994a5ba 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -66,6 +66,8 @@ PLUGIN_HEADER
66#define MANDELBROT_MAXITER_DEC (BUTTON_ON | BUTTON_LEFT) 66#define MANDELBROT_MAXITER_DEC (BUTTON_ON | BUTTON_LEFT)
67#define MANDELBROT_RESET BUTTON_REC 67#define MANDELBROT_RESET BUTTON_REC
68 68
69#define MANDELBROT_RC_QUIT BUTTON_RC_STOP
70
69#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 71#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
70 (CONFIG_KEYPAD == IPOD_3G_PAD) 72 (CONFIG_KEYPAD == IPOD_3G_PAD)
71#define MANDELBROT_QUIT (BUTTON_SELECT | BUTTON_MENU) 73#define MANDELBROT_QUIT (BUTTON_SELECT | BUTTON_MENU)
@@ -516,6 +518,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
516 518
517 button = rb->button_get(true); 519 button = rb->button_get(true);
518 switch (button) { 520 switch (button) {
521#ifdef MANDELBROT_RC_QUIT
522 case MANDELBROT_RC_QUIT:
523#endif
519 case MANDELBROT_QUIT: 524 case MANDELBROT_QUIT:
520#ifdef USEGSLIB 525#ifdef USEGSLIB
521 gray_release(); 526 gray_release();
diff --git a/apps/plugins/midiplay.c b/apps/plugins/midiplay.c
index 4da4f05ccd..1cdc438d88 100644
--- a/apps/plugins/midiplay.c
+++ b/apps/plugins/midiplay.c
@@ -40,6 +40,8 @@ PLUGIN_HEADER
40#define BTN_UP BUTTON_UP 40#define BTN_UP BUTTON_UP
41#define BTN_DOWN BUTTON_DOWN 41#define BTN_DOWN BUTTON_DOWN
42 42
43#define BTN_RC_QUIT BUTTON_RC_STOP
44
43#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) 45#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
44#define BTN_QUIT (BUTTON_SELECT | BUTTON_MENU) 46#define BTN_QUIT (BUTTON_SELECT | BUTTON_MENU)
45#define BTN_RIGHT BUTTON_RIGHT 47#define BTN_RIGHT BUTTON_RIGHT
@@ -300,7 +302,9 @@ int midimain(void * filename)
300 tick(); 302 tick();
301 break; 303 break;
302 } 304 }
303 305#ifdef BTN_RC_QUIT
306 case BTN_RC_QUIT:
307#endif
304 case BTN_QUIT: 308 case BTN_QUIT:
305 quit=1; 309 quit=1;
306 } 310 }
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index bdb6fd70f5..0b4f57106d 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -71,6 +71,8 @@ PLUGIN_HEADER
71#define MINESWP_RIGHT (BUTTON_ON | BUTTON_RIGHT) 71#define MINESWP_RIGHT (BUTTON_ON | BUTTON_RIGHT)
72#define MINESWP_LEFT (BUTTON_ON | BUTTON_LEFT) 72#define MINESWP_LEFT (BUTTON_ON | BUTTON_LEFT)
73 73
74#define MINESWP_RC_QUIT BUTTON_RC_STOP
75
74#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 76#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
75 (CONFIG_KEYPAD == IPOD_3G_PAD) 77 (CONFIG_KEYPAD == IPOD_3G_PAD)
76#define MINESWP_UP BUTTON_SCROLL_BACK 78#define MINESWP_UP BUTTON_SCROLL_BACK
@@ -506,7 +508,9 @@ int minesweeper(void)
506 case MINESWP_START:/* start playing */ 508 case MINESWP_START:/* start playing */
507 i = 1; 509 i = 1;
508 break; 510 break;
509 511#ifdef MINESWP_RC_QUIT
512 case MINESWP_RC_QUIT:
513#endif
510 case MINESWP_QUIT:/* quit program */ 514 case MINESWP_QUIT:/* quit program */
511 return MINESWEEPER_QUIT; 515 return MINESWEEPER_QUIT;
512 516
@@ -580,6 +584,9 @@ int minesweeper(void)
580 button = rb->button_get(true); 584 button = rb->button_get(true);
581 switch(button){ 585 switch(button){
582 /* quit minesweeper (you really shouldn't use this button ...) */ 586 /* quit minesweeper (you really shouldn't use this button ...) */
587#ifdef MINESWP_RC_QUIT
588 case MINESWP_RC_QUIT:
589#endif
583 case MINESWP_QUIT: 590 case MINESWP_QUIT:
584 return MINESWEEPER_QUIT; 591 return MINESWEEPER_QUIT;
585 592
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 7f3dc65aad..b1f148100b 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -53,6 +53,8 @@ PLUGIN_HEADER
53#define MOSAIQUE_SPEED BUTTON_MODE 53#define MOSAIQUE_SPEED BUTTON_MODE
54#define MOSAIQUE_RESTART BUTTON_ON 54#define MOSAIQUE_RESTART BUTTON_ON
55 55
56#define MOSAIQUE_RC_QUIT BUTTON_RC_STOP
57
56#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 58#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
57 (CONFIG_KEYPAD == IPOD_3G_PAD) 59 (CONFIG_KEYPAD == IPOD_3G_PAD)
58#define MOSAIQUE_QUIT BUTTON_MENU 60#define MOSAIQUE_QUIT BUTTON_MENU
@@ -136,6 +138,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
136 button = rb->button_get(false); 138 button = rb->button_get(false);
137 switch (button) 139 switch (button)
138 { 140 {
141#ifdef MOSAIQUE_RC_QUIT
142 case MOSAIQUE_RC_QUIT:
143#endif
139 case MOSAIQUE_QUIT: 144 case MOSAIQUE_QUIT:
140 MYLCD(set_drawmode)(DRMODE_SOLID); 145 MYLCD(set_drawmode)(DRMODE_SOLID);
141#ifdef HAVE_LCD_CHARCELLS 146#ifdef HAVE_LCD_CHARCELLS
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 3c20d39500..bd8b949ec6 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -62,6 +62,7 @@ PLUGIN_HEADER
62#define OSCILLOSCOPE_VOL_UP BUTTON_UP 62#define OSCILLOSCOPE_VOL_UP BUTTON_UP
63#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN 63#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
64 64
65#define OSCILLOSCOPE_RC_QUIT BUTTON_RC_STOP
65#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) 66#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
66#define OSCILLOSCOPE_QUIT (BUTTON_SELECT | BUTTON_MENU) 67#define OSCILLOSCOPE_QUIT (BUTTON_SELECT | BUTTON_MENU)
67#define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_PLAY) 68#define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_PLAY)
@@ -583,6 +584,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
583 button = rb->button_get(paused); 584 button = rb->button_get(paused);
584 switch (button) 585 switch (button)
585 { 586 {
587#ifdef OSCILLOSCOPE_RC_QUIT
588 case OSCILLOSCOPE_RC_QUIT:
589#endif
586 case OSCILLOSCOPE_QUIT: 590 case OSCILLOSCOPE_QUIT:
587 exit = true; 591 exit = true;
588 break; 592 break;
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index d8be446afb..e2738eceab 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -67,6 +67,9 @@ static int plasma_frequency;
67#define PLASMA_QUIT BUTTON_OFF 67#define PLASMA_QUIT BUTTON_OFF
68#define PLASMA_INCREASE_FREQUENCY BUTTON_UP 68#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
69#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN 69#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
70#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
71#define PLASMA_RC_QUIT BUTTON_RC_STOP
72#endif
70#endif 73#endif
71 74
72#ifdef HAVE_LCD_COLOR 75#ifdef HAVE_LCD_COLOR
@@ -283,6 +286,9 @@ int main(void)
283 286
284 switch(button) 287 switch(button)
285 { 288 {
289#ifdef PLASMA_RC_QUIT
290 case PLASMA_RC_QUIT:
291#endif
286 case(PLASMA_QUIT): 292 case(PLASMA_QUIT):
287 cleanup(NULL); 293 cleanup(NULL);
288 return PLUGIN_OK; 294 return PLUGIN_OK;
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index adba3f5379..421ae0295c 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -57,6 +57,7 @@ PLUGIN_HEADER
57#define PONG_LEFT_DOWN BUTTON_DOWN 57#define PONG_LEFT_DOWN BUTTON_DOWN
58#define PONG_RIGHT_UP BUTTON_ON 58#define PONG_RIGHT_UP BUTTON_ON
59#define PONG_RIGHT_DOWN BUTTON_MODE 59#define PONG_RIGHT_DOWN BUTTON_MODE
60#define PONG_RC_QUIT BUTTON_RC_STOP
60 61
61#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 62#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
62 (CONFIG_KEYPAD == IPOD_3G_PAD) 63 (CONFIG_KEYPAD == IPOD_3G_PAD)
@@ -298,7 +299,11 @@ int keys(struct pong *p)
298 while(end > *rb->current_tick) { 299 while(end > *rb->current_tick) {
299 key = rb->button_get_w_tmo(end - *rb->current_tick); 300 key = rb->button_get_w_tmo(end - *rb->current_tick);
300 301
301 if(key & PONG_QUIT) 302 if(key & PONG_QUIT
303#ifdef PONG_RC_QUIT
304 || key & PONG_RC_QUIT
305#endif
306 )
302 return 0; /* exit game NOW */ 307 return 0; /* exit game NOW */
303 308
304 if(key & PONG_LEFT_DOWN) /* player left goes down */ 309 if(key & PONG_LEFT_DOWN) /* player left goes down */
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 8ae2cb8abf..085db8708d 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -45,6 +45,8 @@ PLUGIN_HEADER
45#define PUZZLE_SHUFFLE BUTTON_SELECT 45#define PUZZLE_SHUFFLE BUTTON_SELECT
46#define PUZZLE_PICTURE BUTTON_ON 46#define PUZZLE_PICTURE BUTTON_ON
47 47
48#define PUZZLE_RC_QUIT BUTTON_RC_STOP
49
48#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 50#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
49 (CONFIG_KEYPAD == IPOD_3G_PAD) 51 (CONFIG_KEYPAD == IPOD_3G_PAD)
50#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU) 52#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU)
@@ -291,6 +293,9 @@ static int puzzle_loop(void)
291 while(true) { 293 while(true) {
292 button = rb->button_get(true); 294 button = rb->button_get(true);
293 switch (button) { 295 switch (button) {
296#ifdef PUZZLE_RC_QUIT
297 case PUZZLE_RC_QUIT:
298#endif
294 case PUZZLE_QUIT: 299 case PUZZLE_QUIT:
295 /* get out of here */ 300 /* get out of here */
296 return PLUGIN_OK; 301 return PLUGIN_OK;
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 3d12b67cce..55b3cbf18a 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -55,6 +55,8 @@ PLUGIN_HEADER
55#define SNAKE_DOWN BUTTON_DOWN 55#define SNAKE_DOWN BUTTON_DOWN
56#define SNAKE_PLAYPAUSE BUTTON_ON 56#define SNAKE_PLAYPAUSE BUTTON_ON
57 57
58#define SNAKE_RC_QUIT BUTTON_RC_STOP
59
58#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 60#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
59 (CONFIG_KEYPAD == IPOD_3G_PAD) 61 (CONFIG_KEYPAD == IPOD_3G_PAD)
60#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU) 62#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
@@ -219,6 +221,9 @@ void game_pause (void) {
219 while (1) { 221 while (1) {
220 button=rb->button_get(true); 222 button=rb->button_get(true);
221 switch (button) { 223 switch (button) {
224#ifdef SNAKE_RC_QUIT
225 case SNAKE_RC_QUIT:
226#endif
222 case SNAKE_QUIT: 227 case SNAKE_QUIT:
223 dead=1; 228 dead=1;
224 return; 229 return;
@@ -275,6 +280,9 @@ void game (void) {
275 case BUTTON_LEFT: 280 case BUTTON_LEFT:
276 if (dir!=1) dir=3; 281 if (dir!=1) dir=3;
277 break; 282 break;
283#ifdef SNAKE_RC_QUIT
284 case SNAKE_RC_QUIT:
285#endif
278 case SNAKE_QUIT: 286 case SNAKE_QUIT:
279 dead=1; 287 dead=1;
280 return; 288 return;
@@ -336,6 +344,9 @@ void game_init(void) {
336 if (level>1) 344 if (level>1)
337 level--; 345 level--;
338 break; 346 break;
347#ifdef SNAKE_RC_QUIT
348 case SNAKE_RC_QUIT:
349#endif
339 case SNAKE_QUIT: 350 case SNAKE_QUIT:
340 dead=1; 351 dead=1;
341 return; 352 return;
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 7fdf24e2a6..f3dc4bed94 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -181,6 +181,7 @@ PLUGIN_HEADER
181#define SNAKE2_PLAYPAUSE BUTTON_ON 181#define SNAKE2_PLAYPAUSE BUTTON_ON
182#define SNAKE2_PLAYPAUSE_TEXT "Play" 182#define SNAKE2_PLAYPAUSE_TEXT "Play"
183 183
184#define SNAKE2_RC_QUIT BUTTON_RC_STOP
184#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 185#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
185 (CONFIG_KEYPAD == IPOD_3G_PAD) 186 (CONFIG_KEYPAD == IPOD_3G_PAD)
186#define SNAKE2_UP BUTTON_MENU 187#define SNAKE2_UP BUTTON_MENU
@@ -1134,6 +1135,9 @@ void game (void)
1134 if (dir != EAST) set_direction(WEST); 1135 if (dir != EAST) set_direction(WEST);
1135 break; 1136 break;
1136 1137
1138#ifdef SNAKE2_RC_QUIT
1139 case SNAKE2_RC_QUIT:
1140#endif
1137 case SNAKE2_QUIT: 1141 case SNAKE2_QUIT:
1138 dead=1; 1142 dead=1;
1139 return; 1143 return;
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index 80429326bf..bde8be883c 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -47,6 +47,9 @@ PLUGIN_HEADER
47#define SNOW_QUIT BUTTON_A 47#define SNOW_QUIT BUTTON_A
48#else 48#else
49#define SNOW_QUIT BUTTON_OFF 49#define SNOW_QUIT BUTTON_OFF
50#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
51#define SNOW_RC_QUIT BUTTON_RC_STOP
52#endif
50#endif 53#endif
51 54
52static short particles[NUM_PARTICLES][2]; 55static short particles[NUM_PARTICLES][2];
@@ -189,7 +192,11 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
189 192
190 button = rb->button_get(false); 193 button = rb->button_get(false);
191 194
192 if (button == SNOW_QUIT) 195 if (button == SNOW_QUIT
196#ifdef SNOW_RC_QUIT
197 || button == SNOW_RC_QUIT
198#endif
199 )
193 { 200 {
194#ifdef HAVE_LCD_CHARCELLS 201#ifdef HAVE_LCD_CHARCELLS
195 pgfx_release(); 202 pgfx_release();
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 93f7b7edbb..6dfbdc6df6 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -70,6 +70,8 @@ extern const fb_data sokoban_tiles[];
70#define SOKOBAN_LEVEL_DOWN BUTTON_REC 70#define SOKOBAN_LEVEL_DOWN BUTTON_REC
71#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT 71#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT
72 72
73#define SOKOBAN_RC_QUIT BUTTON_RC_STOP
74
73#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 75#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
74 (CONFIG_KEYPAD == IPOD_3G_PAD) 76 (CONFIG_KEYPAD == IPOD_3G_PAD)
75#define SOKOBAN_UP BUTTON_MENU 77#define SOKOBAN_UP BUTTON_MENU
@@ -563,6 +565,9 @@ static bool sokoban_loop(void)
563 565
564 switch(button) 566 switch(button)
565 { 567 {
568#ifdef SOKOBAN_RC_QUIT
569 case SOKOBAN_RC_QUIT:
570#endif
566 case SOKOBAN_QUIT: 571 case SOKOBAN_QUIT:
567 /* get out of here */ 572 /* get out of here */
568#ifdef HAVE_LCD_COLOR /* reset background color */ 573#ifdef HAVE_LCD_COLOR /* reset background color */
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 45d56950ec..56990beeb3 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -109,6 +109,8 @@ static struct plugin_api* rb;
109#define SOL_OPT BUTTON_ON 109#define SOL_OPT BUTTON_ON
110#define SOL_REM BUTTON_REC 110#define SOL_REM BUTTON_REC
111 111
112#define SOL_RC_QUIT BUTTON_RC_STOP
113
112#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 114#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
113 (CONFIG_KEYPAD == IPOD_3G_PAD) 115 (CONFIG_KEYPAD == IPOD_3G_PAD)
114#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU) 116#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU)
@@ -463,7 +465,9 @@ int solitaire_help(void){
463#endif 465#endif
464 rb->splash(HZ*2, true, HELP_SOL_REM2CUR); 466 rb->splash(HZ*2, true, HELP_SOL_REM2CUR);
465 break; 467 break;
466 468#ifdef SOL_RC_QUIT
469 case SOL_RC_QUIT:
470#endif
467 case SOL_QUIT: 471 case SOL_QUIT:
468 return HELP_QUIT; 472 return HELP_QUIT;
469 473
@@ -600,6 +604,10 @@ int solitaire_menu(unsigned char when_n)
600 case SOL_OPT: 604 case SOL_OPT:
601 return MENU_OPT; 605 return MENU_OPT;
602#endif 606#endif
607
608#ifdef SOL_RC_QUIT
609 case SOL_RC_QUIT:
610#endif
603 case SOL_QUIT: 611 case SOL_QUIT:
604 return MENU_QUIT; 612 return MENU_QUIT;
605 613
@@ -1460,6 +1468,9 @@ int solitaire(void){
1460 break; 1468 break;
1461 1469
1462 /* Show the menu */ 1470 /* Show the menu */
1471#ifdef SOL_RC_QUIT
1472 case SOL_RC_QUIT:
1473#endif
1463 case SOL_QUIT: 1474 case SOL_QUIT:
1464#if LCD_DEPTH>1 1475#if LCD_DEPTH>1
1465 rb->lcd_set_background(LCD_DEFAULT_BG); 1476 rb->lcd_set_background(LCD_DEFAULT_BG);
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index c865af69b1..32ab4bdcda 100755
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -65,6 +65,8 @@ static struct plugin_api* rb; /* global api struct pointer */
65#define AST_FIRE BUTTON_SELECT 65#define AST_FIRE BUTTON_SELECT
66#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT 66#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT
67 67
68#define AST_RC_QUIT BUTTON_RC_STOP
69
68#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) 70#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
69#define AST_PAUSE BUTTON_PLAY 71#define AST_PAUSE BUTTON_PLAY
70#define AST_QUIT BUTTON_POWER 72#define AST_QUIT BUTTON_POWER
@@ -1531,7 +1533,10 @@ enum plugin_status start_game(void)
1531 else if(game_state == PAUSE_MODE) 1533 else if(game_state == PAUSE_MODE)
1532 game_state = PLAY_MODE; 1534 game_state = PLAY_MODE;
1533 break; 1535 break;
1534 1536
1537#ifdef AST_RC_QUIT
1538 case AST_RC_QUIT:
1539#endif
1535 case(AST_QUIT): 1540 case(AST_QUIT):
1536 if(game_state == ATTRACT_MODE) 1541 if(game_state == ATTRACT_MODE)
1537 return PLUGIN_OK; 1542 return PLUGIN_OK;
diff --git a/apps/plugins/splitedit.c b/apps/plugins/splitedit.c
index 927c00008d..fa5ff8e35f 100644
--- a/apps/plugins/splitedit.c
+++ b/apps/plugins/splitedit.c
@@ -56,7 +56,7 @@ PLUGIN_HEADER
56#define SPLITEDIT_SPEED150 (BUTTON_REC | BUTTON_RIGHT) 56#define SPLITEDIT_SPEED150 (BUTTON_REC | BUTTON_RIGHT)
57#define SPLITEDIT_MENU_RUN BUTTON_RIGHT 57#define SPLITEDIT_MENU_RUN BUTTON_RIGHT
58 58
59 59#define SPLITEDIT_RC_QUIT BUTTON_RC_STOP
60#endif 60#endif
61 61
62#define BMPHEIGHT 7 62#define BMPHEIGHT 7
@@ -593,7 +593,11 @@ static int copy_file(
593 593
594 button = rb->button_get(false); 594 button = rb->button_get(false);
595 595
596 if (button == SPLITEDIT_QUIT) { 596 if (button == SPLITEDIT_QUIT
597#ifdef SPLITEDIT_RC_QUIT
598 || button == SPLITEDIT_RC_QUIT:
599#endif
600 ) {
597 rb->splash(0, true, "Aborting copy."); 601 rb->splash(0, true, "Aborting copy.");
598 rb->button_get(true); 602 rb->button_get(true);
599 rb->button_get(true); 603 rb->button_get(true);
@@ -887,7 +891,9 @@ static void save_editor(struct mp3entry *mp3, int splittime)
887 break; 891 break;
888 } 892 }
889 break; 893 break;
890 894#ifdef SPLITEDIT_RC_QUIT
895 case SPLITEDIT_RC_QUIT:
896#endif
891 case SPLITEDIT_QUIT: 897 case SPLITEDIT_QUIT:
892 exit_request = true; 898 exit_request = true;
893 break; 899 break;
@@ -1171,6 +1177,9 @@ unsigned long splitedit_editor(struct mp3entry * mp3_to_split,
1171 update_icons(); 1177 update_icons();
1172 break; 1178 break;
1173 1179
1180#ifdef SPLITEDIT_RC_QUIT
1181 case SPLITEDIT_RC_QUIT:
1182#endif
1174 case SPLITEDIT_QUIT: 1183 case SPLITEDIT_QUIT:
1175 exit_request = true; 1184 exit_request = true;
1176 break; 1185 break;
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 5c89a795c8..10bc3fd6af 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -95,6 +95,7 @@ PLUGIN_HEADER
95#define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP) 95#define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP)
96#define STAR_MENU_RUN BUTTON_RIGHT 96#define STAR_MENU_RUN BUTTON_RIGHT
97 97
98#define STAR_RC_QUIT BUTTON_RC_STOP
98#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 99#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
99 (CONFIG_KEYPAD == IPOD_3G_PAD) 100 (CONFIG_KEYPAD == IPOD_3G_PAD)
100 101
@@ -687,6 +688,9 @@ static int star_run_game(void)
687 key = rb->button_get(true); 688 key = rb->button_get(true);
688 switch (key) 689 switch (key)
689 { 690 {
691#ifdef STAR_RC_QUIT
692 case STAR_RC_QUIT:
693#endif
690 case STAR_QUIT: 694 case STAR_QUIT:
691 return 0; 695 return 0;
692 696
@@ -905,6 +909,9 @@ static int star_menu(void)
905 key = rb->button_get(false); 909 key = rb->button_get(false);
906 switch (key) 910 switch (key)
907 { 911 {
912#ifdef STAR_RC_QUIT
913 case STAR_RC_QUIT:
914#endif
908 case STAR_QUIT: 915 case STAR_QUIT:
909 return PLUGIN_OK; 916 return PLUGIN_OK;
910 case STAR_UP: 917 case STAR_UP:
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 388d59bb9d..64c2b34588 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -51,6 +51,10 @@ static struct plugin_api* rb; /* global api struct pointer */
51#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN 51#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
52#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT 52#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
53#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT 53#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
54#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
55#define STARFIELD_RC_QUIT BUTTON_RC_STOP
56#endif
57
54#endif 58#endif
55 59
56#define LCD_CENTER_X (LCD_WIDTH/2) 60#define LCD_CENTER_X (LCD_WIDTH/2)
@@ -252,6 +256,9 @@ int plugin_main(void)
252 starfield_del_stars(&starfield, STARFIELD_INCREASE_STEP); 256 starfield_del_stars(&starfield, STARFIELD_INCREASE_STEP);
253 t_disp=MSG_DISP_TIME; 257 t_disp=MSG_DISP_TIME;
254 break; 258 break;
259#ifdef STARFIELD_RC_QUIT
260 case STARFIELD_RC_QUIT:
261#endif
255 case(STARFIELD_QUIT): 262 case(STARFIELD_QUIT):
256 case(SYS_USB_CONNECTED): 263 case(SYS_USB_CONNECTED):
257 rb->backlight_set_timeout(rb->global_settings->backlight_timeout); 264 rb->backlight_set_timeout(rb->global_settings->backlight_timeout);
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 0aff7e2843..d8204e4082 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -63,6 +63,9 @@ PLUGIN_HEADER
63#define STOPWATCH_LAP_TIMER BUTTON_ON 63#define STOPWATCH_LAP_TIMER BUTTON_ON
64#define STOPWATCH_SCROLL_UP BUTTON_RIGHT 64#define STOPWATCH_SCROLL_UP BUTTON_RIGHT
65#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT 65#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT
66
67#define STOPWATCH_RC_QUIT BUTTON_RC_STOP
68
66#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 69#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
67 (CONFIG_KEYPAD == IPOD_3G_PAD) 70 (CONFIG_KEYPAD == IPOD_3G_PAD)
68#define STOPWATCH_QUIT BUTTON_MENU 71#define STOPWATCH_QUIT BUTTON_MENU
@@ -200,6 +203,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
200 { 203 {
201 204
202 /* exit */ 205 /* exit */
206#ifdef STOPWATCH_RC_QUIT
207 case STOPWATCH_RC_QUIT:
208#endif
203 case STOPWATCH_QUIT: 209 case STOPWATCH_QUIT:
204 done = true; 210 done = true;
205 break; 211 break;
diff --git a/apps/plugins/text_editor.c b/apps/plugins/text_editor.c
index f98194b151..5abd48485f 100644
--- a/apps/plugins/text_editor.c
+++ b/apps/plugins/text_editor.c
@@ -35,6 +35,8 @@
35#define TEXT_EDITOR_DELETE BUTTON_REC 35#define TEXT_EDITOR_DELETE BUTTON_REC
36#define TEXT_EDITOR_ITEM_MENU BUTTON_MODE 36#define TEXT_EDITOR_ITEM_MENU BUTTON_MODE
37 37
38#define TEXT_EDITOR_RC_CANCEL BUTTON_RC_STOP
39
38#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) 40#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
39#define TEXT_EDITOR_SELECT_PRE BUTTON_SELECT 41#define TEXT_EDITOR_SELECT_PRE BUTTON_SELECT
40#define TEXT_EDITOR_SELECT ( BUTTON_SELECT | BUTTON_REL) 42#define TEXT_EDITOR_SELECT ( BUTTON_SELECT | BUTTON_REL)
@@ -462,6 +464,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
462 if (last_button != TEXT_EDITOR_CANCEL_PRE) 464 if (last_button != TEXT_EDITOR_CANCEL_PRE)
463 break; 465 break;
464#endif 466#endif
467#ifdef TEXT_EDITOR_RC_CANCEL
468 case TEXT_EDITOR_RC_CANCEL:
469#endif
465 if (changed) 470 if (changed)
466 { 471 {
467 int m; 472 int m;
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index 4e72aa13bf..9c60fd155f 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -110,6 +110,8 @@ PLUGIN_HEADER
110#define VIEWER_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT) 110#define VIEWER_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT)
111#define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT) 111#define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT)
112 112
113#define VIEWER_RC_QUIT BUTTON_RC_STOP
114
113/* iPods with the 4G pad */ 115/* iPods with the 4G pad */
114#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 116#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
115 (CONFIG_KEYPAD == IPOD_3G_PAD) 117 (CONFIG_KEYPAD == IPOD_3G_PAD)
@@ -1368,6 +1370,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
1368 break; 1370 break;
1369#endif 1371#endif
1370 1372
1373#ifdef VIEWER_RC_QUIT
1374 case VIEWER_RC_QUIT:
1375#endif
1371 case VIEWER_QUIT: 1376 case VIEWER_QUIT:
1372 viewer_exit(NULL); 1377 viewer_exit(NULL);
1373 done = true; 1378 done = true;
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index d903f97146..d97c834363 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -58,6 +58,8 @@ PLUGIN_HEADER
58#define VUMETER_UP BUTTON_UP 58#define VUMETER_UP BUTTON_UP
59#define VUMETER_DOWN BUTTON_DOWN 59#define VUMETER_DOWN BUTTON_DOWN
60 60
61#define VUMETER_RC_QUIT BUTTON_RC_STOP
62
61#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 63#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \
62 (CONFIG_KEYPAD == IPOD_4G_PAD) 64 (CONFIG_KEYPAD == IPOD_4G_PAD)
63#define VUMETER_QUIT BUTTON_MENU 65#define VUMETER_QUIT BUTTON_MENU
@@ -521,6 +523,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
521 button = rb->button_get_w_tmo(1); 523 button = rb->button_get_w_tmo(1);
522 switch (button) 524 switch (button)
523 { 525 {
526#ifdef VUMETER_RC_QUIT
527 case VUMETER_RC_QUIT:
528#endif
524 case VUMETER_QUIT: 529 case VUMETER_QUIT:
525 save_settings(); 530 save_settings();
526 return PLUGIN_OK; 531 return PLUGIN_OK;
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index e4efa8ff28..6a4a5d28f8 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -83,6 +83,8 @@ PLUGIN_HEADER
83#define BTN_QUIT (BUTTON_SELECT|BUTTON_MENU) 83#define BTN_QUIT (BUTTON_SELECT|BUTTON_MENU)
84#define BTN_STOPRESET (BUTTON_SELECT|BUTTON_PLAY) 84#define BTN_STOPRESET (BUTTON_SELECT|BUTTON_PLAY)
85 85
86#define BTN_RC_QUIT BUTTON_RC_STOP
87
86#define PLAYERS_TEXT "Menu/Play" 88#define PLAYERS_TEXT "Menu/Play"
87#define WORMS_TEXT "Left/Right" 89#define WORMS_TEXT "Left/Right"
88 90
@@ -1487,6 +1489,9 @@ static int run(void)
1487 else 1489 else
1488 paused = true; 1490 paused = true;
1489 break; 1491 break;
1492#ifdef BTN_RC_QUIT
1493 case BTN_RC_QUIT:
1494#endif
1490 case BTN_QUIT: 1495 case BTN_QUIT:
1491 return 2; /* back to menu */ 1496 return 2; /* back to menu */
1492 break; 1497 break;
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index a4200f01a1..3ae9e22c1e 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -31,6 +31,8 @@ PLUGIN_HEADER
31#define DOWN BUTTON_DOWN 31#define DOWN BUTTON_DOWN
32#define SELECT BUTTON_SELECT 32#define SELECT BUTTON_SELECT
33 33
34#define RC_QUIT BUTTON_RC_STOP
35
34#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 36#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \
35 (CONFIG_KEYPAD == IPOD_4G_PAD) 37 (CONFIG_KEYPAD == IPOD_4G_PAD)
36 38
@@ -729,6 +731,9 @@ static int game_menu (void)
729 case RIGHT: 731 case RIGHT:
730 quit = true; 732 quit = true;
731 break; 733 break;
734#ifdef RC_QUIT
735 case RC_QUIT:
736#endif
732 case QUIT: 737 case QUIT:
733 selection = MENU_QUIT; 738 selection = MENU_QUIT;
734 quit = true; 739 quit = true;