1
0
Fork 0
forked from len0rd/rockbox

To avoid having to use the main unit when accidentally launching a plugin from the remote, plugins now support remote quit

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10157 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Kevin Ferrare 2006-06-30 16:43:47 +00:00
parent 7bbf53eae5
commit 0e027bd90c
39 changed files with 276 additions and 26 deletions

View file

@ -41,6 +41,7 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BATTERY_TEST_QUIT BUTTON_OFF
#define BATTERY_TEST_RC_QUIT BUTTON_RC_STOP
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define BATTERY_TEST_QUIT BUTTON_PLAY
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
@ -123,7 +124,11 @@ enum plugin_status loop(void)
rb->button_clear_queue();
button = rb->button_get_w_tmo(HZ * buffersize / 16000 - HZ*10);
if (button == BATTERY_TEST_QUIT)
if (button == BATTERY_TEST_QUIT
#ifdef BATTERY_TEST_RC_QUIT
|| button == BATTERY_TEST_RC_QUIT
#endif
)
return PLUGIN_OK;
if (rb->default_event_handler(button) == SYS_USB_CONNECTED)

View file

@ -52,6 +52,8 @@ PLUGIN_HEADER
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
#define BOUNCE_RC_QUIT (BUTTON_RC_STOP | BUTTON_REL)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define BOUNCE_UP BUTTON_SCROLL_BACK
@ -337,15 +339,19 @@ static int scrollit(void)
while(1)
{
b = rb->button_get_w_tmo(HZ/10);
if ( b == BOUNCE_QUIT )
switch(b)
{
#ifdef BOUNCE_RC_QUIT
case BOUNCE_RC_QUIT :
#endif
case BOUNCE_QUIT :
return 0;
if ( b == BOUNCE_MODE )
case BOUNCE_MODE :
return 1;
default:
if ( rb->default_event_handler(b) == SYS_USB_CONNECTED )
return -1;
}
rb->lcd_clear_display();
for(i=0, yy=y, xx=x; i< LETTERS_ON_SCREEN; i++) {

View file

@ -32,6 +32,8 @@ PLUGIN_HEADER
#define UP BUTTON_UP
#define DOWN BUTTON_DOWN
#define RC_QUIT BUTTON_RC_STOP
/* Only iPod have scroll events */
#define SCROLL_FWD(x) (0)
#define SCROLL_BACK(x) (0)
@ -971,6 +973,9 @@ int game_menu(int when)
return 3;
}
break;
#ifdef RC_QUIT
case RC_QUIT:
#endif
case QUIT:
return 3;
break;
@ -1062,6 +1067,9 @@ int help(int when)
button=rb->button_get(true);
switch (button) {
#ifdef RC_QUIT
case RC_QUIT:
#endif
case QUIT:
switch (game_menu(when)) {
case 0:
@ -1810,6 +1818,9 @@ int game_loop(void)
con_game=0;
}
break;
#ifdef RC_QUIT
case RC_QUIT:
#endif
case QUIT:
switch(game_menu(1)) {
case 0:

View file

@ -64,6 +64,8 @@ PLUGIN_HEADER
#define BUBBLES_SELECT BUTTON_SELECT
#define BUBBLES_RESUME BUTTON_MODE
#define BUBBLES_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define BUBBLES_LEFT BUTTON_SCROLL_BACK
#define BUBBLES_RIGHT BUTTON_SCROLL_FWD
@ -2407,7 +2409,9 @@ static int bubbles_handlebuttons(struct game_context* bb, bool animblock,
return BB_END;
}
break;
#ifdef BUBBLES_RC_QUIT
case BUBBLES_RC_QUIT:
#endif
case BUBBLES_QUIT: /* end the game */
return BB_END;
@ -2534,7 +2538,9 @@ static int bubbles(struct game_context* bb) {
bb->level = startlevel;
startgame = true;
break;
#ifdef BUBBLES_RC_QUIT
case BUBBLES_RC_QUIT:
#endif
case BUBBLES_QUIT: /* quit program */
if(showscores) {
showscores = false;

View file

@ -134,6 +134,8 @@ PLUGIN_HEADER
#define CALCULATOR_OPERATORS BUTTON_MODE
#define CALCULATOR_CLEAR BUTTON_REC
#define CALCULATOR_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
@ -1402,6 +1404,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
case CALCULATOR_DOWN | BUTTON_REPEAT:
moveButton();
break;
#ifdef CALCULATOR_RC_QUIT
case CALCULATOR_RC_QUIT:
#endif
case CALCULATOR_QUIT:
calStatus = cal_exit;
printResult();

View file

@ -73,6 +73,8 @@ PLUGIN_HEADER
#define CB_RESTART BUTTON_REC
#define CB_QUIT BUTTON_OFF
#define CB_RC_QUIT BUTTON_RC_STOP
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define CB_SELECT BUTTON_SELECT
#define CB_UP BUTTON_UP
@ -280,6 +282,9 @@ void cb_wt_callback ( void ) {
wt_command = COMMAND_NOP;
button = rb->button_get(false);
switch (button) {
#ifdef CB_RC_QUIT
case CB_RC_QUIT:
#endif
case CB_QUIT:
wt_command = COMMAND_QUIT;
timeout = true;
@ -486,6 +491,9 @@ struct cb_command cb_getcommand (void) {
while ( true ) {
button = rb->button_get(true);
switch (button) {
#ifdef CB_RC_QUIT
case CB_RC_QUIT:
#endif
case CB_QUIT:
result.type = COMMAND_QUIT;
return result;

View file

@ -976,6 +976,8 @@ STATIC void chip8 (void)
#define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_DOWN
#define CHIP8_RC_OFF BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define CHIP8_OFF BUTTON_MENU
@ -1106,6 +1108,9 @@ static void chip8_keyboard(void)
int button = rb->button_get(false);
switch (button)
{
#ifdef CHIP8_RC_OFF
case CHIP8_RC_OFF:
#endif
case CHIP8_OFF: /* Abort Emulator */
chip8_running = 0;
break;

View file

@ -155,6 +155,8 @@ PLUGIN_HEADER
#define CHANGE_UP_BUTTON BUTTON_RIGHT
#define CHANGE_DOWN_BUTTON BUTTON_LEFT
#define EXIT_RC_BUTTON BUTTON_RC_STOP
#define YESTEXT "Select/Navi"
#define NAVI_BUTTON_TEXT_LEFT "LEFT"
#define NAVI_BUTTON_TEXT_RIGHT "RIGHT"
@ -1778,6 +1780,9 @@ bool help_screen(void)
switch(rb->button_get_w_tmo(HZ/4))
{
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON:
#endif
case EXIT_BUTTON:
done = true;
break;
@ -2061,7 +2066,9 @@ void settings_screen(void)
case CHANGE_UP_BUTTON:
change_setting(cursorpos-1, 1, false);
break;
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON
#endif
case EXIT_BUTTON:
case MENU_BUTTON:
done = true;
@ -2107,6 +2114,9 @@ void confirm_reset(void)
#endif
case CHANGE_DOWN_BUTTON:
case CHANGE_UP_BUTTON:
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON
#endif
case EXIT_BUTTON:
ask_reset_done = true;
break;
@ -2148,6 +2158,9 @@ void general_settings(void)
switch(rb->button_get_w_tmo(HZ/4))
{
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON
#endif
case EXIT_BUTTON:
case MENU_BUTTON:
if(settings.general[general_savesetting] == 2)
@ -2495,6 +2508,9 @@ void select_mode(void)
done = true;
break;
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON
#endif
case EXIT_BUTTON:
case CHANGE_DOWN_BUTTON:
done = true;
@ -2825,6 +2841,9 @@ void counter_settings(void)
}
break;
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON
#endif
case EXIT_BUTTON:
current = counting_up;
if(current != original)
@ -2947,6 +2966,9 @@ void main_menu(void)
}
break;
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON
#endif
case EXIT_BUTTON:
case CHANGE_DOWN_BUTTON:
#ifdef ALT_MENU_BUTTON
@ -3065,6 +3087,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
button = rb->button_get_w_tmo(HZ/10);
switch (button)
{
#ifdef EXIT_RC_BUTTON
case EXIT_RC_BUTTON
#endif
case EXIT_BUTTON: /* save and exit */
cleanup(NULL);
return PLUGIN_OK;

View file

@ -82,6 +82,7 @@ PLUGIN_HEADER
#define CUBE_PAUSE (BUTTON_ON | BUTTON_REL)
#define CUBE_HIGHSPEED BUTTON_SELECT
#define CUBE_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define CUBE_QUIT BUTTON_MENU
@ -773,6 +774,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
t_disp = DISP_TIME;
break;
#ifdef CUBE_RC_QUIT
case CUBE_RC_QUIT:
#endif
case CUBE_QUIT:
exit = true;
break;

View file

@ -51,6 +51,10 @@ PLUGIN_HEADER
#define DEMYSTIFY_REMOVE_POLYGON BUTTON_DOWN
#define DEMYSTIFY_INCREASE_SPEED BUTTON_RIGHT
#define DEMYSTIFY_DECREASE_SPEED BUTTON_LEFT
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define DEMYSTIFY_RC_QUIT BUTTON_RC_STOP
#endif
#endif
#define DEFAULT_WAIT_TIME 3
@ -315,6 +319,9 @@ int plugin_main(void)
button = rb->button_get(false);
switch(button)
{
#ifdef DEMYSTIFY_RC_QUIT
case DEMYSTIFY_RC_QUIT :
#endif
case (DEMYSTIFY_QUIT):
cleanup(NULL);
return PLUGIN_OK;

View file

@ -87,6 +87,8 @@ use stop to exit
#define DICE_BUTTON_LEFT BUTTON_LEFT
#define DICE_BUTTON_RIGHT BUTTON_RIGHT
#define DICE_BUTTON_RC_OFF BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD)
#define DICE_BUTTON_UP BUTTON_SCROLL_FWD
#define DICE_BUTTON_DOWN BUTTON_SCROLL_BACK
@ -205,7 +207,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
print_dice(dice, total);
}
break;
#ifdef DICE_BUTTON_RC_OFF
case DICE_BUTTON_RC_OFF:
#endif
case DICE_BUTTON_OFF:
selected = EXIT;
break;

View file

@ -49,6 +49,8 @@ static unsigned char draw_buffer[8*LCD_WIDTH];
#define FIRE_INCREASE_MULT BUTTON_UP
#define FIRE_DECREASE_MULT BUTTON_DOWN
#define FIRE_RC_QUIT BUTTON_RC_STOP
#elif CONFIG_KEYPAD == RECORDER_PAD
#define FIRE_QUIT BUTTON_OFF
#define FIRE_SWITCH_FLAMES_TYPE BUTTON_ON
@ -357,6 +359,9 @@ int main(void)
switch(button)
{
#ifdef FIRE_RC_QUIT
case FIRE_RC_QUIT :
#endif
case(FIRE_QUIT):
cleanup(NULL);
return PLUGIN_OK;

View file

@ -52,6 +52,8 @@ PLUGIN_HEADER
#define FLIPIT_TOGGLE_PRE BUTTON_SELECT
#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
#define FLIPIT_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
@ -336,6 +338,9 @@ static bool flipit_loop(void) {
while(true) {
button = rb->button_get(true);
switch (button) {
#ifdef FLIPIT_RC_QUIT
case FLIPIT_RC_QUIT:
#endif
case FLIPIT_QUIT:
/* get out of here */
return PLUGIN_OK;

View file

@ -51,6 +51,8 @@ PLUGIN_HEADER
#define GRAYSCALE_RIGHT BUTTON_RIGHT
#define GRAYSCALE_OFF BUTTON_OFF
#define GRAYSCALE_RC_OFF BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define GRAYSCALE_SHIFT (BUTTON_SELECT | BUTTON_REL)
#define GRAYSCALE_UP BUTTON_MENU
@ -315,7 +317,9 @@ int main(void)
gray_scroll_down(scroll_amount); /* scroll down */
gray_update();
break;
#ifdef GRAYSCALE_RC_OFF
case GRAYSCALE_RC_OFF:
#endif
case GRAYSCALE_OFF:
cleanup(NULL);

View file

@ -51,6 +51,7 @@ PLUGIN_HEADER
#define JEWELS_SELECT BUTTON_SELECT
#define JEWELS_CANCEL BUTTON_OFF
#define JEWELS_RC_CANCEL BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define JEWELS_SCROLLWHEEL
#define JEWELS_UP BUTTON_MENU
@ -1234,6 +1235,9 @@ static int jewels_main(struct game_context* bj) {
break;
#ifdef JEWELS_CANCEL
#ifdef JEWELS_RC_CANCEL
case JEWELS_RC_CANCEL:
#endif
case JEWELS_CANCEL:
return BJ_QUIT;
#endif
@ -1415,6 +1419,9 @@ static int jewels_main(struct game_context* bj) {
break;
#ifdef JEWELS_CANCEL
#ifdef JEWELS_RC_CANCEL
case JEWELS_RC_CANCEL:
#endif
case JEWELS_CANCEL: /* end game */
return BJ_END;
break;

View file

@ -74,6 +74,7 @@ PLUGIN_HEADER
#define JPEG_PREVIOUS BUTTON_ON
#endif
#define JPEG_MENU BUTTON_OFF
#define JPEG_RC_MENU BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define JPEG_ZOOM_IN BUTTON_SCROLL_FWD
@ -2287,7 +2288,9 @@ int scroll_bmp(struct t_disp* pdisp)
#endif
return ZOOM_OUT;
break;
#ifdef JPEG_RC_MENU
case JPEG_RC_MENU:
#endif
case JPEG_MENU:
#ifdef USEGSLIB
gray_show(false); /* switch off grayscale overlay */
@ -2559,7 +2562,9 @@ int load_and_show(char* filename)
rb->plugin_get_audio_buffer(&buf_images_size);
/*try again this file, now using the audio buffer */
return PLUGIN_OTHER;
#ifdef JPEG_RC_MENU
case JPEG_RC_MENU:
#endif
case JPEG_MENU:
return PLUGIN_OK;

View file

@ -66,6 +66,8 @@ PLUGIN_HEADER
#define MANDELBROT_MAXITER_DEC (BUTTON_ON | BUTTON_LEFT)
#define MANDELBROT_RESET BUTTON_REC
#define MANDELBROT_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define MANDELBROT_QUIT (BUTTON_SELECT | BUTTON_MENU)
@ -516,6 +518,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
button = rb->button_get(true);
switch (button) {
#ifdef MANDELBROT_RC_QUIT
case MANDELBROT_RC_QUIT:
#endif
case MANDELBROT_QUIT:
#ifdef USEGSLIB
gray_release();

View file

@ -40,6 +40,8 @@ PLUGIN_HEADER
#define BTN_UP BUTTON_UP
#define BTN_DOWN BUTTON_DOWN
#define BTN_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define BTN_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define BTN_RIGHT BUTTON_RIGHT
@ -300,7 +302,9 @@ int midimain(void * filename)
tick();
break;
}
#ifdef BTN_RC_QUIT
case BTN_RC_QUIT:
#endif
case BTN_QUIT:
quit=1;
}

View file

@ -71,6 +71,8 @@ PLUGIN_HEADER
#define MINESWP_RIGHT (BUTTON_ON | BUTTON_RIGHT)
#define MINESWP_LEFT (BUTTON_ON | BUTTON_LEFT)
#define MINESWP_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define MINESWP_UP BUTTON_SCROLL_BACK
@ -506,7 +508,9 @@ int minesweeper(void)
case MINESWP_START:/* start playing */
i = 1;
break;
#ifdef MINESWP_RC_QUIT
case MINESWP_RC_QUIT:
#endif
case MINESWP_QUIT:/* quit program */
return MINESWEEPER_QUIT;
@ -580,6 +584,9 @@ int minesweeper(void)
button = rb->button_get(true);
switch(button){
/* quit minesweeper (you really shouldn't use this button ...) */
#ifdef MINESWP_RC_QUIT
case MINESWP_RC_QUIT:
#endif
case MINESWP_QUIT:
return MINESWEEPER_QUIT;

View file

@ -53,6 +53,8 @@ PLUGIN_HEADER
#define MOSAIQUE_SPEED BUTTON_MODE
#define MOSAIQUE_RESTART BUTTON_ON
#define MOSAIQUE_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define MOSAIQUE_QUIT BUTTON_MENU
@ -136,6 +138,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
button = rb->button_get(false);
switch (button)
{
#ifdef MOSAIQUE_RC_QUIT
case MOSAIQUE_RC_QUIT:
#endif
case MOSAIQUE_QUIT:
MYLCD(set_drawmode)(DRMODE_SOLID);
#ifdef HAVE_LCD_CHARCELLS

View file

@ -62,6 +62,7 @@ PLUGIN_HEADER
#define OSCILLOSCOPE_VOL_UP BUTTON_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
#define OSCILLOSCOPE_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define OSCILLOSCOPE_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_PLAY)
@ -583,6 +584,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
button = rb->button_get(paused);
switch (button)
{
#ifdef OSCILLOSCOPE_RC_QUIT
case OSCILLOSCOPE_RC_QUIT:
#endif
case OSCILLOSCOPE_QUIT:
exit = true;
break;

View file

@ -67,6 +67,9 @@ static int plasma_frequency;
#define PLASMA_QUIT BUTTON_OFF
#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define PLASMA_RC_QUIT BUTTON_RC_STOP
#endif
#endif
#ifdef HAVE_LCD_COLOR
@ -283,6 +286,9 @@ int main(void)
switch(button)
{
#ifdef PLASMA_RC_QUIT
case PLASMA_RC_QUIT:
#endif
case(PLASMA_QUIT):
cleanup(NULL);
return PLUGIN_OK;

View file

@ -57,6 +57,7 @@ PLUGIN_HEADER
#define PONG_LEFT_DOWN BUTTON_DOWN
#define PONG_RIGHT_UP BUTTON_ON
#define PONG_RIGHT_DOWN BUTTON_MODE
#define PONG_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
@ -298,7 +299,11 @@ int keys(struct pong *p)
while(end > *rb->current_tick) {
key = rb->button_get_w_tmo(end - *rb->current_tick);
if(key & PONG_QUIT)
if(key & PONG_QUIT
#ifdef PONG_RC_QUIT
|| key & PONG_RC_QUIT
#endif
)
return 0; /* exit game NOW */
if(key & PONG_LEFT_DOWN) /* player left goes down */

View file

@ -45,6 +45,8 @@ PLUGIN_HEADER
#define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_ON
#define PUZZLE_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU)
@ -291,6 +293,9 @@ static int puzzle_loop(void)
while(true) {
button = rb->button_get(true);
switch (button) {
#ifdef PUZZLE_RC_QUIT
case PUZZLE_RC_QUIT:
#endif
case PUZZLE_QUIT:
/* get out of here */
return PLUGIN_OK;

View file

@ -55,6 +55,8 @@ PLUGIN_HEADER
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_ON
#define SNAKE_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
@ -219,6 +221,9 @@ void game_pause (void) {
while (1) {
button=rb->button_get(true);
switch (button) {
#ifdef SNAKE_RC_QUIT
case SNAKE_RC_QUIT:
#endif
case SNAKE_QUIT:
dead=1;
return;
@ -275,6 +280,9 @@ void game (void) {
case BUTTON_LEFT:
if (dir!=1) dir=3;
break;
#ifdef SNAKE_RC_QUIT
case SNAKE_RC_QUIT:
#endif
case SNAKE_QUIT:
dead=1;
return;
@ -336,6 +344,9 @@ void game_init(void) {
if (level>1)
level--;
break;
#ifdef SNAKE_RC_QUIT
case SNAKE_RC_QUIT:
#endif
case SNAKE_QUIT:
dead=1;
return;

View file

@ -181,6 +181,7 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE BUTTON_ON
#define SNAKE2_PLAYPAUSE_TEXT "Play"
#define SNAKE2_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SNAKE2_UP BUTTON_MENU
@ -1134,6 +1135,9 @@ void game (void)
if (dir != EAST) set_direction(WEST);
break;
#ifdef SNAKE2_RC_QUIT
case SNAKE2_RC_QUIT:
#endif
case SNAKE2_QUIT:
dead=1;
return;

View file

@ -47,6 +47,9 @@ PLUGIN_HEADER
#define SNOW_QUIT BUTTON_A
#else
#define SNOW_QUIT BUTTON_OFF
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNOW_RC_QUIT BUTTON_RC_STOP
#endif
#endif
static short particles[NUM_PARTICLES][2];
@ -189,7 +192,11 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
button = rb->button_get(false);
if (button == SNOW_QUIT)
if (button == SNOW_QUIT
#ifdef SNOW_RC_QUIT
|| button == SNOW_RC_QUIT
#endif
)
{
#ifdef HAVE_LCD_CHARCELLS
pgfx_release();

View file

@ -70,6 +70,8 @@ extern const fb_data sokoban_tiles[];
#define SOKOBAN_LEVEL_DOWN BUTTON_REC
#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT
#define SOKOBAN_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SOKOBAN_UP BUTTON_MENU
@ -563,6 +565,9 @@ static bool sokoban_loop(void)
switch(button)
{
#ifdef SOKOBAN_RC_QUIT
case SOKOBAN_RC_QUIT:
#endif
case SOKOBAN_QUIT:
/* get out of here */
#ifdef HAVE_LCD_COLOR /* reset background color */

View file

@ -109,6 +109,8 @@ static struct plugin_api* rb;
#define SOL_OPT BUTTON_ON
#define SOL_REM BUTTON_REC
#define SOL_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU)
@ -463,7 +465,9 @@ int solitaire_help(void){
#endif
rb->splash(HZ*2, true, HELP_SOL_REM2CUR);
break;
#ifdef SOL_RC_QUIT
case SOL_RC_QUIT:
#endif
case SOL_QUIT:
return HELP_QUIT;
@ -600,6 +604,10 @@ int solitaire_menu(unsigned char when_n)
case SOL_OPT:
return MENU_OPT;
#endif
#ifdef SOL_RC_QUIT
case SOL_RC_QUIT:
#endif
case SOL_QUIT:
return MENU_QUIT;
@ -1460,6 +1468,9 @@ int solitaire(void){
break;
/* Show the menu */
#ifdef SOL_RC_QUIT
case SOL_RC_QUIT:
#endif
case SOL_QUIT:
#if LCD_DEPTH>1
rb->lcd_set_background(LCD_DEFAULT_BG);

View file

@ -65,6 +65,8 @@ static struct plugin_api* rb; /* global api struct pointer */
#define AST_FIRE BUTTON_SELECT
#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT
#define AST_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
#define AST_PAUSE BUTTON_PLAY
#define AST_QUIT BUTTON_POWER
@ -1532,6 +1534,9 @@ enum plugin_status start_game(void)
game_state = PLAY_MODE;
break;
#ifdef AST_RC_QUIT
case AST_RC_QUIT:
#endif
case(AST_QUIT):
if(game_state == ATTRACT_MODE)
return PLUGIN_OK;

View file

@ -56,7 +56,7 @@ PLUGIN_HEADER
#define SPLITEDIT_SPEED150 (BUTTON_REC | BUTTON_RIGHT)
#define SPLITEDIT_MENU_RUN BUTTON_RIGHT
#define SPLITEDIT_RC_QUIT BUTTON_RC_STOP
#endif
#define BMPHEIGHT 7
@ -593,7 +593,11 @@ static int copy_file(
button = rb->button_get(false);
if (button == SPLITEDIT_QUIT) {
if (button == SPLITEDIT_QUIT
#ifdef SPLITEDIT_RC_QUIT
|| button == SPLITEDIT_RC_QUIT:
#endif
) {
rb->splash(0, true, "Aborting copy.");
rb->button_get(true);
rb->button_get(true);
@ -887,7 +891,9 @@ static void save_editor(struct mp3entry *mp3, int splittime)
break;
}
break;
#ifdef SPLITEDIT_RC_QUIT
case SPLITEDIT_RC_QUIT:
#endif
case SPLITEDIT_QUIT:
exit_request = true;
break;
@ -1171,6 +1177,9 @@ unsigned long splitedit_editor(struct mp3entry * mp3_to_split,
update_icons();
break;
#ifdef SPLITEDIT_RC_QUIT
case SPLITEDIT_RC_QUIT:
#endif
case SPLITEDIT_QUIT:
exit_request = true;
break;

View file

@ -95,6 +95,7 @@ PLUGIN_HEADER
#define STAR_LEVEL_REPEAT (BUTTON_MODE | BUTTON_UP)
#define STAR_MENU_RUN BUTTON_RIGHT
#define STAR_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
@ -687,6 +688,9 @@ static int star_run_game(void)
key = rb->button_get(true);
switch (key)
{
#ifdef STAR_RC_QUIT
case STAR_RC_QUIT:
#endif
case STAR_QUIT:
return 0;
@ -905,6 +909,9 @@ static int star_menu(void)
key = rb->button_get(false);
switch (key)
{
#ifdef STAR_RC_QUIT
case STAR_RC_QUIT:
#endif
case STAR_QUIT:
return PLUGIN_OK;
case STAR_UP:

View file

@ -51,6 +51,10 @@ static struct plugin_api* rb; /* global api struct pointer */
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define STARFIELD_RC_QUIT BUTTON_RC_STOP
#endif
#endif
#define LCD_CENTER_X (LCD_WIDTH/2)
@ -252,6 +256,9 @@ int plugin_main(void)
starfield_del_stars(&starfield, STARFIELD_INCREASE_STEP);
t_disp=MSG_DISP_TIME;
break;
#ifdef STARFIELD_RC_QUIT
case STARFIELD_RC_QUIT:
#endif
case(STARFIELD_QUIT):
case(SYS_USB_CONNECTED):
rb->backlight_set_timeout(rb->global_settings->backlight_timeout);

View file

@ -63,6 +63,9 @@ PLUGIN_HEADER
#define STOPWATCH_LAP_TIMER BUTTON_ON
#define STOPWATCH_SCROLL_UP BUTTON_RIGHT
#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT
#define STOPWATCH_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
#define STOPWATCH_QUIT BUTTON_MENU
@ -200,6 +203,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
{
/* exit */
#ifdef STOPWATCH_RC_QUIT
case STOPWATCH_RC_QUIT:
#endif
case STOPWATCH_QUIT:
done = true;
break;

View file

@ -35,6 +35,8 @@
#define TEXT_EDITOR_DELETE BUTTON_REC
#define TEXT_EDITOR_ITEM_MENU BUTTON_MODE
#define TEXT_EDITOR_RC_CANCEL BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define TEXT_EDITOR_SELECT_PRE BUTTON_SELECT
#define TEXT_EDITOR_SELECT ( BUTTON_SELECT | BUTTON_REL)
@ -461,6 +463,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
#ifdef TEXT_EDITOR_CANCEL_PRE
if (last_button != TEXT_EDITOR_CANCEL_PRE)
break;
#endif
#ifdef TEXT_EDITOR_RC_CANCEL
case TEXT_EDITOR_RC_CANCEL:
#endif
if (changed)
{

View file

@ -110,6 +110,8 @@ PLUGIN_HEADER
#define VIEWER_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT)
#define VIEWER_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT)
#define VIEWER_RC_QUIT BUTTON_RC_STOP
/* iPods with the 4G pad */
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD)
@ -1368,6 +1370,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
break;
#endif
#ifdef VIEWER_RC_QUIT
case VIEWER_RC_QUIT:
#endif
case VIEWER_QUIT:
viewer_exit(NULL);
done = true;

View file

@ -58,6 +58,8 @@ PLUGIN_HEADER
#define VUMETER_UP BUTTON_UP
#define VUMETER_DOWN BUTTON_DOWN
#define VUMETER_RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_4G_PAD)
#define VUMETER_QUIT BUTTON_MENU
@ -521,6 +523,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) {
button = rb->button_get_w_tmo(1);
switch (button)
{
#ifdef VUMETER_RC_QUIT
case VUMETER_RC_QUIT:
#endif
case VUMETER_QUIT:
save_settings();
return PLUGIN_OK;

View file

@ -83,6 +83,8 @@ PLUGIN_HEADER
#define BTN_QUIT (BUTTON_SELECT|BUTTON_MENU)
#define BTN_STOPRESET (BUTTON_SELECT|BUTTON_PLAY)
#define BTN_RC_QUIT BUTTON_RC_STOP
#define PLAYERS_TEXT "Menu/Play"
#define WORMS_TEXT "Left/Right"
@ -1487,6 +1489,9 @@ static int run(void)
else
paused = true;
break;
#ifdef BTN_RC_QUIT
case BTN_RC_QUIT:
#endif
case BTN_QUIT:
return 2; /* back to menu */
break;

View file

@ -31,6 +31,8 @@ PLUGIN_HEADER
#define DOWN BUTTON_DOWN
#define SELECT BUTTON_SELECT
#define RC_QUIT BUTTON_RC_STOP
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_4G_PAD)
@ -729,6 +731,9 @@ static int game_menu (void)
case RIGHT:
quit = true;
break;
#ifdef RC_QUIT
case RC_QUIT:
#endif
case QUIT:
selection = MENU_QUIT;
quit = true;