A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

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

+439 -149
+8 -1
apps/plugins/2048.c
··· 91 91 #define KEY_DOWN PLA_DOWN 92 92 #define KEY_LEFT PLA_LEFT 93 93 #define KEY_RIGHT PLA_RIGHT 94 + #define KEY_UNDO PLA_SELECT 95 + 96 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 97 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 98 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 99 + #define KEY_EXIT PLA_SELECT_REPEAT 100 + #else 94 101 #define KEY_EXIT PLA_CANCEL 95 - #define KEY_UNDO PLA_SELECT 102 + #endif 96 103 97 104 /* notice how "color" is spelled :P */ 98 105 #ifdef HAVE_LCD_COLOR
+6
apps/plugins/alarmclock.c
··· 138 138 while(!quit) { 139 139 button = get_button(); 140 140 141 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 142 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 143 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 144 + if (button == PLA_EXIT || button == PLA_CANCEL || button == PLA_UP) 145 + #else 141 146 if (button == PLA_EXIT || button == PLA_CANCEL) 147 + #endif 142 148 quit = true; 143 149 144 150 FOR_NB_SCREENS(i) {
+19 -4
apps/plugins/bounce.c
··· 34 34 static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; 35 35 36 36 /* We set button maping with PLA */ 37 - #define BOUNCE_UP PLA_UP 38 - #define BOUNCE_UP_REPEAT PLA_UP_REPEAT 39 - #define BOUNCE_DOWN PLA_DOWN 40 - #define BOUNCE_DOWN_REPEAT PLA_DOWN_REPEAT 41 37 42 38 #ifdef HAVE_SCROLLWHEEL 43 39 #define BOUNCE_LEFT PLA_SCROLL_BACK ··· 52 48 #endif 53 49 54 50 #define BOUNCE_QUIT PLA_EXIT 51 + 52 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 53 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 54 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 55 + #define BOUNCE_QUIT2 PLA_UP 56 + #define BOUNCE_DOWN PLA_LEFT 57 + #define BOUNCE_DOWN_REPEAT PLA_LEFT_REPEAT 58 + #define BOUNCE_UP PLA_RIGHT 59 + #define BOUNCE_UP_REPEAT PLA_RIGHT_REPEAT 60 + #else 55 61 #define BOUNCE_QUIT2 PLA_CANCEL 62 + #define BOUNCE_DOWN PLA_DOWN 63 + #define BOUNCE_DOWN_REPEAT PLA_DOWN_REPEAT 64 + #define BOUNCE_UP PLA_UP 65 + #define BOUNCE_UP_REPEAT PLA_UP_REPEAT 66 + #endif 56 67 #define BOUNCE_MODE PLA_SELECT 57 68 58 69 #define LETTER_WIDTH 11 ··· 471 482 #if (CONFIG_KEYPAD == SAMSUNG_YH92X_PAD) || \ 472 483 (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) 473 484 "[Rew] to stop"; 485 + #elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 486 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 487 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 488 + "[Menu] to stop"; 474 489 #else 475 490 "[Off] to stop"; 476 491 #endif
+9 -1
apps/plugins/bubbles.c
··· 79 79 #define ANGLE_STEP_REP 6 80 80 81 81 #define BUBBLES_QUIT1 PLA_EXIT 82 - #define BUBBLES_QUIT2 PLA_CANCEL 83 82 84 83 /* these are better off shooting with up */ 85 84 #if (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) \ ··· 92 91 #define BUBBLES_FIRE PLA_UP 93 92 #define BUBBLES_FIRE_REPEAT PLA_UP_REPEAT 94 93 #define BUBBLES_PAUSE PLA_SELECT 94 + #define BUBBLES_QUIT2 PLA_CANCEL 95 + #elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 96 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 97 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 98 + #define BUBBLES_FIRE PLA_SELECT 99 + #define BUBBLES_FIRE_REPEAT PLA_SELECT_REPEAT 100 + #define BUBBLES_PAUSE PLA_DOWN 101 + #define BUBBLES_QUIT2 PLA_UP 95 102 #else 96 103 #define BUBBLES_FIRE PLA_SELECT 97 104 #define BUBBLES_FIRE_REPEAT PLA_SELECT_REPEAT 98 105 #define BUBBLES_PAUSE PLA_UP 106 + #define BUBBLES_QUIT2 PLA_CANCEL 99 107 #endif 100 108 101 109 /* external bitmaps */
+5 -6
apps/plugins/calendar.c
··· 39 39 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 40 40 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 41 41 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 42 - #define CALENDAR_QUIT (BUTTON_SELECT|BUTTON_MENU) 42 + #define CALENDAR_QUIT (BUTTON_MENU|BUTTON_REL) 43 43 #define CALENDAR_SELECT (BUTTON_SELECT|BUTTON_REL) 44 44 #define CALENDAR_NEXT_WEEK BUTTON_SCROLL_FWD 45 45 #define CALENDAR_PREV_WEEK BUTTON_SCROLL_BACK 46 46 #define CALENDAR_NEXT_DAY BUTTON_RIGHT 47 47 #define CALENDAR_PREV_DAY BUTTON_LEFT 48 - #define CALENDAR_NEXT_MONTH BUTTON_PLAY 49 - #define CALENDAR_PREV_MONTH (BUTTON_MENU|BUTTON_REL) 50 48 51 49 #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) 52 50 #define CALENDAR_QUIT BUTTON_POWER ··· 1095 1093 case CALENDAR_QUIT: 1096 1094 exit = true; 1097 1095 break; 1098 - 1096 + #ifdef CALENDAR_NEXT_MONTH 1099 1097 case CALENDAR_NEXT_MONTH: 1100 1098 case CALENDAR_NEXT_MONTH | BUTTON_REPEAT: 1101 1099 next_month(&shown, 0); 1102 1100 break; 1103 - 1101 + #endif 1102 + #ifdef CALENDAR_PREV_MONTH 1104 1103 case CALENDAR_PREV_MONTH: 1105 1104 case CALENDAR_PREV_MONTH | BUTTON_REPEAT: 1106 1105 prev_month(&shown, 0); 1107 1106 break; 1108 - 1107 + #endif 1109 1108 case CALENDAR_NEXT_WEEK: 1110 1109 case CALENDAR_NEXT_WEEK | BUTTON_REPEAT: 1111 1110 next_day(&shown, 7);
+1 -1
apps/plugins/chessbox/chessbox_pgn.h
··· 33 33 #define CB_PLAY (BUTTON_SELECT | BUTTON_PLAY) 34 34 #define CB_LEVEL (BUTTON_SELECT | BUTTON_RIGHT) 35 35 #define CB_RESTART (BUTTON_SELECT | BUTTON_LEFT) 36 - #define CB_MENU (BUTTON_SELECT | BUTTON_MENU) 36 + #define CB_MENU (BUTTON_SELECT | BUTTON_REPEAT) 37 37 #define CB_SCROLL_UP (BUTTON_SCROLL_FWD|BUTTON_REPEAT) 38 38 #define CB_SCROLL_DOWN (BUTTON_SCROLL_BACK|BUTTON_REPEAT) 39 39 #define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
+5 -3
apps/plugins/clix.c
··· 66 66 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 67 67 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 68 68 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 69 - #define CLIX_BUTTON_QUIT (BUTTON_SELECT | BUTTON_MENU) 70 - #define CLIX_BUTTON_UP BUTTON_MENU 71 - #define CLIX_BUTTON_DOWN BUTTON_PLAY 69 + #define CLIX_BUTTON_QUIT BUTTON_MENU 72 70 #define CLIX_BUTTON_SCROLL_FWD BUTTON_SCROLL_FWD 73 71 #define CLIX_BUTTON_SCROLL_BACK BUTTON_SCROLL_BACK 74 72 #define CLIX_BUTTON_CLICK BUTTON_SELECT ··· 921 919 case CLIX_BUTTON_SCROLL_BACK: 922 920 case CLIX_BUTTON_SCROLL_BACK|BUTTON_REPEAT: 923 921 #endif 922 + #ifdef CLIX_BUTTON_UP 924 923 case CLIX_BUTTON_UP: 925 924 case CLIX_BUTTON_UP|BUTTON_REPEAT: 925 + #endif 926 926 if( state->y == 0 || 927 927 state->board[ XYPOS( state->x, state->y - 1)] == 928 928 CC_BLACK ··· 938 938 case CLIX_BUTTON_SCROLL_FWD: 939 939 case CLIX_BUTTON_SCROLL_FWD|BUTTON_REPEAT: 940 940 #endif 941 + #ifdef CLIX_BUTTON_DOWN 941 942 case CLIX_BUTTON_DOWN: 942 943 case CLIX_BUTTON_DOWN|BUTTON_REPEAT: 944 + #endif 943 945 if( state->y == (BOARD_HEIGHT - 1)) 944 946 state->y = 0; 945 947 else
+9 -1
apps/plugins/clock/clock.c
··· 44 44 45 45 #define ACTION_COUNTER_TOGGLE PLA_SELECT 46 46 #define ACTION_COUNTER_RESET PLA_SELECT_REPEAT 47 - #define ACTION_MENU PLA_CANCEL 48 47 #define ACTION_MODE_NEXT PLA_RIGHT 49 48 #define ACTION_MODE_NEXT_REPEAT PLA_RIGHT_REPEAT 50 49 #define ACTION_MODE_PREV PLA_LEFT 51 50 #define ACTION_MODE_PREV_REPEAT PLA_LEFT_REPEAT 51 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 52 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 53 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 54 + #define ACTION_MENU PLA_UP 55 + #else 56 + #define ACTION_MENU PLA_CANCEL 52 57 #define ACTION_SKIN_NEXT PLA_UP 53 58 #define ACTION_SKIN_NEXT_REPEAT PLA_UP_REPEAT 59 + #endif 54 60 #define ACTION_SKIN_PREV PLA_DOWN 55 61 #define ACTION_SKIN_PREV_REPEAT PLA_DOWN_REPEAT 56 62 ··· 165 171 case ACTION_SKIN_PREV: 166 172 clock_settings_skin_next(&clock_settings); 167 173 break; 174 + #if defined(ACTION_SKIN_NEXT) && defined(ACTION_SKIN_NEXT_REPEAT) 168 175 case ACTION_SKIN_NEXT_REPEAT: 169 176 case ACTION_SKIN_NEXT: 170 177 clock_settings_skin_previous(&clock_settings); 171 178 break; 179 + #endif 172 180 case ACTION_MENU: 173 181 clock_draw_restore_colors(); 174 182 exit_clock=main_menu();
+7
apps/plugins/codebuster.c
··· 438 438 if (button == PLA_SELECT) 439 439 break; 440 440 441 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 442 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 443 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 444 + if (button == PLA_UP) /* Menu button */ 445 + button = PLA_CANCEL; 446 + #endif 447 + 441 448 switch (button) { 442 449 443 450 /* Exit */
+10 -2
apps/plugins/cube.c
··· 52 52 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 53 53 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 54 54 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 55 - #define CUBE_QUIT (BUTTON_SELECT | BUTTON_MENU) 55 + #define CUBE_QUIT_PRE BUTTON_MENU 56 + #define CUBE_QUIT (BUTTON_MENU | BUTTON_REL) 56 57 #define CUBE_NEXT BUTTON_RIGHT 57 58 #define CUBE_PREV BUTTON_LEFT 58 59 #define CUBE_INC BUTTON_SCROLL_FWD 59 60 #define CUBE_DEC BUTTON_SCROLL_BACK 60 - #define CUBE_MODE BUTTON_MENU 61 + #define CUBE_MODE_PRE BUTTON_MENU 62 + #define CUBE_MODE (BUTTON_MENU | BUTTON_REPEAT) 61 63 #define CUBE_PAUSE BUTTON_PLAY 62 64 #define CUBE_HIGHSPEED_PRE BUTTON_SELECT 63 65 #define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_REL) ··· 729 731 730 732 int button; 731 733 #if defined(CUBE_MODE_PRE) || \ 734 + defined(CUBE_QUIT_PRE) || \ 732 735 defined(CUBE_PAUSE_PRE) || \ 733 736 defined(CUBE_HIGHSPEED_PRE) 734 737 int lastbutton = BUTTON_NONE; ··· 903 906 case CUBE_RC_QUIT: 904 907 #endif 905 908 case CUBE_QUIT: 909 + #ifdef CUBE_QUIT_PRE 910 + if (lastbutton != CUBE_QUIT_PRE) 911 + break; 912 + #endif 906 913 quit = true; 907 914 break; 908 915 ··· 911 918 break; 912 919 } 913 920 #if defined(CUBE_MODE_PRE) || \ 921 + defined(CUBE_QUIT_PRE) || \ 914 922 defined(CUBE_PAUSE_PRE) || \ 915 923 defined(CUBE_HIGHSPEED_PRE) 916 924 if (button != BUTTON_NONE)
+18 -2
apps/plugins/demystify.c
··· 37 37 #define MIN_POLYGONS 1 38 38 39 39 /* Key assignement */ 40 - #define DEMYSTIFY_QUIT PLA_CANCEL 41 40 42 41 #ifdef HAVE_SCROLLWHEEL 43 42 43 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 44 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 45 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 46 + #define DEMYSTIFY_QUIT PLA_UP 47 + #else 48 + #define DEMYSTIFY_QUIT PLA_CANCEL 49 + #endif 50 + 44 51 #define DEMYSTIFY_INCREASE_SPEED PLA_SCROLL_FWD 45 52 #define DEMYSTIFY_DECREASE_SPEED PLA_SCROLL_BACK 46 53 #define DEMYSTIFY_INCREASE_SPEED_REPEAT PLA_SCROLL_FWD_REPEAT 47 54 #define DEMYSTIFY_DECREASE_SPEED_REPEAT PLA_SCROLL_BACK_REPEAT 55 + 56 + #define DEMYSTIFY_ADD_POLYGON PLA_RIGHT 57 + #define DEMYSTIFY_REMOVE_POLYGON PLA_LEFT 58 + #define DEMYSTIFY_ADD_POLYGON_REPEAT PLA_RIGHT_REPEAT 59 + #define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_LEFT_REPEAT 60 + 48 61 #else 62 + 63 + #define DEMYSTIFY_QUIT PLA_CANCEL 64 + 49 65 #define DEMYSTIFY_INCREASE_SPEED PLA_RIGHT 50 66 #define DEMYSTIFY_DECREASE_SPEED PLA_LEFT 51 67 #define DEMYSTIFY_INCREASE_SPEED_REPEAT PLA_RIGHT_REPEAT 52 68 #define DEMYSTIFY_DECREASE_SPEED_REPEAT PLA_LEFT_REPEAT 53 - #endif 54 69 55 70 #define DEMYSTIFY_ADD_POLYGON PLA_UP 56 71 #define DEMYSTIFY_REMOVE_POLYGON PLA_DOWN 57 72 #define DEMYSTIFY_ADD_POLYGON_REPEAT PLA_UP_REPEAT 58 73 #define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_DOWN_REPEAT 59 74 75 + #endif 60 76 const struct button_mapping *plugin_contexts[] 61 77 = {pla_main_ctx, 62 78 #if defined(HAVE_REMOTE_LCD)
+7
apps/plugins/dice.c
··· 28 28 #define INITIAL_NB_DICES 1 29 29 #define INITIAL_NB_SIDES 2 /* corresponds to 6 sides in the array */ 30 30 31 + 32 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 33 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 34 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 35 + #define DICE_QUIT PLA_UP 36 + #else 31 37 #define DICE_QUIT PLA_CANCEL 38 + #endif 32 39 #define DICE_ROLL PLA_SELECT 33 40 34 41
+29 -7
apps/plugins/fft/fft.c
··· 40 40 41 41 /* this set the context to use with PLA */ 42 42 static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; 43 - #define FFT_PREV_GRAPH PLA_LEFT 44 - #define FFT_NEXT_GRAPH PLA_RIGHT 45 - #define FFT_ORIENTATION PLA_CANCEL 46 - #define FFT_WINDOW PLA_SELECT 47 - #define FFT_AMP_SCALE PLA_UP 48 - #define FFT_FREQ_SCALE PLA_DOWN 49 - #define FFT_QUIT PLA_EXIT 43 + #define FFT_PREV_GRAPH PLA_LEFT 44 + #define FFT_NEXT_GRAPH PLA_RIGHT 45 + #define FFT_ORIENTATION PLA_CANCEL 46 + #define FFT_WINDOW PLA_SELECT_REL 47 + #define FFT_AMP_SCALE PLA_SELECT_REPEAT 48 + #define FFT_AMP_SCALE_PRE PLA_SELECT 49 + #define FFT_FREQ_SCALE PLA_DOWN 50 + 51 + 52 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 53 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 54 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 55 + #define FFT_QUIT PLA_UP 56 + #else 57 + #define FFT_QUIT PLA_EXIT 58 + #endif 50 59 51 60 #ifdef HAVE_LCD_COLOR 52 61 #include "pluginbitmaps/fft_colors.h" ··· 1257 1266 if(!fft_setup()) 1258 1267 return PLUGIN_ERROR; 1259 1268 1269 + #if defined(FFT_AMP_SCALE_PRE) 1270 + int lastbutton = BUTTON_NONE; 1271 + #endif 1272 + 1260 1273 while(run) 1261 1274 { 1262 1275 long delay = fft_draw(); ··· 1300 1313 break; 1301 1314 1302 1315 case FFT_AMP_SCALE: 1316 + #ifdef FFT_AMP_SCALE_PRE 1317 + if (lastbutton != FFT_AMP_SCALE_PRE) 1318 + break; 1319 + #endif 1303 1320 if (++fft.amp_scale >= FFT_MAX_AS) 1304 1321 fft.amp_scale = FFT_MIN_AS; 1305 1322 ··· 1328 1345 exit_on_usb(button); 1329 1346 break; 1330 1347 } 1348 + 1349 + #if defined(FFT_AMP_SCALE_PRE) 1350 + if (button != BUTTON_NONE) 1351 + lastbutton = button; 1352 + #endif 1331 1353 } 1332 1354 1333 1355 return PLUGIN_OK;
+8 -1
apps/plugins/fire.c
··· 56 56 }; 57 57 58 58 #define FIRE_QUIT PLA_CANCEL 59 - #define FIRE_QUIT2 PLA_EXIT 60 59 #define FIRE_SWITCH_FLAMES_TYPE PLA_LEFT 61 60 #define FIRE_SWITCH_FLAMES_MOVING PLA_RIGHT 61 + 62 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 63 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 64 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 65 + #define FIRE_QUIT2 PLA_UP 66 + #else 67 + #define FIRE_QUIT2 PLA_EXIT 68 + #endif 62 69 63 70 #ifdef HAVE_SCROLLWHEEL 64 71 #define FIRE_INCREASE_MULT PLA_SCROLL_FWD
+8 -1
apps/plugins/fireworks.c
··· 35 35 36 36 /* We use PLA */ 37 37 #define BTN_EXIT PLA_EXIT 38 - #define BTN_MENU PLA_CANCEL 39 38 #define BTN_FIRE PLA_SELECT 40 39 #define BTN_FIRE_REPEAT PLA_SELECT_REPEAT 40 + 41 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 42 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 43 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 44 + #define BTN_MENU PLA_UP 45 + #else 46 + #define BTN_MENU PLA_CANCEL 47 + #endif 41 48 42 49 /* The lowdown on source terminology: 43 50 * a ROCKET is launched from the LCD bottom.
+2 -2
apps/plugins/flipit.c
··· 49 49 #define FLIPIT_DOWN BUTTON_PLAY 50 50 #define FLIPIT_NEXT BUTTON_SCROLL_FWD 51 51 #define FLIPIT_PREV BUTTON_SCROLL_BACK 52 - #define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_MENU) 52 + #define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_REPEAT) 53 53 #define FLIPIT_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT) 54 54 #define FLIPIT_SOLVE (BUTTON_SELECT | BUTTON_PLAY) 55 55 #define FLIPIT_STEP_BY_STEP (BUTTON_SELECT | BUTTON_RIGHT) ··· 841 841 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 842 842 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 843 843 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 844 - rb->lcd_putsxy(2, 8, "[S-MENU] to stop"); 844 + rb->lcd_putsxy(2, 8, "Long [SELECT] to stop"); 845 845 rb->lcd_putsxy(2, 18, "[SELECT] toggle"); 846 846 rb->lcd_putsxy(2, 28, "[S-LEFT] shuffle"); 847 847 rb->lcd_putsxy(2, 38, "[S-PLAY] solution");
+1 -1
apps/plugins/fractals/fractal.h
··· 40 40 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 41 41 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 42 42 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 43 - #define FRACTAL_QUIT (BUTTON_SELECT | BUTTON_MENU) 43 + #define FRACTAL_QUIT (BUTTON_SELECT | BUTTON_REPEAT) 44 44 #define FRACTAL_UP BUTTON_MENU 45 45 #define FRACTAL_DOWN BUTTON_PLAY 46 46 #define FRACTAL_LEFT BUTTON_LEFT
+23 -7
apps/plugins/imageviewer/imageviewer.c
··· 353 353 static int ask_and_get_audio_buffer(const char *filename) 354 354 { 355 355 int button; 356 - #if defined(IMGVIEW_ZOOM_PRE) 356 + #if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_QUIT_PRE) 357 357 int lastbutton = BUTTON_NONE; 358 358 #endif 359 359 rb->lcd_setfont(FONT_SYSFIXED); ··· 392 392 #endif 393 393 #ifdef IMGVIEW_QUIT 394 394 case IMGVIEW_QUIT: 395 + #ifdef IMGVIEW_QUIT_PRE 396 + if (lastbutton != IMGVIEW_QUIT_PRE) 397 + break; 398 + #endif 395 399 #endif 396 400 case IMGVIEW_MENU: 397 401 return PLUGIN_OK; ··· 424 428 == SYS_USB_CONNECTED) 425 429 return PLUGIN_USB_CONNECTED; 426 430 } 427 - #if defined(IMGVIEW_ZOOM_PRE) 431 + #if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_QUIT_PRE) 428 432 if (button != BUTTON_NONE) 429 433 lastbutton = button; 430 434 #endif ··· 572 576 } 573 577 574 578 /* interactively scroll around the image */ 575 - static int scroll_bmp(struct image_info *info) 579 + static int scroll_bmp(struct image_info *info, bool initial_frame) 576 580 { 577 581 static long ss_timeout = 0; 578 582 579 583 int button; 580 584 #if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) \ 581 - || defined(IMGVIEW_SLIDE_SHOW_PRE) 582 - int lastbutton = BUTTON_NONE; 585 + || defined(IMGVIEW_SLIDE_SHOW_PRE) || defined(IMGVIEW_QUIT_PRE) 586 + static int lastbutton; 587 + if (initial_frame) 588 + lastbutton = BUTTON_NONE; 589 + 590 + #else 591 + (void) initial_frame; 583 592 #endif 584 593 585 594 if (!ss_timeout && iv_api.slideshow_enabled) ··· 745 754 746 755 #ifdef IMGVIEW_QUIT 747 756 case IMGVIEW_QUIT: 757 + #ifdef IMGVIEW_QUIT_PRE 758 + if (lastbutton != IMGVIEW_QUIT_PRE) 759 + break; 760 + #endif 748 761 return PLUGIN_OK; 749 762 break; 750 763 #endif ··· 756 769 break; 757 770 758 771 } /* switch */ 759 - #if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) || defined(IMGVIEW_SLIDE_SHOW_PRE) 772 + #if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) ||\ 773 + defined(IMGVIEW_SLIDE_SHOW_PRE) || defined(IMGVIEW_QUIT_PRE) 760 774 if (button != BUTTON_NONE) 761 775 lastbutton = button; 762 776 #endif ··· 922 936 923 937 /* used to loop through subimages in animated gifs */ 924 938 int frame = 0; 939 + bool initial_frame = true; 925 940 do /* loop the image prepare and decoding when zoomed */ 926 941 { 927 942 status = imgdec->get_image(info, frame, ds); /* decode or fetch from cache */ ··· 954 969 */ 955 970 while (1) 956 971 { 957 - status = scroll_bmp(info); 972 + status = scroll_bmp(info, initial_frame); 973 + initial_frame = false; 958 974 959 975 if (status == ZOOM_IN) 960 976 {
+4 -2
apps/plugins/imageviewer/imageviewer_button.h
··· 53 53 #define IMGVIEW_RIGHT BUTTON_RIGHT 54 54 #define IMGVIEW_NEXT (BUTTON_SELECT | BUTTON_RIGHT) 55 55 #define IMGVIEW_PREVIOUS (BUTTON_SELECT | BUTTON_LEFT) 56 - #define IMGVIEW_MENU (BUTTON_SELECT | BUTTON_MENU) 57 - #define IMGVIEW_QUIT (BUTTON_SELECT | BUTTON_PLAY) 56 + #define IMGVIEW_MENU_PRE BUTTON_SELECT 57 + #define IMGVIEW_MENU (BUTTON_SELECT | BUTTON_REPEAT) 58 + #define IMGVIEW_QUIT_PRE BUTTON_SELECT 59 + #define IMGVIEW_QUIT (BUTTON_SELECT | BUTTON_REL) 58 60 59 61 #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 60 62 #define IMGVIEW_ZOOM_PRE BUTTON_SELECT
+8 -1
apps/plugins/jackpot.c
··· 25 25 #include "lib/pluginlib_exit.h" 26 26 27 27 28 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 29 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 30 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 31 + #define JACKPOT_QUIT PLA_UP 32 + #else 33 + #define JACKPOT_QUIT PLA_CANCEL 34 + #endif 28 35 29 36 const struct button_mapping* plugin_contexts[]={pla_main_ctx}; 30 37 #define NB_PICTURES 9 ··· 248 255 plugin_contexts, ARRAYLEN(plugin_contexts)); 249 256 switch ( action ) 250 257 { 251 - case PLA_CANCEL: 258 + case JACKPOT_QUIT: 252 259 return PLUGIN_OK; 253 260 case PLA_SELECT: 254 261 jackpot_play_turn(&game);
+2 -2
apps/plugins/jewels.c
··· 49 49 #define JEWELS_PREV BUTTON_SCROLL_BACK 50 50 #define JEWELS_NEXT BUTTON_SCROLL_FWD 51 51 #define JEWELS_SELECT BUTTON_SELECT 52 - #define JEWELS_CANCEL (BUTTON_SELECT | BUTTON_MENU) 52 + #define JEWELS_CANCEL (BUTTON_SELECT | BUTTON_REPEAT) 53 53 #define HK_SELECT "SELECT" 54 - #define HK_CANCEL "SEL + MENU" 54 + #define HK_CANCEL "Long SELECT" 55 55 56 56 #elif (CONFIG_KEYPAD == IPOD_3G_PAD) 57 57 #define JEWELS_LEFT BUTTON_LEFT
+7
apps/plugins/lamp.c
··· 58 58 59 59 60 60 #define LAMP_EXIT PLA_EXIT 61 + 62 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 63 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 64 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 65 + #define LAMP_EXIT2 PLA_UP 66 + #else 61 67 #define LAMP_EXIT2 PLA_CANCEL 68 + #endif 62 69 63 70 64 71 #ifdef HAVE_LCD_COLOR
+13 -1
apps/plugins/logo.c
··· 49 49 50 50 /* We use PLA */ 51 51 #define LP_QUIT PLA_EXIT 52 - #define LP_QUIT2 PLA_CANCEL 53 52 #define LP_DEC_X PLA_LEFT 54 53 #define LP_DEC_X_REPEAT PLA_LEFT_REPEAT 55 54 #define LP_INC_X PLA_RIGHT 56 55 #define LP_INC_X_REPEAT PLA_RIGHT_REPEAT 56 + 57 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 58 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 59 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 60 + #define LP_QUIT2 PLA_UP 61 + #define LP_DEC_Y PLA_SCROLL_BACK 62 + #define LP_DEC_Y_REPEAT PLA_SCROLL_BACK_REPEAT 63 + #define LP_INC_Y PLA_SCROLL_FWD 64 + #define LP_INC_Y_REPEAT PLA_SCROLL_FWD_REPEAT 65 + #else 66 + #define LP_QUIT2 PLA_CANCEL 57 67 #define LP_DEC_Y PLA_DOWN 58 68 #define LP_DEC_Y_REPEAT PLA_DOWN_REPEAT 59 69 #define LP_INC_Y PLA_UP 60 70 #define LP_INC_Y_REPEAT PLA_UP_REPEAT 71 + #endif 72 + 61 73 62 74 enum plugin_status plugin_start(const void* parameter) { 63 75 int button;
+8 -1
apps/plugins/matrix.c
··· 52 52 /* this set the context to use with PLA */ 53 53 static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; 54 54 55 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 56 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 57 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 58 + #define MATRIX_EXIT2 PLA_UP 59 + #else 60 + #define MATRIX_EXIT2 PLA_CANCEL 61 + #endif 62 + 55 63 #ifdef HAVE_SCROLLWHEEL 56 64 #define MATRIX_SLEEP_MORE PLA_SCROLL_BACK 57 65 #define MATRIX_SLEEP_MORE_REPEAT PLA_SCROLL_BACK_REPEAT ··· 65 73 #endif /* HAVE_SCROLLWHEEL */ 66 74 #define MATRIX_PAUSE PLA_SELECT 67 75 #define MATRIX_EXIT PLA_EXIT 68 - #define MATRIX_EXIT2 PLA_CANCEL 69 76 70 77 #define SLEEP HZ/50 71 78
+11 -4
apps/plugins/maze.c
··· 37 37 38 38 /* key assignments */ 39 39 40 - #if (CONFIG_KEYPAD == IPOD_3G_PAD) 40 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 41 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 42 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 41 43 # define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) 42 44 # define MAZE_NEW_PRE BUTTON_SELECT 43 45 # define MAZE_QUIT BUTTON_MENU 44 - # define MAZE_SOLVE (BUTTON_SELECT | BUTTON_PLAY) 46 + # define MAZE_SOLVE (BUTTON_SELECT | BUTTON_REL) 47 + # define MAZE_SOLVE_PRE BUTTON_SELECT 45 48 # define MAZE_RIGHT BUTTON_RIGHT 46 49 # define MAZE_RIGHT_REPEAT BUTTON_RIGHT|BUTTON_REPEAT 47 50 # define MAZE_LEFT BUTTON_LEFT ··· 491 494 enum plugin_status plugin_start(const void* parameter) 492 495 { 493 496 int button; 494 - #ifdef MAZE_NEW_PRE 497 + #if defined(MAZE_NEW_PRE) || defined(MAZE_SOLVE_PRE) 495 498 int lastbutton = BUTTON_NONE; 496 499 #endif 497 500 int quit = 0; ··· 544 547 maze_draw(&maze, rb->screens[i]); 545 548 break; 546 549 case MAZE_SOLVE: 550 + #ifdef MAZE_SOLVE_PRE 551 + if(lastbutton != MAZE_SOLVE_PRE) 552 + break; 553 + #endif 547 554 maze_solve(&maze); 548 555 FOR_NB_SCREENS(i) 549 556 maze_draw(&maze, rb->screens[i]); ··· 583 590 } 584 591 break; 585 592 } 586 - #ifdef MAZE_NEW_PRE 593 + #if defined(MAZE_NEW_PRE) || defined(MAZE_SOLVE_PRE) 587 594 if( button != BUTTON_NONE ) 588 595 lastbutton = button; 589 596 #endif
+3 -1
apps/plugins/mazezam.c
··· 27 27 /* Include standard plugin macro */ 28 28 29 29 30 - #if (CONFIG_KEYPAD == IPOD_3G_PAD) 30 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 31 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 32 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 31 33 # define MAZEZAM_MENU BUTTON_MENU 32 34 # define MAZEZAM_RIGHT BUTTON_RIGHT 33 35 # define MAZEZAM_LEFT BUTTON_LEFT
+6
apps/plugins/metronome.c
··· 82 82 #define MET_SYNC 83 83 #endif 84 84 85 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 86 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 87 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 88 + #define METRONOME_QUIT PLA_UP 89 + #else 85 90 #define METRONOME_QUIT PLA_EXIT 91 + #endif 86 92 87 93 #ifdef HAVE_SCROLLWHEEL 88 94 #define METRONOME_VOL_UP PLA_SCROLL_FWD
+9 -2
apps/plugins/mosaique.c
··· 37 37 static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; 38 38 39 39 #define MOSAIQUE_QUIT PLA_EXIT 40 - #define MOSAIQUE_QUIT2 PLA_CANCEL 41 - #define MOSAIQUE_SPEED PLA_UP 40 + #define MOSAIQUE_SPEED PLA_RIGHT 42 41 #define MOSAIQUE_RESTART PLA_SELECT 42 + 43 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 44 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 45 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 46 + #define MOSAIQUE_QUIT2 PLA_UP 47 + #else 48 + #define MOSAIQUE_QUIT2 PLA_CANCEL 49 + #endif 43 50 44 51 enum plugin_status plugin_start(const void* parameter) 45 52 {
+1
apps/plugins/open_plugins.c
··· 904 904 } 905 905 break; 906 906 case ACTION_STD_CANCEL: 907 + case ACTION_STD_MENU: 907 908 { 908 909 selection = -2; 909 910 exit = true;
+6 -4
apps/plugins/oscilloscope.c
··· 47 47 48 48 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 49 49 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 50 - #define OSCILLOSCOPE_QUIT (BUTTON_SELECT | BUTTON_MENU) 51 - #define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_PLAY) 50 + #define OSCILLOSCOPE_QUIT BUTTON_MENU 51 + #define OSCILLOSCOPE_GRAPHMODE_PRE BUTTON_SELECT 52 + #define OSCILLOSCOPE_GRAPHMODE (BUTTON_SELECT | BUTTON_REL) 53 + #define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_SELECT 54 + #define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_REPEAT) 52 55 #define OSCILLOSCOPE_ADVMODE (BUTTON_SELECT | BUTTON_RIGHT) 53 56 #define OSCILLOSCOPE_ORIENTATION (BUTTON_SELECT | BUTTON_LEFT) 54 - #define OSCILLOSCOPE_GRAPHMODE BUTTON_MENU 55 - #define OSCILLOSCOPE_PAUSE BUTTON_PLAY 57 + #define OSCILLOSCOPE_PAUSE BUTTON_PLAY | BUTTON_REL 56 58 #define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT 57 59 #define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT 58 60 #define OSCILLOSCOPE_VOL_UP BUTTON_SCROLL_FWD
+2 -2
apps/plugins/pegbox.c
··· 65 65 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 66 66 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 67 67 #define PEGBOX_SELECT (BUTTON_SELECT|BUTTON_RIGHT) 68 - #define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_PLAY) 68 + #define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_REPEAT) 69 69 #define PEGBOX_RESTART (BUTTON_SELECT|BUTTON_LEFT) 70 70 #define PEGBOX_LVL_UP (BUTTON_SELECT|BUTTON_MENU) 71 71 #define PEGBOX_UP BUTTON_MENU ··· 74 74 #define PEGBOX_LEFT BUTTON_LEFT 75 75 76 76 #define SELECT_TEXT "SELECT+RIGHT" 77 - #define QUIT_TEXT "SELECT+PLAY" 77 + #define QUIT_TEXT "Long SELECT" 78 78 #define RESTART_TEXT "SELECT+LEFT" 79 79 #define LVL_UP_TEXT "SELECT+MENU" 80 80 #define LVL_DOWN_TEXT "-"
-1
apps/plugins/periodic_table.c
··· 619 619 switch (button) 620 620 { 621 621 case PERIODIC_KEY_SELECT: 622 - break; 623 622 case PERIODIC_KEY_MENU: 624 623 return PLUGIN_OK; 625 624 break;
+2 -1
apps/plugins/pictureflow/pictureflow.c
··· 152 152 #elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 153 153 || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 154 154 || (CONFIG_KEYPAD == IPOD_4G_PAD) 155 - {PF_QUIT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU}, 155 + {PF_MENU, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU}, 156 + {PF_QUIT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU}, 156 157 {PF_SORTING_NEXT, BUTTON_SELECT|BUTTON_MENU, BUTTON_NONE}, 157 158 {PF_SORTING_PREV, BUTTON_SELECT|BUTTON_PLAY, BUTTON_NONE}, 158 159 #elif CONFIG_KEYPAD == MPIO_HD300_PAD
+5
apps/plugins/pitch_detector.c
··· 1013 1013 break; 1014 1014 1015 1015 case PLA_CANCEL: 1016 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 1017 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 1018 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 1019 + case PLA_UP: 1020 + #endif 1016 1021 rb->pcm_stop_recording(); 1017 1022 quit = main_menu(); 1018 1023 if(!quit)
+9
apps/plugins/plasma.c
··· 268 268 269 269 switch(action) 270 270 { 271 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 272 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 273 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 274 + case PLA_UP: 275 + #endif 271 276 case PLA_EXIT: 272 277 case PLA_CANCEL: 273 278 return PLUGIN_OK; ··· 277 282 case PLA_SCROLL_FWD: 278 283 case PLA_SCROLL_FWD_REPEAT: 279 284 #endif 285 + #if (CONFIG_KEYPAD != IPOD_1G2G_PAD) \ 286 + && (CONFIG_KEYPAD != IPOD_3G_PAD) \ 287 + && (CONFIG_KEYPAD != IPOD_4G_PAD) 280 288 case PLA_UP: 289 + #endif 281 290 case PLA_UP_REPEAT: 282 291 ++plasma_frequency; 283 292 wave_table_generate();
+6
apps/plugins/robotfindskitten.c
··· 469 469 470 470 #define RFK_VERSION "v1.4142135.406" 471 471 472 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 473 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 474 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 475 + # define RFK_QUIT PLA_SELECT_REPEAT 476 + #else 472 477 # define RFK_QUIT PLA_CANCEL 478 + #endif 473 479 # define RFK_RIGHT PLA_RIGHT 474 480 # define RFK_LEFT PLA_LEFT 475 481 # define RFK_UP PLA_UP
+2 -1
apps/plugins/rockblox.c
··· 33 33 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 34 34 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 35 35 36 - #define ROCKBLOX_OFF (BUTTON_MENU | BUTTON_SELECT) 36 + #define ROCKBLOX_OFF (BUTTON_SELECT | BUTTON_REPEAT) 37 37 #define ROCKBLOX_ROTATE_CCW BUTTON_SCROLL_BACK 38 38 #define ROCKBLOX_ROTATE_CCW2 (BUTTON_MENU | BUTTON_REL) 39 39 #define ROCKBLOX_ROTATE_CW BUTTON_SCROLL_FWD ··· 41 41 #define ROCKBLOX_RIGHT BUTTON_RIGHT 42 42 #define ROCKBLOX_DOWN BUTTON_PLAY 43 43 #define ROCKBLOX_RESTART (BUTTON_SELECT | BUTTON_PLAY) 44 + #define ROCKBLOX_DROP_PRE BUTTON_SELECT 44 45 #define ROCKBLOX_DROP (BUTTON_SELECT | BUTTON_REL) 45 46 46 47 #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+7
apps/plugins/rockblox1d.c
··· 28 28 #define ONEDROCKBLOX_DOWN PLA_DOWN 29 29 #define ONEDROCKBLOX_DOWN_REPEAT PLA_DOWN_REPEAT 30 30 #define ONEDROCKBLOX_QUIT PLA_EXIT 31 + 32 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 33 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 34 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 35 + #define ONEDROCKBLOX_QUIT2 PLA_UP 36 + #else 31 37 #define ONEDROCKBLOX_QUIT2 PLA_CANCEL 38 + #endif 32 39 33 40 #define mrand(max) (short)(rb->rand()%max) 34 41
+6
apps/plugins/rocklife.c
··· 70 70 #define ROCKLIFE_INIT PLA_DOWN 71 71 #define ROCKLIFE_NEXT PLA_RIGHT 72 72 #define ROCKLIFE_NEXT_REP PLA_RIGHT_REPEAT 73 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 74 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 75 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 76 + #define ROCKLIFE_QUIT PLA_UP 77 + #else 73 78 #define ROCKLIFE_QUIT PLA_CANCEL 79 + #endif 74 80 #define ROCKLIFE_STATUS PLA_LEFT 75 81 76 82 #define PATTERN_RANDOM 0
+2 -2
apps/plugins/sliding_puzzle.c
··· 36 36 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 37 37 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 38 38 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 39 - #define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU) 39 + #define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_REPEAT) 40 40 #define PUZZLE_LEFT BUTTON_LEFT 41 41 #define PUZZLE_RIGHT BUTTON_RIGHT 42 42 #define PUZZLE_UP BUTTON_MENU ··· 848 848 #if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 849 849 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 850 850 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 851 - rb->lcd_putsxy(0, 18, "[S-MENU] to stop"); 851 + rb->lcd_putsxy(0, 18, "Long [SELECT] to stop"); 852 852 rb->lcd_putsxy(0, 28, "[S-LEFT] shuffle"); 853 853 rb->lcd_putsxy(0, 38, "[S-RIGHT] change pic"); 854 854 #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+2 -2
apps/plugins/snake.c
··· 55 55 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 56 56 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 57 57 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 58 - #define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU) 58 + #define SNAKE_QUIT (BUTTON_SELECT|BUTTON_REPEAT) 59 59 #define SNAKE_LEFT BUTTON_LEFT 60 60 #define SNAKE_RIGHT BUTTON_RIGHT 61 61 #define SNAKE_UP BUTTON_MENU 62 62 #define SNAKE_DOWN BUTTON_PLAY 63 - #define SNAKE_PLAYPAUSE BUTTON_SELECT 63 + #define SNAKE_PLAYPAUSE (BUTTON_SELECT|BUTTON_REL) 64 64 65 65 #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) 66 66 #define SNAKE_QUIT BUTTON_POWER
+2 -2
apps/plugins/snake2.c
··· 181 181 #define SNAKE2_RIGHT BUTTON_RIGHT 182 182 #define SNAKE2_UP BUTTON_MENU 183 183 #define SNAKE2_DOWN BUTTON_PLAY 184 - #define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_MENU) 185 - #define SNAKE2_PLAYPAUSE BUTTON_SELECT 184 + #define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_REPEAT) 185 + #define SNAKE2_PLAYPAUSE (BUTTON_SELECT | BUTTON_REL) 186 186 #define SNAKE2_PLAYPAUSE_TEXT "Select" 187 187 188 188 #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
+7 -1
apps/plugins/snow.c
··· 30 30 31 31 /* PLA definitions */ 32 32 #define SNOW_QUIT PLA_EXIT 33 - #define SNOW_QUIT2 PLA_CANCEL 34 33 34 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 35 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 36 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 37 + #define SNOW_QUIT2 PLA_UP 38 + #else 39 + #define SNOW_QUIT2 PLA_CANCEL 40 + #endif 35 41 static short particles[NUM_PARTICLES][2]; 36 42 37 43 #if LCD_WIDTH >= 160
+1 -1
apps/plugins/sokoban.c
··· 125 125 #define SOKOBAN_RIGHT BUTTON_RIGHT 126 126 #define SOKOBAN_UP BUTTON_MENU 127 127 #define SOKOBAN_DOWN BUTTON_PLAY 128 - #define SOKOBAN_MENU (BUTTON_SELECT | BUTTON_MENU) 128 + #define SOKOBAN_MENU (BUTTON_SELECT | BUTTON_REPEAT) 129 129 #define SOKOBAN_UNDO_PRE BUTTON_SELECT 130 130 #define SOKOBAN_UNDO (BUTTON_SELECT | BUTTON_REL) 131 131 #define SOKOBAN_REDO (BUTTON_SELECT | BUTTON_PLAY)
+1 -1
apps/plugins/solitaire.c
··· 56 56 57 57 #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 58 58 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 59 - # define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU) 59 + # define SOL_QUIT (BUTTON_SELECT | BUTTON_REPEAT) 60 60 # define SOL_UP BUTTON_SCROLL_BACK 61 61 # define SOL_DOWN BUTTON_SCROLL_FWD 62 62 # define SOL_LEFT_PRE BUTTON_LEFT
+2 -2
apps/plugins/star.c
··· 80 80 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 81 81 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 82 82 83 - #define STAR_QUIT (BUTTON_SELECT | BUTTON_MENU) 83 + #define STAR_QUIT (BUTTON_SELECT | BUTTON_REPEAT) 84 84 #define STAR_LEFT BUTTON_LEFT 85 85 #define STAR_RIGHT BUTTON_RIGHT 86 86 #define STAR_UP BUTTON_MENU ··· 91 91 #define STAR_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT) 92 92 #define STAR_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY) 93 93 #define STAR_TOGGLE_CONTROL_NAME "SELECT" 94 - #define STAR_QUIT_NAME "S + MENU" 94 + #define STAR_QUIT_NAME "Long SELECT" 95 95 #define STAR_LEVEL_UP_NAME "S >" 96 96 #define STAR_LEVEL_DOWN_NAME "S <" 97 97 #define STAR_LEVEL_REPEAT_NAME "S + PLAY"
+10
apps/plugins/starfield.c
··· 27 27 28 28 /* Key assignement */ 29 29 #define STARFIELD_QUIT PLA_EXIT 30 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 31 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 32 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 33 + #define STARFIELD_QUIT2 PLA_UP 34 + #define STARFIELD_INCREASE_ZMOVE PLA_SCROLL_FWD 35 + #define STARFIELD_INCREASE_ZMOVE_REPEAT PLA_SCROLL_FWD_REPEAT 36 + #define STARFIELD_DECREASE_ZMOVE PLA_SCROLL_BACK 37 + #define STARFIELD_DECREASE_ZMOVE_REPEAT PLA_SCROLL_BACK_REPEAT 38 + #else 30 39 #define STARFIELD_QUIT2 PLA_CANCEL 31 40 #define STARFIELD_INCREASE_ZMOVE PLA_UP 32 41 #define STARFIELD_INCREASE_ZMOVE_REPEAT PLA_UP_REPEAT 33 42 #define STARFIELD_DECREASE_ZMOVE PLA_DOWN 34 43 #define STARFIELD_DECREASE_ZMOVE_REPEAT PLA_DOWN_REPEAT 44 + #endif 35 45 #define STARFIELD_INCREASE_NB_STARS PLA_RIGHT 36 46 #define STARFIELD_INCREASE_NB_STARS_REPEAT PLA_RIGHT_REPEAT 37 47 #define STARFIELD_DECREASE_NB_STARS PLA_LEFT
+9 -1
apps/plugins/stats.c
··· 29 29 30 30 /* we use PLA */ 31 31 #define STATS_STOP PLA_EXIT 32 + 33 + #if (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 34 + || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 35 + || (CONFIG_KEYPAD == IPOD_4G_PAD) 36 + #define STATS_STOP2 PLA_UP 37 + #else 32 38 #define STATS_STOP2 PLA_CANCEL 39 + #endif 40 + 33 41 /* this set the context to use with PLA */ 34 42 static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; 35 43 ··· 149 157 lasttick = *rb->current_tick; 150 158 button = pluginlib_getaction(TIMEOUT_NOBLOCK, plugin_contexts, 151 159 ARRAYLEN(plugin_contexts)); 152 - if (button == STATS_STOP) { 160 + if (button == STATS_STOP || button == STATS_STOP2) { 153 161 cancel = true; 154 162 break; 155 163 }
+1 -1
apps/plugins/wormlet.c
··· 54 54 #define BTN_DIR_LEFT BUTTON_LEFT 55 55 #define BTN_DIR_RIGHT BUTTON_RIGHT 56 56 #define BTN_STARTPAUSE (BUTTON_SELECT|BUTTON_REL) 57 - #define BTN_QUIT (BUTTON_SELECT|BUTTON_MENU) 57 + #define BTN_QUIT (BUTTON_SELECT|BUTTON_REPEAT) 58 58 #define BTN_STOPRESET (BUTTON_SELECT|BUTTON_PLAY) 59 59 60 60 #elif (CONFIG_KEYPAD == IRIVER_H300_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
+2 -2
apps/plugins/xobox.c
··· 42 42 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 43 43 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 44 44 45 - #define QUIT (BUTTON_SELECT | BUTTON_MENU) 45 + #define QUIT (BUTTON_SELECT | BUTTON_REPEAT) 46 46 #define LEFT BUTTON_LEFT 47 47 #define RIGHT BUTTON_RIGHT 48 - #define PAUSE BUTTON_SELECT 48 + #define PAUSE (BUTTON_SELECT | BUTTON_REL) 49 49 #define MENU_UP BUTTON_SCROLL_FWD 50 50 #define MENU_DOWN BUTTON_SCROLL_BACK 51 51 #define UP BUTTON_MENU
+2 -1
manual/plugins/2048.tex
··· 14 14 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight} 15 15 & Slide tiles\\ 16 16 17 - \PluginCancel 17 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 18 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 18 19 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 19 20 & Go to menu\\ 20 21 \end{btnmap}
+4 -2
manual/plugins/alarmclock.tex
··· 9 9 & Switch between hours/minutes selection \\ 10 10 11 11 \opt{scrollwheel}{\PluginScrollBack{} / \PluginScrollFwd{} or} 12 - \PluginUp{} / \PluginDown 12 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} 13 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginDown} 13 14 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown} 14 15 & Increase/Decrease hours/minutes \\ 15 16 ··· 17 18 \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} 18 19 & Set the alarm \\ 19 20 20 - \PluginCancel 21 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 22 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 21 23 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 22 24 & Exit \\ 23 25 \end{btnmap}
+4 -2
manual/plugins/bounce.tex
··· 6 6 scrolling from right to left. 7 7 8 8 \begin{btnmap} 9 - \PluginUp / \PluginDown 9 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} 10 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginLeft{} / \PluginRight} 10 11 \opt{HAVEREMOTEKEYMAP}{& } 11 12 & Moves to next/previous option\\ 12 13 \nopt{scrollwheel} { ··· 20 21 \PluginSelect 21 22 \opt{HAVEREMOTEKEYMAP}{& } 22 23 & Toggles Scroll mode\\ 23 - \PluginCancel{} or \PluginExit 24 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} 25 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp} 24 26 \opt{HAVEREMOTEKEYMAP}{& } 25 27 & Exits bounce demo\\ 26 28 \end{btnmap}
+4 -2
manual/plugins/bubbles.tex
··· 10 10 11 11 \begin{btnmap} 12 12 \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\PluginSelect} 13 - \nopt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\PluginUp} 13 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay} 14 + \nopt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp} 14 15 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp} 15 16 & Pause game\\ 16 17 ··· 24 25 \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} 25 26 & Fire bubble\\ 26 27 27 - \PluginCancel{} or \PluginExit 28 + \nopt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} 29 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 28 30 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 29 31 & Exit to menu\\ 30 32 \end{btnmap}
+3 -3
manual/plugins/calendar.tex
··· 37 37 \opt{MPIO_HD300_PAD}{\ButtonRew / \ButtonFF 38 38 & Previous / Next week\\} 39 39 % 40 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{ 40 41 \opt{MROBE100_PAD}{\ButtonMenu{} + \ButtonUp{} / \ButtonDown} 41 42 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode{} / \ButtonRec} 42 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay{} / \ButtonMenu} 43 43 \opt{IAUDIO_X5_PAD}{\ButtonRec{} / \ButtonPlay} 44 44 \opt{GIGABEAT_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp{} / \ButtonVolDown} 45 45 \opt{GIGABEAT_S_PAD}{\ButtonNext{} / \ButtonPrev} ··· 52 52 \opt{MPIO_HD300_PAD}{\ButtonRec{} / \ButtonPlay} 53 53 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack{} / \ButtonPlay} 54 54 \opt{HAVEREMOTEKEYMAP}{& } 55 - & Previous / Next month\\ 55 + & Previous / Next month\\} 56 56 % 57 57 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 58 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu{} + \ButtonSelect} 58 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 59 59 \opt{GIGABEAT_S_PAD}{\ButtonBack} 60 60 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower} 61 61 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+1 -1
manual/plugins/chessbox.tex
··· 74 74 \opt{HAVEREMOTEKEYMAP}{& } 75 75 & Force play\\ 76 76 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 77 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 77 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 78 78 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD% 79 79 ,MROBE100_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 80 80 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+2 -1
manual/plugins/clix.tex
··· 17 17 ,SANSA_FUZE_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% 18 18 ,SAMSUNG_YH820_PAD} 19 19 {\ButtonUp/\ButtonDown} 20 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu/\ButtonPlay} 20 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} 21 21 \opt{IRIVER_H10_PAD}{\ButtonScrollUp/\ButtonScrollDown} 22 22 \opt{HAVEREMOTEKEYMAP}{& } 23 23 & Move the cursor around the blocks \\ ··· 32 32 } 33 33 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD} 34 34 {\ButtonOff} 35 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 35 36 \opt{IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD% 36 37 ,IAUDIO_X5_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 37 38 \opt{SANSA_FUZE_PAD}{\ButtonHome}
+4 -2
manual/plugins/clock.tex
··· 10 10 \opt{HAVEREMOTEKEYMAP}{& \PluginRCLeft{} / \PluginRCRight} 11 11 & Cycle through modes \\ 12 12 13 - \PluginUp{} / \PluginDown 13 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} 14 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginDown} 14 15 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown} 15 16 & Cycle through skins \\ 16 17 17 - \PluginCancel 18 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 19 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 18 20 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 19 21 & Main Menu \\ 20 22
+2 -1
manual/plugins/codebuster.tex
··· 10 10 peg in the wrong position. 11 11 12 12 \begin{btnmap} 13 - \PluginCancel 13 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 14 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 14 15 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 15 16 & Show menu \\ 16 17
+2 -2
manual/plugins/cube.tex
··· 4 4 \begin{btnmap} 5 5 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 6 6 ,IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_S_PAD}{\ButtonSelect} 7 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay} 7 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect} 8 8 \opt{IRIVER_H10_PAD}{\ButtonFF} 9 9 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF} 10 10 \opt{GIGABEAT_PAD}{\ButtonA} ··· 30 30 \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD} 31 31 {\ButtonMenu} 32 32 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode} 33 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 33 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonMenu} 34 34 \opt{IAUDIO_X5_PAD,SANSA_FUZEPLUS_PAD}{\ButtonSelect} 35 35 \opt{IRIVER_H10_PAD}{\ButtonRew} 36 36 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+4 -2
manual/plugins/demystify.tex
··· 9 9 \opt{HAVEREMOTEKEYMAP}{& \PluginRCLeft{} / \PluginRCRight} 10 10 & Increase / decrease speed\\ 11 11 12 - \PluginUp{} / \PluginDown 12 + \nopt{scrollwheel}{\PluginUp{} / \PluginDown} 13 + \opt{scrollwheel}{\PluginLeft{} / \PluginRight} 13 14 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown} 14 15 & Add / remove polygon\\ 15 16 16 - \PluginCancel 17 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 18 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp} 17 19 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 18 20 & Quit\\ 19 21 \end{btnmap}
+2 -1
manual/plugins/dice.tex
··· 8 8 \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} 9 9 & Roll dice again\\ 10 10 11 - \PluginCancel 11 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 12 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 12 13 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 13 14 & Quit\\ 14 15 \end{btnmap}
+2 -1
manual/plugins/fire.tex
··· 16 16 \opt{HAVEREMOTEKEYMAP}{& \PluginRCRight} 17 17 & Toggle moving flames\\ 18 18 19 - \PluginCancel 19 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 20 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 20 21 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 21 22 & Quit\\ 22 23 \end{btnmap}
+1 -1
manual/plugins/flipit.tex
··· 76 76 \opt{HAVEREMOTEKEYMAP}{& } 77 77 & Solve step by step \\ 78 78 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 79 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 79 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 80 80 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,GIGABEAT_PAD,MROBE100_PAD% 81 81 ,SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 82 82 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+1 -1
manual/plugins/fractals.tex
··· 92 92 & Reset and return to the default image\\ 93 93 % 94 94 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 95 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 95 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 96 96 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 97 97 ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} 98 98 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+2 -2
manual/plugins/imageviewer.tex
··· 113 113 & Toggle slide show mode\\ 114 114 } 115 115 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 116 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 116 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 117 117 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonPower} 118 118 \opt{SANSA_FUZE_PAD}{Long \ButtonHome} 119 119 \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD}{\ButtonMenu} ··· 128 128 & Show menu / Abort \\ 129 129 \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD% 130 130 ,SAMSUNG_YH820_PAD}{ 131 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay} 131 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect} 132 132 \opt{GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower} 133 133 \opt{GIGABEAT_S_PAD}{\ButtonBack} 134 134 \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
+2 -1
manual/plugins/jackpot.tex
··· 9 9 \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect} 10 10 & Play\\ 11 11 12 - \PluginCancel 12 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 13 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 13 14 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 14 15 & Exit the game \\ 15 16 \end{btnmap}
+2 -2
manual/plugins/jewels.tex
··· 46 46 ,IAUDIO_X5_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 47 47 \opt{SANSA_FUZE_PAD}{Long \ButtonHome} 48 48 \opt{GIGABEAT_S_PAD}{\ButtonBack} 49 - \opt{IPOD_3G_PAD,MPIO_HD300_PAD}{\ButtonMenu} 50 - \opt{IPOD_4G_PAD}{\ButtonSelect+ \ButtonMenu} 49 + \opt{MPIO_HD300_PAD}{\ButtonMenu} 50 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 51 51 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 52 52 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 53 53 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+2 -1
manual/plugins/lamp.tex
··· 28 28 Toggle the button light 29 29 \\ 30 30 } 31 - \PluginCancel{} or \PluginExit 31 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} 32 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 32 33 & Exit to menu\\ 33 34 \end{btnmap}
+4 -2
manual/plugins/logo.tex
··· 9 9 Increase / decrease speed on the x-axis 10 10 \\ 11 11 12 - \PluginUp{} / \PluginDown 12 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} 13 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} 13 14 & 14 15 \opt{HAVEREMOTEKEYMAP}{ 15 16 &} 16 17 Increase / decrease speed on the y-axis 17 18 \\ 18 19 19 - \PluginCancel{} or \PluginExit 20 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} 21 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 20 22 & 21 23 \opt{HAVEREMOTEKEYMAP}{ 22 24 &}
+8 -8
manual/plugins/maze.tex
··· 4 4 one solution. 5 5 6 6 \begin{btnmap} 7 - \opt{IPOD_3G_PAD}{\ButtonScrollBack/\ButtonScrollFwd/\ButtonLeft/\ButtonRight} 8 - \nopt{IPOD_3G_PAD}{\PluginUp/\PluginDown/\PluginLeft/\PluginRight} 7 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack/\ButtonScrollFwd/\ButtonLeft/\ButtonRight} 8 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp/\PluginDown/\PluginLeft/\PluginRight} 9 9 & 10 10 \opt{HAVEREMOTEKEYMAP}{ 11 11 \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight ··· 13 13 Navigate maze 14 14 \\ 15 15 16 - \opt{IPOD_3G_PAD}{\ButtonMenu} 17 - \nopt{IPOD_3G_PAD}{\PluginCancel} 16 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 17 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 18 18 & 19 19 \opt{HAVEREMOTEKEYMAP}{\PluginRCCancel 20 20 &} 21 21 Exit plugin 22 22 \\ 23 23 24 - \opt{IPOD_3G_PAD}{Long \ButtonSelect} 25 - \nopt{IPOD_3G_PAD}{\PluginSelectRepeat} 24 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 25 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginSelectRepeat} 26 26 & 27 27 \opt{HAVEREMOTEKEYMAP}{\PluginRCSelectRepeat 28 28 &} 29 29 New Maze 30 30 \\ 31 31 32 - \opt{IPOD_3G_PAD}{\ButtonSelect} 33 - \nopt{IPOD_3G_PAD}{\PluginSelect} 32 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect} 33 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginSelect} 34 34 & 35 35 \opt{HAVEREMOTEKEYMAP}{\PluginRCSelect 36 36 &}
+4 -4
manual/plugins/mazezam.tex
··· 13 13 Luckily, there are checkpoints at levels four and eight. 14 14 15 15 \begin{btnmap} 16 - \opt{IPOD_3G_PAD}{\ButtonScrollBack, \ButtonScrollFwd, \ButtonLeft, \ButtonRight} 17 - \nopt{IPOD_3G_PAD}{\PluginUp, \PluginDown, \PluginLeft, \PluginRight} 16 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack, \ButtonScrollFwd, \ButtonLeft, \ButtonRight} 17 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp, \PluginDown, \PluginLeft, \PluginRight} 18 18 & 19 19 \opt{HAVEREMOTEKEYMAP}{ 20 20 \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight ··· 22 22 Move Character 23 23 \\ 24 24 25 - \opt{IPOD_3G_PAD}{\ButtonMenu} 26 - \nopt{IPOD_3G_PAD}{\PluginCancel} 25 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 26 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 27 27 & 28 28 \opt{HAVEREMOTEKEYMAP}{\PluginRCCancel 29 29 &}
+2 -1
manual/plugins/metronome.tex
··· 21 21 on the appropriate button. 22 22 23 23 \begin{btnmap} 24 - \PluginExit 24 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 25 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginExit} 25 26 \opt{HAVEREMOTEKEYMAP}{& } 26 27 & Exit plugin \\ 27 28
+4 -3
manual/plugins/mosaic.tex
··· 6 6 This simple graphics demo draws a mosaic picture on the screen of the \dap. 7 7 8 8 \begin{btnmap} 9 - \PluginUp 10 - & Change the gap between the drawing lines.\\ 9 + \PluginRight 10 + & Adjust the speed.\\ 11 11 \PluginSelect 12 12 & Restart the drawing process.\\ 13 - \PluginCancel{} or \PluginExit 13 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} 14 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 14 15 & Exits Mosaique demo\\ 15 16 \end{btnmap}
+2 -2
manual/plugins/oscilloscope.tex
··· 14 14 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD% 15 15 ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD% 16 16 ,SANSA_FUZEPLUS_PAD}{\ButtonSelect} 17 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay} 17 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 18 18 \opt{IRIVER_H10_PAD}{\ButtonRew} 19 19 \opt{GIGABEAT_S_PAD}{\ButtonPrev} 20 20 \opt{COWON_D2_PAD}{\TouchTopMiddle} ··· 92 92 \opt{HAVEREMOTEKEYMAP}{& } 93 93 & Increase / decrease speed\\ 94 94 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 95 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 95 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 96 96 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 97 97 ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD} 98 98 {\ButtonPower}
+1 -1
manual/plugins/pegbox.tex
··· 101 101 } 102 102 103 103 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 104 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect{} + \ButtonPlay} 104 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 105 105 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,GIGABEAT_PAD,MROBE100_PAD% 106 106 ,SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 107 107 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+2 -1
manual/plugins/periodic_table.tex
··· 7 7 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight} 8 8 & Move cursor\\ 9 9 10 - \PluginCancel 10 + \PluginCancel{} 11 + or \PluginSelect 11 12 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 12 13 & Quit\\ 13 14 \end{btnmap}
+4 -2
manual/plugins/pictureflow.tex
··· 157 157 Enter context menu 158 158 \\ 159 159 160 - \nopt{IAUDIO_M3_PAD,SANSA_FUZEPLUS_PAD,FIIO_M3K_PAD}{\ActionStdMenu} 160 + \nopt{IAUDIO_M3_PAD,SANSA_FUZEPLUS_PAD,FIIO_M3K_PAD% 161 + ,IPOD_4G_PAD,IPOD_3G_PAD}{\ActionStdMenu} 161 162 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{or \ButtonRew} 163 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonMenu} 162 164 \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonSelect} 163 165 \opt{FIIO_M3K_PAD}{\ButtonPower} 164 166 & ··· 173 175 \opt{IAUDIO_X5_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_E200_PAD,SANSA_CLIP_PAD% 174 176 ,MROBE100_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 175 177 \opt{SANSA_C200_PAD,IRIVER_H10_PAD}{Long \ButtonPower} 176 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonMenu} 178 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ActionStdMenu} 177 179 \opt{SANSA_FUZE_PAD}{Long \ButtonHome} 178 180 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 179 181 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{long \ButtonRew}
+3 -2
manual/plugins/plasma.tex
··· 4 4 Plasma is a demo displaying a 80's style retro plasma effect. 5 5 6 6 \begin{btnmap} 7 - \PluginUp{} / \PluginDown 7 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} 8 8 \opt{scrollwheel}{/ \PluginScrollFwd{} / \PluginScrollBack} 9 9 & 10 10 \opt{HAVEREMOTEKEYMAP}{\PluginRCUp{} / \PluginRCDown ··· 21 21 \\ 22 22 }% 23 23 24 - \PluginCancel{} / \PluginExit 24 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} / \PluginExit} 25 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 25 26 & 26 27 \opt{HAVEREMOTEKEYMAP}{\PluginRCCancel 27 28 \opt{IAUDIO_RC_PAD}{ / \PluginRCExit}
+2 -1
manual/plugins/robotfindskitten.tex
··· 11 11 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp, \PluginRCDown, \PluginRCLeft, \PluginRCRight} 12 12 & Move robot\\ 13 13 14 - \PluginCancel 14 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 15 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 15 16 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 16 17 & Quit\\ 17 18 \end{btnmap}
+1 -1
manual/plugins/rockblox.tex
··· 101 101 & Pause\\ 102 102 } 103 103 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 104 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect} 104 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 105 105 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower} 106 106 \opt{SANSA_FUZE_PAD}{Long \ButtonHome} 107 107 \opt{GIGABEAT_S_PAD}{\ButtonBack}
+2 -1
manual/plugins/rockblox1d.tex
··· 10 10 \opt{HAVEREMOTEKEYMAP}{& } 11 11 & Move down faster\\ 12 12 13 - \PluginCancel{} or \PluginExit 13 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} 14 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 14 15 \opt{HAVEREMOTEKEYMAP}{& } 15 16 & Quit\\ 16 17 \end{btnmap}
+2 -1
manual/plugins/rocklife.tex
··· 30 30 \opt{HAVEREMOTEKEYMAP}{& \PluginRCLeft} 31 31 & Status (only when paused)\\ 32 32 33 - \PluginCancel 33 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel} 34 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 34 35 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel} 35 36 & Exit\\ 36 37 \end{btnmap}
+1 -1
manual/plugins/sliding.tex
··· 59 59 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% 60 60 ,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 61 61 \opt{SANSA_FUZE_PAD}{Long \ButtonHome} 62 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 62 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 63 63 \opt{GIGABEAT_S_PAD}{\ButtonBack} 64 64 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 65 65 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+1
manual/plugins/snake.tex
··· 29 29 & Toggle Play/Pause\\ 30 30 % 31 31 \opt{SANSA_FUZEPLUS_PAD.XDUOO_X3_PAD}{\ButtonPower} 32 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 32 33 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} 33 34 \opt{HAVEREMOTEKEYMAP}{& } 34 35 & Go to the plugin's menu\\
+1 -1
manual/plugins/snake2.tex
··· 31 31 \opt{HAVEREMOTEKEYMAP}{& } 32 32 & Pause and resume the game\\ 33 33 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 34 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 34 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 35 35 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_M200_PAD,GIGABEAT_PAD% 36 36 ,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} 37 37 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+4 -1
manual/plugins/snow.tex
··· 2 2 \screenshot{plugins/images/ss-snow}{Have you ever seen snow falling?}{img:snow} 3 3 This demo replicates snow falling on your screen. If you love winter, 4 4 you will love this demo. Or maybe not. 5 - Press \PluginCancel{} or \PluginExit{} to quit. 5 + Press 6 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit{}} 7 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 8 + to quit. 6 9
+1 -1
manual/plugins/sokoban.tex
··· 33 33 \opt{HAVEREMOTEKEYMAP}{& } 34 34 & Move the ``sokoban'' up, down, left, or right\\ 35 35 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 36 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 36 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 37 37 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_E200_PAD,SANSA_C200_PAD% 38 38 ,SANSA_CLIP_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 39 39 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+1 -1
manual/plugins/solitaire.tex
··· 111 111 & Put the card on top of the remains stack on one of the final colour stacks.\\ 112 112 % 113 113 \opt{IRIVER_H300_PAD,IRIVER_H100_PAD}{\ButtonOff} 114 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu{} + \ButtonSelect} 114 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 115 115 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 116 116 ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower} 117 117 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+1 -1
manual/plugins/star.tex
··· 107 107 \opt{HAVEREMOTEKEYMAP}{& } 108 108 & Next level \\ 109 109 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 110 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} 110 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 111 111 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 112 112 ,GIGABEAT_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} 113 113 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
+4 -2
manual/plugins/starfield.tex
··· 8 8 \opt{HAVEREMOTEKEYMAP}{& } 9 9 & Increase / decrease number of stars\\ 10 10 11 - \PluginUp{} / \PluginDown 11 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginUp{} / \PluginDown} 12 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} 12 13 \opt{HAVEREMOTEKEYMAP}{& } 13 14 & Increase / decrease speed\\ 14 15 \opt{lcd_color}{% ··· 16 17 \opt{HAVEREMOTEKEYMAP}{& } 17 18 & Change colours\\% 18 19 }% 19 - \PluginCancel{} or \PluginExit 20 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit} 21 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 20 22 \opt{HAVEREMOTEKEYMAP}{& } 21 23 & Quit\\ 22 24 \end{btnmap}
+4 -1
manual/plugins/stats.tex
··· 5 5 (the total number as well as the number 6 6 of audio, playlist, image and video files) 7 7 on your \dap{}. 8 - Press \PluginCancel{} or \PluginExit{} to abort counting and 8 + Press 9 + \nopt{IPOD_4G_PAD,IPOD_3G_PAD}{\PluginCancel{} or \PluginExit{}} 10 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu} 11 + to abort counting and 9 12 exit the plugin. Press it again to quit after counting has 10 13 finished.
+2 -2
manual/plugins/wormlet.tex
··· 152 152 \begin{itemize} 153 153 \item If you want to quit Wormlet entirely simply hit 154 154 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}% 155 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect}% 155 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect}% 156 156 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD,XDUOO_X3_PAD}{\ButtonPower}% 157 157 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}% 158 158 \opt{PBELL_VIBE500_PAD}{\ButtonRec}% ··· 188 188 button again a new game starts with the same configuration. To return to the 189 189 games menu you can hit 190 190 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}% 191 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect}% 191 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect}% 192 192 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD,XDUOO_X3_PAD}{\ButtonPower}% 193 193 \opt{SANSA_FUZE_PAD}{Long \ButtonHome} 194 194 \opt{PBELL_VIBE500_PAD}{\ButtonRec}%
+1 -1
manual/plugins/xobox.tex
··· 36 36 \opt{HAVEREMOTEKEYMAP}{& } 37 37 & Pause\\ 38 38 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 39 - \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect{} + \ButtonMenu} 39 + \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect} 40 40 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 41 41 ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD}{\ButtonPower} 42 42 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}