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

Add 240x240 support to various plugins and rgnano manual updates

This should be all of the "standard" plugins (except sdl ones).

Change-Id: Iacae3edcc69a136a9dd887f31ad6ca51a9b5aea4

+148 -27
+4 -8
apps/plugins/SOURCES
··· 26 26 properties.c 27 27 random_folder_advance_config.c 28 28 rb_info.c 29 + rockblox.c 29 30 search.c 30 31 settings_dumper.c 31 32 snow.c ··· 139 140 xobox.c 140 141 spacerocks.c 141 142 142 - #if (LCD_WIDTH != 240) && (LCD_HEIGHT != 240) 143 - /* No 240x240 support */ 144 - rockblox.c 145 - bubbles.c 146 - wormlet.c 147 - #endif 148 - 149 143 blackjack.c 150 144 bounce.c 145 + bubbles.c 151 146 calculator.c 152 147 chip8.c 153 148 chopper.c ··· 167 162 star.c 168 163 starfield.c 169 164 vu_meter.c 165 + wormlet.c 170 166 171 167 #ifdef HAVE_HOTKEY 172 168 announce_status.c ··· 203 199 matrix.c 204 200 speedread.c 205 201 206 - #if (LCD_WIDTH > 138) && ((LCD_WIDTH != 240) && (LCD_HEIGHT != 240)) 202 + #if (LCD_WIDTH > 138) 207 203 invadrox.c 208 204 superdom.c 209 205 #endif
-3
apps/plugins/SUBDIRS
··· 41 41 chessbox 42 42 fractals 43 43 imageviewer 44 - #if (LCD_WIDTH != 240) && (LCD_HEIGHT != 240) 45 - /* No 240x240 support */ 46 44 sudoku 47 - #endif 48 45 reversi 49 46 goban 50 47 frotz
+2 -1
apps/plugins/bitmaps/mono/SOURCES
··· 18 18 #elif ((LCD_WIDTH == 220) && (LCD_HEIGHT == 176)) || \ 19 19 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220)) 20 20 bubbles_bubble.220x176x1.bmp 21 - #elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 21 + #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 240)) || \ 22 + ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 22 23 ((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)) || \ 23 24 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400)) 24 25 bubbles_bubble.320x240x1.bmp
+13 -1
apps/plugins/bitmaps/native/SOURCES
··· 209 209 #elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 320) 210 210 bubbles_emblem.320x240x16.bmp 211 211 bubbles_background.240x320x16.bmp 212 + #elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 240) 213 + bubbles_emblem.320x240x16.bmp 214 + bubbles_background.240x240x16.bmp 212 215 #elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176) 213 216 bubbles_emblem.220x176x16.bmp 214 217 bubbles_background.220x176x16.bmp ··· 437 440 invadrox_background.360x400x16.bmp 438 441 #elif LCD_WIDTH == 320 439 442 invadrox_background.320x240x16.bmp 443 + #elif LCD_WIDTH == 240 && LCD_HEIGHT == 240 444 + invadrox_background.240x240x16.bmp 440 445 #elif LCD_WIDTH == 240 441 446 invadrox_background.240x320x16.bmp 442 447 #elif LCD_WIDTH == 220 ··· 602 607 rockblox_background.320x240x16.bmp 603 608 #elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320) 604 609 rockblox_background.240x320x16.bmp 610 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) 611 + rockblox_background.240x240x16.bmp 605 612 #elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) 606 613 rockblox_background.220x176x16.bmp 607 614 #elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220) ··· 891 898 sudoku_start.220x176x16.bmp 892 899 sudoku_normal.220x176x16.bmp 893 900 sudoku_inverse.220x176x16.bmp 901 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) && (LCD_DEPTH == 16) 902 + sudoku_start.240x240x16.bmp 903 + sudoku_normal.240x240x16.bmp 904 + sudoku_inverse.240x240x16.bmp 894 905 #elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH == 2) 895 906 /* Temporary bitmaps for Archos AV300 */ 896 907 sudoku_start.320x240x16.bmp ··· 929 940 ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128)) || \ 930 941 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220)) 931 942 superdom_boarditems.176x132x16.bmp 932 - #elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240) 943 + #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 240)) || \ 944 + ((LCD_WIDTH == 320) && (LCD_HEIGHT == 220)) 933 945 superdom_boarditems.320x240x16.bmp 934 946 #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \ 935 947 ((LCD_WIDTH == 240) && (LCD_HEIGHT == 400)) || \
apps/plugins/bitmaps/native/bubbles_background.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/invadrox_background.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/rockblox_background.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/sudoku_inverse.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/sudoku_normal.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/sudoku_start.240x240x16.bmp

This is a binary file and will not be displayed.

+16
apps/plugins/bubbles.c
··· 176 176 #define NEXT_BB_WIDTH 32 177 177 #define NEXT_BB_Y 200 178 178 179 + /* 22x22 bubbles (Anbernic RG Nano) */ 180 + #elif (LCD_HEIGHT == 240) && (LCD_WIDTH == 240) 181 + #define XOFS 64 182 + #define MAX_FPS 40 183 + 184 + /* custom text positioning */ 185 + #define SCORE_TXT_X 12 186 + #define SCORE_TXT_WIDTH 32 187 + #define SCORE_TXT_Y 29 188 + #define LEVEL_TXT_X 12 189 + #define LEVEL_TXT_WIDTH 32 190 + #define LEVEL_TXT_Y 2 191 + #define NEXT_BB_X 12 192 + #define NEXT_BB_WIDTH 32 193 + #define NEXT_BB_Y 200 194 + 179 195 /* 16x16 bubbles (H300, iPod Color, HDD6330) */ 180 196 #elif (LCD_HEIGHT == 176) && (LCD_WIDTH == 220) 181 197 #define XOFS 46
+31
apps/plugins/invadrox.c
··· 298 298 #define RIGHT BUTTON_RIGHT 299 299 #define FIRE BUTTON_PLAY 300 300 301 + #elif CONFIG_KEYPAD == RG_NANO_PAD 302 + 303 + #define QUIT BUTTON_START 304 + #define LEFT BUTTON_LEFT 305 + #define RIGHT BUTTON_RIGHT 306 + #define FIRE BUTTON_A 307 + 301 308 #else 302 309 #error INVADROX: Unsupported keypad 303 310 #endif ··· 420 427 #define SCORENUM_X (PLAYFIELD_X + NUMBERS_WIDTH) 421 428 #define SCORENUM_Y SCORE_Y + (2 * (FONT_HEIGHT + 1) + 1) 422 429 #define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 1 - 6 * NUMBERS_WIDTH - 5 * NUM_SPACING) 430 + #define SHIELD_Y (PLAYFIELD_Y - 6 * SHIP_HEIGHT) 431 + #define LIVES_X 10 432 + #define MAX_Y 18 433 + 434 + /* Anbernic RG Nano defines */ 435 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) 436 + 437 + /* Original arcade game size 224x240, 1bpp with 438 + * red overlay at top and green overlay at bottom. 439 + * 440 + * Anbernic RG Nano: 240x240x16 441 + * ====================== 442 + * X: 8p padding at left/right gives 224p playfield in middle. 443 + * 10p "border" gives 204p actual playfield. UFO use full 224p. 444 + * Y: Use full 240p. 445 + */ 446 + 447 + #define ARCADISH_GRAPHICS 448 + #define PLAYFIELD_X 8 449 + #define SHIP_Y (PLAYFIELD_Y - 3 * SHIP_HEIGHT) 450 + #define ALIEN_START_Y (UFO_Y + 3 * ALIEN_HEIGHT) 451 + #define SCORENUM_X (PLAYFIELD_X + NUMBERS_WIDTH) + 10 452 + #define SCORENUM_Y SCORE_Y + (2 * (FONT_HEIGHT + 1) + 1) 453 + #define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 1 - 6 * NUMBERS_WIDTH - 8 * NUM_SPACING) 423 454 #define SHIELD_Y (PLAYFIELD_Y - 6 * SHIP_HEIGHT) 424 455 #define LIVES_X 10 425 456 #define MAX_Y 18
+28
apps/plugins/rockblox.c
··· 479 479 #define ROCKBLOX_DROP BUTTON_MENU 480 480 #define ROCKBLOX_RESTART BUTTON_BACK 481 481 482 + #elif CONFIG_KEYPAD == RG_NANO_PAD 483 + 484 + #define ROCKBLOX_OFF BUTTON_START 485 + #define ROCKBLOX_ROTATE_CCW BUTTON_X 486 + #define ROCKBLOX_ROTATE_CW BUTTON_Y 487 + #define ROCKBLOX_ROTATE BUTTON_UP 488 + #define ROCKBLOX_DOWN BUTTON_DOWN 489 + #define ROCKBLOX_LEFT BUTTON_LEFT 490 + #define ROCKBLOX_RIGHT BUTTON_RIGHT 491 + #define ROCKBLOX_DROP BUTTON_A 492 + #define ROCKBLOX_RESTART BUTTON_B 493 + 482 494 #else 483 495 #error No keymap defined! 484 496 #endif ··· 592 604 #define HIGH_LABEL_X 172 593 605 #define HIGH_SCORE_Y 163 594 606 #define HIGH_LEVEL_Y 172 607 + 608 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) 609 + 610 + #define BLOCK_WIDTH 12 611 + #define BLOCK_HEIGHT 12 612 + #define BOARD_X 20 613 + #define BOARD_Y 0 614 + #define PREVIEW_X 176 615 + #define PREVIEW_Y 187 616 + #define LABEL_X 172 617 + #define SCORE_Y 19 618 + #define LEVEL_Y 51 619 + #define LINES_Y 84 620 + #define HIGH_LABEL_X 172 621 + #define HIGH_SCORE_Y 122 622 + #define HIGH_LEVEL_Y 172 595 623 596 624 #elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) 597 625
+6
apps/plugins/sudoku/sudoku.c
··· 141 141 #define MARK_SPACE 1 /* Pixels between two marks */ 142 142 #define MARK_SIZE 4 /* Mark width and height */ 143 143 144 + #elif (LCD_HEIGHT==240) && (LCD_WIDTH==240) 145 + /* Anbernic RG Nano - 240x240, 9 cells @ 20x20 with 14 border lines */ 146 + #define MARK_OFFS 1 /* Pixels between border and mark */ 147 + #define MARK_SPACE 1 /* Pixels between two marks */ 148 + #define MARK_SIZE 4 /* Mark width and height */ 149 + 144 150 #elif (LCD_HEIGHT==240) && (LCD_WIDTH==320) 145 151 /* iPod Video - 320x240, 9 cells @ 24x24 with 14 border lines */ 146 152 #define MARK_OFFS 1 /* Pixels between border and mark */
+11
apps/plugins/sudoku/sudoku.h
··· 472 472 #elif CONFIG_KEYPAD == SHANLING_Q1_PAD 473 473 /* use touchscreen */ 474 474 475 + #elif CONFIG_KEYPAD == RG_NANO_PAD 476 + #define SUDOKU_BUTTON_QUIT BUTTON_START 477 + #define SUDOKU_BUTTON_UP BUTTON_UP 478 + #define SUDOKU_BUTTON_DOWN BUTTON_DOWN 479 + #define SUDOKU_BUTTON_LEFT BUTTON_LEFT 480 + #define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT 481 + #define SUDOKU_BUTTON_TOGGLEBACK BUTTON_Y 482 + #define SUDOKU_BUTTON_TOGGLE BUTTON_A 483 + #define SUDOKU_BUTTON_MENU BUTTON_B 484 + #define SUDOKU_BUTTON_POSSIBLE BUTTON_X 485 + 475 486 #else 476 487 #error No keymap defined! 477 488 #endif
+12 -1
apps/plugins/wormlet.c
··· 419 419 #define BTN_QUIT BUTTON_BACK 420 420 #define BTN_STOPRESET BUTTON_MENU 421 421 422 + #elif CONFIG_KEYPAD == RG_NANO_PAD 423 + 424 + #define BTN_DIR_UP BUTTON_UP 425 + #define BTN_DIR_DOWN BUTTON_DOWN 426 + #define BTN_DIR_LEFT BUTTON_LEFT 427 + #define BTN_DIR_RIGHT BUTTON_RIGHT 428 + #define BTN_STARTPAUSE BUTTON_A 429 + #define BTN_QUIT BUTTON_START 430 + #define BTN_STOPRESET BUTTON_B 431 + 422 432 #else 423 433 #error No keymap defined! 424 434 #endif ··· 503 513 #define ARGH_SIZE 6 504 514 #define SPEED 4 505 515 #define MAX_WORM_SEGMENTS 512 506 - #elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 516 + #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 240)) || \ 517 + ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 507 518 ((LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))) || \ 508 519 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400)) 509 520 #define FOOD_SIZE 7
manual/plugins/images/ss-bubbles-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-invadrox-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-rockblox-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-sudoku-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-wormlet-240x240x16.png

This is a binary file and will not be displayed.

+5 -3
manual/plugins/invadrox.tex
··· 9 9 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 10 10 ,IPOD_1G2G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD% 11 11 ,SANSA_FUZE_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD% 12 - ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} 12 + ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD} 13 13 {\ButtonLeft} 14 14 \opt{COWON_D2_PAD}{\TouchMidLeft{}, \TouchBottomLeft{} or \ButtonMinus} 15 15 \opt{MPIO_HD300_PAD}{\ButtonRew} ··· 19 19 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 20 20 ,IPOD_1G2G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD% 21 21 ,SANSA_FUZE_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD% 22 - ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} 22 + ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD} 23 23 {\ButtonRight} 24 24 \opt{MPIO_HD300_PAD}{\ButtonFF} 25 25 \opt{COWON_D2_PAD}{\TouchMidRight{}, \TouchBottomRight{} or \ButtonPlus} ··· 29 29 \opt{IRIVER_H100_PAD}{\ButtonOn} 30 30 \opt{IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,IAUDIO_X5_PAD% 31 31 ,GIGABEAT_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_S_PAD% 32 - ,SANSA_FUZEPLUS_PAD}{\ButtonSelect} 32 + ,SANSA_FUZEPLUS_PAD,}{\ButtonSelect} 33 33 \opt{IRIVER_H10_PAD}{\ButtonPlay} 34 34 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay{} or \ButtonUp} 35 35 \opt{COWON_D2_PAD}{\TouchBottomMiddle, \TouchCenter{} or \ButtonMenu} 36 36 \opt{PBELL_VIBE500_PAD}{\ButtonOK} 37 37 \opt{MPIO_HD300_PAD}{\ButtonEnter} 38 38 \opt{HAVEREMOTEKEYMAP}{& } 39 + \opt{RG_NANO_PAD}{\ButtonA} 39 40 & Fire \\ 40 41 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 41 42 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MPIO_HD300_PAD}{\ButtonMenu} ··· 47 48 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 48 49 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} 49 50 \opt{HAVEREMOTEKEYMAP}{& } 51 + \opt{RG_NANO_PAD}{\ButtonStart} 50 52 & Quit\\ 51 53 \end{btnmap}
+6 -6
manual/plugins/main.tex
··· 33 33 34 34 \input{plugins/brickmania.tex} 35 35 36 - \nopt{rgnano}{\input{plugins/bubbles.tex}} 36 + \input{plugins/bubbles.tex} 37 37 38 38 \input{plugins/chessbox.tex} 39 39 ··· 53 53 54 54 \input{plugins/goban.tex} 55 55 56 - \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820,rgnano}{ 56 + \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820}{ 57 57 \input{plugins/invadrox.tex}}} 58 58 59 59 \input{plugins/jackpot.tex} ··· 80 80 81 81 \input{plugins/robotfindskitten.tex} 82 82 83 - \nopt{rgnano}{\input{plugins/rockblox.tex}} 83 + \input{plugins/rockblox.tex} 84 84 85 85 \input{plugins/rockblox1d.tex} 86 86 ··· 100 100 101 101 \input{plugins/star.tex} 102 102 103 - \nopt{rgnano}{\input{plugins/sudoku.tex}} 103 + \input{plugins/sudoku.tex} 104 104 105 - \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820,rgnano}{ 105 + \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820}{ 106 106 \input{plugins/superdom.tex}}} 107 107 108 108 \opt{lcd_color}{\nopt{lowmem,iaudiox5,iriverh300,rgnano}{\input{plugins/wolf3d.tex}}} 109 109 110 - \nopt{rgnano}{\input{plugins/wormlet.tex}} 110 + \input{plugins/wormlet.tex} 111 111 112 112 \input{plugins/xobox.tex} 113 113
+8 -3
manual/plugins/rockblox.tex
··· 22 22 \opt{MPIO_HD300_PAD}{\ButtonRec} 23 23 \opt{SAMSUNG_YH820_PAD}{\ButtonRec} 24 24 \opt{HAVEREMOTEKEYMAP}{& } 25 + \opt{RG_NANO_PAD}{\ButtonB} 25 26 & Restart game\\ 26 27 } 27 28 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD% 28 29 ,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 29 30 ,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 30 31 ,IRIVER_H10_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% 31 - ,SAMSUNG_YH820_PAD} 32 + ,SAMSUNG_YH820_PAD,RG_NANO_PAD} 32 33 {\ButtonLeft} 33 34 \opt{COWON_D2_PAD}{\TouchMidLeft} 34 35 \opt{MPIO_HD300_PAD}{\ButtonRew} ··· 38 39 ,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 39 40 ,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 40 41 ,IRIVER_H10_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% 41 - ,SAMSUNG_YH820_PAD} 42 + ,SAMSUNG_YH820_PAD,RG_NANO_PAD} 42 43 {\ButtonRight} 43 44 \opt{COWON_D2_PAD}{\TouchMidRight} 44 45 \opt{MPIO_HD300_PAD}{\ButtonFF} ··· 46 47 & Move right\\ 47 48 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% 48 49 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% 49 - ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD} 50 + ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,RG_NANO_PAD} 50 51 {\ButtonDown} 51 52 \opt{SANSA_FUZEPLUS_PAD}{\ButtonSelect} 52 53 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay} ··· 69 70 \opt{MPIO_HD300_PAD}{\ButtonScrollUp} 70 71 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonUp} 71 72 \opt{HAVEREMOTEKEYMAP}{& } 73 + \opt{RG_NANO_PAD}{\ButtonX} 72 74 & Rotate anticlockwise\\ 73 75 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD} 74 76 {\ButtonUp} ··· 83 85 \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolUp{}; \ButtonBottomRight} 84 86 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonDown} 85 87 \opt{HAVEREMOTEKEYMAP}{& } 88 + \opt{RG_NANO_PAD}{\ButtonY} 86 89 & Rotate clockwise\\ 87 90 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode} 88 91 \opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ··· 94 97 \opt{MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay} 95 98 \opt{SANSA_FUZEPLUS_PAD}{\ButtonDown} 96 99 \opt{HAVEREMOTEKEYMAP}{& } 100 + \opt{RG_NANO_PAD}{\ButtonA} 97 101 & Drop\\ 98 102 \opt{hold_button}{ 99 103 \ButtonHold{} switch ··· 109 113 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 110 114 \opt{SAMSUNG_YH92X_PAD}{\ButtonFF} 111 115 \opt{SAMSUNG_YH820_PAD}{\ButtonRew} 116 + \opt{RG_NANO_PAD}{\ButtonStart} 112 117 \opt{MPIO_HD300_PAD}{Long \ButtonMenu} 113 118 \opt{HAVEREMOTEKEYMAP}{& 114 119 \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
+6 -1
manual/plugins/sudoku.tex
··· 32 32 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% 33 33 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% 34 34 ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% 35 - ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} 35 + ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD} 36 36 {\ButtonUp{} / \ButtonDown{} / \ButtonLeft{} / \ButtonRight} 37 37 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} 38 38 \opt{IRIVER_H10_PAD}{\ButtonScrollUp{} / \ButtonScrollDown{} / \ButtonLeft{} / \ButtonRight} ··· 59 59 \opt{MPIO_HD300_PAD}{\ButtonEnter} 60 60 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF{} / \ButtonRew} 61 61 \opt{XDUOO_X3_PAD}{\ButtonPlay ; \ButtonVolUp / \ButtonVolDown} 62 + \opt{RG_NANO_PAD}{\ButtonA} 62 63 \opt{HAVEREMOTEKEYMAP}{& } 63 64 & Change number under the cursor\\ 64 65 % ··· 76 77 \opt{MPIO_HD300_PAD}{Long \ButtonEnter} 77 78 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF{} / Long \ButtonRew} 78 79 \opt{XDUOO_X3_PAD}{Long \ButtonPlay ; Long \ButtonVolUp / Long \ButtonVolDown} 80 + \opt{RG_NANO_PAD}{Long \ButtonA} 79 81 \opt{HAVEREMOTEKEYMAP}{& } 80 82 & Constantly changing the number under the cursor\\ 81 83 % ··· 89 91 \opt{MPIO_HD200_PAD,SAMSUNG_YH820_PAD}{\ButtonRec} 90 92 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack} 91 93 \opt{SAMSUNG_YH92X_PAD}{Long \ButtonPlay} 94 + \opt{RG_NANO_PAD}{\ButtonB} 92 95 \opt{HAVEREMOTEKEYMAP}{& } 93 96 & Open Menu\\ 94 97 % ··· 102 105 \opt{MROBE100_PAD}{\ButtonDisplay} 103 106 \opt{COWON_D2_PAD}{Long \TouchBottomLeft} 104 107 \opt{XDUOO_X3_PAD}{\ButtonHome + \ButtonPower} 108 + \opt{RG_NANO_PAD}{\ButtonX} 105 109 \opt{HAVEREMOTEKEYMAP}{& } 106 110 & Add/Remove number to scratchpad\\ 107 111 % ··· 114 118 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 115 119 \opt{MPIO_HD200_PAD}{\ButtonRec+\ButtonPlay} 116 120 \opt{MPIO_HD300_PAD}{Long \ButtonMenu} 121 + \opt{RG_NANO_PAD}{\ButtonStart} 117 122 \opt{HAVEREMOTEKEYMAP}{& } 118 123 & Quit\\ 119 124 %