Adapt most single-file plugins to the M3 keypad and screen. It's still preliminary, as many plugins now can't be left without the remote. The plugins need to be converted to use the action API (but not pluginlib actions). Plugins are not enabled yet. * Simplify the bitmap handling in the source of some plugins.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16737 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2008-03-22 10:24:28 +00:00
parent bca8edd856
commit 29361abf74
55 changed files with 820 additions and 196 deletions

View file

@ -135,6 +135,15 @@ PLUGIN_HEADER
#define BATTERY_ON_TXT "SELECT - start"
#define BATTERY_OFF_TXT "POWER - quit"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_REC
#define BATTERY_RC_ON BUTTON_RC_PLAY
#define BATTERY_RC_OFF BUTTON_RC_REC
#define BATTERY_ON_TXT "PLAY - start"
#define BATTERY_OFF_TXT "REC - quit"
#else
#error No keymap defined!
#endif

View file

@ -5,6 +5,8 @@
bubbles_bubble.112x64x1.bmp
#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
bubbles_bubble.132x80x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96)
bubbles_bubble.128x96x1.bmp
#elif ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128)) || \
((LCD_WIDTH == 128) && (LCD_HEIGHT == 128))
bubbles_bubble.160x128x1.bmp
@ -35,6 +37,8 @@ rockblox_background.160x128x1.bmp
flipit_cursor.28x28x1.bmp
#elif LCD_WIDTH >= 125 && LCD_HEIGHT >= 110
flipit_cursor.25x25x1.bmp
#elif LCD_WIDTH >= 105 && LCD_HEIGHT >= 96
flipit_cursor.21x21x1.bmp
#elif LCD_WIDTH >= 80 && LCD_HEIGHT >= 62
flipit_cursor.16x13x1.bmp
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

View file

@ -59,15 +59,19 @@ brickmania_break.132x80x16.bmp
#elif LCD_DEPTH > 1
brickmania_gameover.86x43x2.bmp
brickmania_menu_items.160x128x2.bmp
brickmania_ball.5x5x2.bmp
brickmania_menu_bg.160x128x2.bmp
brickmania_pads.160x128x2.bmp
brickmania_powerups.160x128x2.bmp
brickmania_break.160x128x2.bmp
//brickmania_break.160x128x2.bmp
#if (LCD_WIDTH >= 160)
brickmania_ball.5x5x2.bmp
brickmania_bricks.160x128x2.bmp
#else /* Mini currently */
#elif LCD_WIDTH >= 138
brickmania_ball.5x5x2.bmp
brickmania_bricks.138x110x2.bmp
#else /* M3 currently */
brickmania_ball.4x4x2.bmp
brickmania_bricks.128x96x2.bmp
#endif
#else /* mono */
brickmania_gameover.59x30x1.bmp
@ -113,6 +117,8 @@ bubbles_background.132x80x16.bmp
bubbles_emblem.160x128x2.bmp
#elif (LCD_WIDTH >= 138) && (LCD_HEIGHT >= 110)
bubbles_emblem.138x110x2.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96)
bubbles_emblem.128x96x2.bmp
#elif (LCD_WIDTH >= 112) && (LCD_HEIGHT >= 64)
bubbles_emblem.112x64x1.bmp
#endif
@ -235,6 +241,8 @@ flipit_tokens.17x34x16.bmp
flipit_tokens.28x56x2.bmp
#elif LCD_WIDTH >= 125 && LCD_HEIGHT >= 110
flipit_tokens.25x50x2.bmp
#elif LCD_WIDTH >= 105 && LCD_HEIGHT >= 96
flipit_tokens.21x42x2.bmp
#endif
#else /* monochrome */
#if LCD_WIDTH >= 140 && LCD_HEIGHT >= 122
@ -279,6 +287,8 @@ jewels.112x64x1.bmp
jewels.128x128x16.bmp
#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
jewels.132x80x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96)
jewels.128x96x2.bmp
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
jewels.138x110x2.bmp
#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && !defined(HAVE_LCD_COLOR)
@ -333,6 +343,8 @@ rockblox_background.132x80x16.bmp
rockblox_background.160x128x2.bmp
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) && (LCD_DEPTH == 2)
rockblox_background.138x110x2.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) && (LCD_DEPTH == 2)
rockblox_background.128x96x2.bmp
#endif
/* Rockpaint */

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -234,6 +234,22 @@ PLUGIN_HEADER
#define BJACK_RIGHT BUTTON_RIGHT
#define BJACK_LEFT BUTTON_LEFT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define BJACK_START BUTTON_RC_PLAY
#define BJACK_QUIT BUTTON_RC_REC
#define BJACK_MAX (BUTTON_RC_PLAY|BUTTON_RC_VOL_UP)
#define BJACK_MIN (BUTTON_RC_PLAY|BUTTON_RC_VOL_DOWN)
#define BJACK_HIT BUTTON_RC_PLAY
#define BJACK_STAY BUTTON_RC_FF
#define BJACK_DOUBLEDOWN BUTTON_RC_REW
#define BJACK_SCORES BUTTON_RC_MENU
#define BJACK_RESUME BUTTON_RC_MODE
#define BJACK_UP BUTTON_RC_VOL_UP
#define BJACK_DOWN BUTTON_RC_VOL_DOWN
#define BJACK_RIGHT BUTTON_RC_FF
#define BJACK_LEFT BUTTON_RC_REW
#else
#error No keymap defined!
#endif

View file

@ -30,18 +30,24 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_ON | BUTTON_REL)
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_ON | BUTTON_REL)
#elif CONFIG_KEYPAD == ONDIO_PAD
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
@ -49,6 +55,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
@ -59,53 +67,77 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_SCROLL_BACK
#define BOUNCE_DOWN BUTTON_SCROLL_FWD
#define BOUNCE_QUIT (BUTTON_MENU | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_PLAY
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_A
#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_SCROLL_BACK
#define BOUNCE_DOWN BUTTON_SCROLL_FWD
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_SELECT
#elif CONFIG_KEYPAD == SANSA_C200_PAD
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_SELECT
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_SCROLL_UP
#define BOUNCE_DOWN BUTTON_SCROLL_DOWN
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_PLAY
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT BUTTON_BACK
#define BOUNCE_MODE BUTTON_MENU
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_UP
#define BOUNCE_DOWN BUTTON_DOWN
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_DISPLAY
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define BOUNCE_LEFT BUTTON_RC_REW
#define BOUNCE_RIGHT BUTTON_RC_FF
#define BOUNCE_UP BUTTON_RC_VOL_UP
#define BOUNCE_DOWN BUTTON_RC_VOL_DOWN
#define BOUNCE_QUIT BUTTON_RC_REC
#define BOUNCE_MODE BUTTON_RC_MODE
#else
#error No keymap defined!
#endif
@ -477,12 +509,12 @@ static int loopit(void)
#endif
if(timeout) {
switch(b) {
case BUTTON_LEFT:
case BUTTON_LEFT|BUTTON_REPEAT:
case BOUNCE_LEFT:
case BOUNCE_LEFT|BUTTON_REPEAT:
values[show].num--;
break;
case BUTTON_RIGHT:
case BUTTON_RIGHT|BUTTON_REPEAT:
case BOUNCE_RIGHT:
case BOUNCE_RIGHT|BUTTON_REPEAT:
values[show].num++;
break;
case BOUNCE_UP:

View file

@ -153,6 +153,17 @@ PLUGIN_HEADER
#define UP BUTTON_UP
#define DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define QUIT BUTTON_RC_REC
#define LEFT BUTTON_RC_REW
#define RIGHT BUTTON_RC_FF
#define SELECT BUTTON_RC_PLAY
#define UP BUTTON_RC_VOL_UP
#define DOWN BUTTON_RC_VOL_DOWN
#define RC_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif
@ -177,26 +188,6 @@ enum menu_items {
BM_SEL_QUIT,
};
/* External bitmaps */
#if (LCD_WIDTH != 112) && (LCD_HEIGHT != 64)
extern const fb_data brickmania_menu_bg[];
extern const fb_data brickmania_gameover[];
#endif
extern const fb_data brickmania_menu_items[];
extern const fb_data brickmania_ball[];
#ifdef HAVE_LCD_COLOR
extern const fb_data brickmania_break[];
#endif
/* normal, glue, fire */
extern const fb_data brickmania_pads[];
/* +life, -life, glue, fire, normal */
extern const fb_data brickmania_powerups[];
/* purple, red, blue, pink, green, yellow orange */
extern const fb_data brickmania_bricks[];
#include "brickmania_pads.h"
#include "brickmania_bricks.h"
#include "brickmania_powerups.h"
@ -225,6 +216,9 @@ extern const fb_data brickmania_bricks[];
#define MENU_BGWIDTH BMPWIDTH_brickmania_menu_bg
#endif
#ifdef HAVE_LCD_COLOR /* currently no transparency for non-colour */
#include "brickmania_break.h"
#endif
#if (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
@ -350,7 +344,26 @@ extern const fb_data brickmania_bricks[];
#define STRINGPOS_NAVI 44
#define STRINGPOS_FLIP 44
/* iAudio M3 */
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96)
/* The time (in ms) for one iteration through the game loop - decrease this
to speed up the game - note that current_tick is (currently) only accurate
to 10ms.
*/
#define CYCLETIME 50
#define TOPMARGIN 10
#define BMPYOFS_start 42
#define HIGHSCORE_XPOS 65
#define HIGHSCORE_YPOS 25
#define STRINGPOS_FINISH 54
#define STRINGPOS_CONGRATS 44
#define STRINGPOS_NAVI 44
#define STRINGPOS_FLIP 44
/* Archos */
#elif (LCD_WIDTH == 112) && (LCD_HEIGHT == 64)
/* The time (in ms) for one iteration through the game loop - decrease this
to speed up the game - note that current_tick is (currently) only accurate
@ -1072,7 +1085,7 @@ int help(int when)
#if CONFIG_KEYPAD == ONDIO_PAD
rb->lcd_putsxy(1+xoffset, 7*(h+2)+yoffset,
"MENU Releases the ball/Fire!");
#elif CONFIG_KEYPAD == RECORDER_PAD
#elif (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IAUDIO_M3_PAD)
rb->lcd_putsxy(1+xoffset, 7*(h+2)+yoffset,
"PLAY Releases the ball/Fire!");
#elif CONFIG_KEYPAD == IRIVER_H300_PAD
@ -1082,7 +1095,11 @@ int help(int when)
rb->lcd_putsxy(1+xoffset, 7*(h+2)+yoffset,
"SELECT Releases the ball/Fire!");
#endif
#if CONFIG_KEYPAD == IAUDIO_M3_PAD
rb->lcd_putsxy(1+xoffset, 8*(h+2)+yoffset, "REC Opens menu/Quit");
#else
rb->lcd_putsxy(1+xoffset, 8*(h+2)+yoffset, "STOP Opens menu/Quit");
#endif
#ifdef HAVE_LCD_COLOR
rb->lcd_set_foreground(LCD_RGBPACK(245,0,0));
rb->lcd_putsxy(1+xoffset, 10*(h+2)+yoffset, "Specials");
@ -1291,6 +1308,8 @@ int game_loop(void)
rb->snprintf(s, sizeof(s), "MENU To Continue");
#elif CONFIG_KEYPAD == IRIVER_H300_PAD
rb->snprintf(s, sizeof(s), "Press NAVI To Continue");
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
rb->snprintf(s, sizeof(s), "PLAY To Continue");
#else
rb->snprintf(s, sizeof(s), "Press SELECT To Continue");
#endif
@ -1794,7 +1813,8 @@ int game_loop(void)
int button_right,button_left;
button=rb->button_get(false);
#ifdef HAS_BUTTON_HOLD
#if defined(HAS_BUTTON_HOLD) && !defined(HAVE_REMOTE_LCD_AS_MAIN)
/* FIXME: Should probably check remote hold here */
if (rb->button_hold())
button = QUIT;
#endif

View file

@ -95,14 +95,21 @@ PLUGIN_HEADER
#endif
/* external bitmaps */
#ifdef HAVE_LCD_COLOR
#include "bubbles_background.h"
#endif
#include "bubbles_bubble.h"
#include "bubbles_emblem.h"
#define BUBBLE_WIDTH BMPWIDTH_bubbles_bubble
#define BUBBLE_HEIGHT BMPHEIGHT_bubbles_bubble
#define EMBLEM_WIDTH BMPWIDTH_bubbles_emblem
#define EMBLEM_HEIGHT (BMPHEIGHT_bubbles_emblem/8)
/* bubbles will consume height of ROW_HEIGHT*(BB_HEIGHT-1)+BUBBLE_HEIGHT*3/2 */
/* 22x22 bubbles (iPod Video) */
#if (LCD_HEIGHT == 240) && (LCD_WIDTH == 320)
#define BUBBLE_WIDTH 22
#define BUBBLE_HEIGHT 22
#define EMBLEM_WIDTH 16
#define EMBLEM_HEIGHT 16
#define XOFS 72
#define ROW_HEIGHT 18
#define ROW_INDENT 11
@ -110,10 +117,6 @@ PLUGIN_HEADER
/* 22x22 bubbles (Gigabeat) */
#elif (LCD_HEIGHT == 320) && (LCD_WIDTH == 240)
#define BUBBLE_WIDTH 22
#define BUBBLE_HEIGHT 22
#define EMBLEM_WIDTH 16
#define EMBLEM_HEIGHT 16
#define XOFS 64
#define ROW_HEIGHT 18
#define ROW_INDENT 11
@ -121,10 +124,6 @@ PLUGIN_HEADER
/* 16x16 bubbles (H300, iPod Color) */
#elif (LCD_HEIGHT == 176) && (LCD_WIDTH == 220)
#define BUBBLE_WIDTH 16
#define BUBBLE_HEIGHT 16
#define EMBLEM_WIDTH 12
#define EMBLEM_HEIGHT 12
#define XOFS 46
#define ROW_HEIGHT 14
#define ROW_INDENT 8
@ -132,10 +131,6 @@ PLUGIN_HEADER
/* 16x16 bubbles (Sansa E200) */
#elif (LCD_HEIGHT == 220) && (LCD_WIDTH == 176)
#define BUBBLE_WIDTH 16
#define BUBBLE_HEIGHT 16
#define EMBLEM_WIDTH 12
#define EMBLEM_HEIGHT 12
#define XOFS 48
#define ROW_HEIGHT 14
#define ROW_INDENT 8
@ -143,10 +138,6 @@ PLUGIN_HEADER
/* 12x12 bubbles (iPod Nano) */
#elif (LCD_HEIGHT == 132) && (LCD_WIDTH == 176)
#define BUBBLE_WIDTH 12
#define BUBBLE_HEIGHT 12
#define EMBLEM_WIDTH 8
#define EMBLEM_HEIGHT 8
#define XOFS 40
#define ROW_HEIGHT 10
#define ROW_INDENT 6
@ -154,10 +145,6 @@ PLUGIN_HEADER
/* 12x12 bubbles (H100, H10, iAudio X5, iPod 3G, iPod 4G grayscale) */
#elif (LCD_HEIGHT == 128) && ((LCD_WIDTH == 160) || (LCD_WIDTH == 128))
#define BUBBLE_WIDTH 12
#define BUBBLE_HEIGHT 12
#define EMBLEM_WIDTH 8
#define EMBLEM_HEIGHT 8
#define XOFS 33
#define ROW_HEIGHT 10
#define ROW_INDENT 6
@ -165,21 +152,20 @@ PLUGIN_HEADER
/* 10x10 bubbles (iPod Mini) */
#elif (LCD_HEIGHT == 110) && (LCD_WIDTH == 138)
#define BUBBLE_WIDTH 10
#define BUBBLE_HEIGHT 10
#define EMBLEM_WIDTH 6
#define EMBLEM_HEIGHT 6
#define XOFS 33
#define ROW_HEIGHT 8
#define ROW_INDENT 5
#define MAX_FPS 30
/* 9x9 bubbles (iAudio M3) */
#elif (LCD_HEIGHT == 96) && (LCD_WIDTH == 128)
#define XOFS 45
#define ROW_HEIGHT 7
#define ROW_INDENT 4
#define MAX_FPS 30
/* 8x8 bubbles (Sansa C200) */
#elif (LCD_HEIGHT == 80) && (LCD_WIDTH == 132)
#define BUBBLE_WIDTH 8
#define BUBBLE_HEIGHT 8
#define EMBLEM_WIDTH 6
#define EMBLEM_HEIGHT 6
#define XOFS 45
#define ROW_HEIGHT 6
#define ROW_INDENT 4
@ -187,10 +173,6 @@ PLUGIN_HEADER
/* 8x7 bubbles (Archos recorder, Ondio) */
#elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 112)
#define BUBBLE_WIDTH 8
#define BUBBLE_HEIGHT 7
#define EMBLEM_WIDTH 7
#define EMBLEM_HEIGHT 5
#define XOFS 33
#define ROW_HEIGHT 5
#define ROW_INDENT 4
@ -209,13 +191,6 @@ PLUGIN_HEADER
/* collision distance squared */
#define MIN_DISTANCE ((BUBBLE_WIDTH*8)/10)*((BUBBLE_HEIGHT*8)/10)
/* external bitmaps */
extern const fb_data bubbles_bubble[];
extern const fb_data bubbles_emblem[];
#ifdef HAVE_LCD_COLOR
extern const fb_data bubbles_background[];
#endif
/* global rockbox api */
static struct plugin_api* rb;
@ -2473,6 +2448,14 @@ static int bubbles(struct game_context* bb) {
rb->lcd_puts(0, 4, "POWER to exit");
rb->lcd_puts_scroll(0, 5, "SELECT to fire and show high scores, "
"LEFT/RIGHT to aim and change level");
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
rb->lcd_puts(0, 2, "PLAY to start/pause");
rb->lcd_puts(0, 3, "MENU to save/resume");
rb->lcd_puts(0, 4, "REC to exit");
rb->lcd_puts(0, 5, "MODE to fire");
rb->lcd_puts(0, 6, " and show high scores");
rb->lcd_puts(0, 7, "REW/FF to aim");
rb->lcd_puts(0, 8, "VOL UP/DN to change level");
#endif
#if LCD_WIDTH >= 138
rb->snprintf(str, 28, "Start on level %d of %d", startlevel+1,

View file

@ -108,6 +108,8 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_OFF
@ -117,6 +119,8 @@ PLUGIN_HEADER
#define CALCULATOR_CLEAR BUTTON_F1
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_OFF
@ -126,6 +130,8 @@ PLUGIN_HEADER
#define CALCULATOR_CLEAR BUTTON_F1
#elif CONFIG_KEYPAD == ONDIO_PAD
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_OFF
@ -135,6 +141,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_OFF
@ -149,6 +157,8 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_SCROLL_BACK
#define CALCULATOR_DOWN BUTTON_SCROLL_FWD
#define CALCULATOR_QUIT BUTTON_MENU
@ -158,6 +168,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_POWER
@ -168,6 +180,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_POWER
@ -177,6 +191,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_POWER
@ -187,6 +203,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_SCROLL_UP
#define CALCULATOR_DOWN BUTTON_SCROLL_DOWN
#define CALCULATOR_QUIT BUTTON_POWER
@ -197,6 +215,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_BACK
@ -207,6 +227,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
#define CALCULATOR_QUIT BUTTON_POWER
@ -214,6 +236,19 @@ PLUGIN_HEADER
#define CALCULATOR_CALC BUTTON_MENU
#define CALCULATOR_CLEAR BUTTON_DISPLAY
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define CALCULATOR_LEFT BUTTON_RC_REW
#define CALCULATOR_RIGHT BUTTON_RC_FF
#define CALCULATOR_UP BUTTON_RC_VOL_UP
#define CALCULATOR_DOWN BUTTON_RC_VOL_DOWN
#define CALCULATOR_QUIT BUTTON_RC_REC
#define CALCULATOR_INPUT BUTTON_RC_PLAY
#define CALCULATOR_CALC BUTTON_RC_MODE
#define CALCULATOR_CLEAR BUTTON_RC_MENU
#define CALCULATOR_RC_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif
@ -763,16 +798,16 @@ Invert display new button, invert back previous button
----------------------------------------------------------------------- */
void moveButton(void){
switch(btn){
case BUTTON_LEFT:
case BUTTON_LEFT | BUTTON_REPEAT:
case CALCULATOR_LEFT:
case CALCULATOR_LEFT | BUTTON_REPEAT:
if (n == 0)
n = 4;
else
n--;
break;
case BUTTON_RIGHT:
case BUTTON_RIGHT | BUTTON_REPEAT:
case CALCULATOR_RIGHT:
case CALCULATOR_RIGHT | BUTTON_REPEAT:
if (n == 4)
n = 0;
else
@ -1458,10 +1493,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
break;
#endif
case BUTTON_LEFT:
case BUTTON_LEFT | BUTTON_REPEAT:
case BUTTON_RIGHT:
case BUTTON_RIGHT | BUTTON_REPEAT:
case CALCULATOR_LEFT:
case CALCULATOR_LEFT | BUTTON_REPEAT:
case CALCULATOR_RIGHT:
case CALCULATOR_RIGHT | BUTTON_REPEAT:
case CALCULATOR_UP:
case CALCULATOR_UP | BUTTON_REPEAT:
case CALCULATOR_DOWN:

View file

@ -170,6 +170,16 @@ PLUGIN_HEADER
#define CHC_SETTINGS_OK BUTTON_SELECT
#define CHC_SETTINGS_CANCEL BUTTON_POWER
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define CHC_QUIT BUTTON_RC_REC
#define CHC_STARTSTOP BUTTON_RC_PLAY
#define CHC_RESET BUTTON_RC_REW
#define CHC_MENU BUTTON_RC_MENU
#define CHC_SETTINGS_INC BUTTON_RC_VOL_UP
#define CHC_SETTINGS_DEC BUTTON_RC_VOL_DOWN
#define CHC_SETTINGS_OK BUTTON_RC_PLAY
#define CHC_SETTINGS_CANCEL BUTTON_RC_REC
#else
#error No keymap defined!
#endif

View file

@ -1067,6 +1067,16 @@ STATIC void chip8 (void)
#define CHIP8_KEY7 BUTTON_DISPLAY
#define CHIP8_KEY8 BUTTON_DOWN
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define CHIP8_OFF BUTTON_RC_REC
#define CHIP8_KEY1 BUTTON_RC_MENU
#define CHIP8_KEY2 BUTTON_RC_VOL_UP
#define CHIP8_KEY3 BUTTON_RC_MODE
#define CHIP8_KEY4 BUTTON_RC_REW
#define CHIP8_KEY5 BUTTON_RC_PLAY
#define CHIP8_KEY6 BUTTON_RC_FF
#define CHIP8_KEY8 BUTTON_RC_VOL_DOWN
#else
#error No keymap defined!
#endif

View file

@ -97,6 +97,12 @@ Still To do:
#define ACTION BUTTON_SELECT
#define ACTIONTEXT "SELECT"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define QUIT BUTTON_RC_REC
#define ACTION BUTTON_RC_PLAY
#define ACTION2 BUTTON_RC_MODE
#define ACTIONTEXT "PLAY"
#else
#error No keymap defined!
#endif

View file

@ -229,6 +229,18 @@ PLUGIN_HEADER
#define CUBE_PAUSE BUTTON_PLAY
#define CUBE_HIGHSPEED BUTTON_SELECT
#elif (CONFIG_KEYPAD == IAUDIO_M3_PAD)
#define CUBE_QUIT BUTTON_RC_REC
#define CUBE_X_INC BUTTON_RC_FF
#define CUBE_X_DEC BUTTON_RC_REW
#define CUBE_Y_INC BUTTON_RC_VOL_UP
#define CUBE_Y_DEC BUTTON_RC_VOL_DOWN
#define CUBE_Z_INC BUTTON_VOL_UP /* FIXME: quick hack */
#define CUBE_Z_DEC BUTTON_VOL_DOWN
#define CUBE_MODE BUTTON_RC_MODE
#define CUBE_PAUSE BUTTON_RC_PLAY
#define CUBE_HIGHSPEED BUTTON_RC_MENU
#else
#error No keymap defined!
#endif

View file

@ -125,6 +125,8 @@ long reverse (long N) {
#define LP_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
#define LP_QUIT BUTTON_BACK
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define LP_QUIT BUTTON_RC_REC
#else
#define LP_QUIT BUTTON_OFF
#endif

View file

@ -79,6 +79,9 @@ enum tidy_system
#elif CONFIG_KEYPAD == MROBE100_PAD
#define TIDY_STOP BUTTON_POWER
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define TIDY_STOP BUTTON_RC_REC
#else
#error No keymap defined!
#endif

View file

@ -66,6 +66,12 @@ static struct plugin_api* rb;
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define BTN_MENU BUTTON_POWER
#define BTN_FIRE BUTTON_PLAY
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define BTN_MENU BUTTON_RC_REC
#define BTN_FIRE BUTTON_RC_PLAY
#else
#error No keymap defined!
#endif
/* The lowdown on source terminology:

View file

@ -22,6 +22,8 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_OFF
@ -31,6 +33,8 @@ PLUGIN_HEADER
#define FLIPIT_TOGGLE BUTTON_PLAY
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_OFF
@ -40,6 +44,8 @@ PLUGIN_HEADER
#define FLIPIT_TOGGLE BUTTON_SELECT
#elif CONFIG_KEYPAD == PLAYER_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP_PRE BUTTON_ON
#define FLIPIT_UP (BUTTON_ON | BUTTON_REL)
#define FLIPIT_DOWN BUTTON_MENU
@ -50,6 +56,8 @@ PLUGIN_HEADER
#define FLIPIT_TOGGLE BUTTON_PLAY
#elif CONFIG_KEYPAD == ONDIO_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_OFF
@ -61,6 +69,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_OFF
@ -76,6 +86,8 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_MENU
#define FLIPIT_DOWN BUTTON_PLAY
#define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_MENU)
@ -87,6 +99,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_POWER
@ -99,6 +113,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_POWER
@ -110,6 +126,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD)
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_POWER
@ -120,6 +138,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_SCROLL_UP
#define FLIPIT_DOWN BUTTON_SCROLL_DOWN
#define FLIPIT_QUIT BUTTON_POWER
@ -131,6 +151,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_BACK
@ -141,6 +163,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == MROBE100_PAD
#define FLIPIT_LEFT BUTTON_LEFT
#define FLIPIT_RIGHT BUTTON_RIGHT
#define FLIPIT_UP BUTTON_UP
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_QUIT BUTTON_POWER
@ -149,6 +173,22 @@ PLUGIN_HEADER
#define FLIPIT_STEP_BY_STEP BUTTON_DISPLAY
#define FLIPIT_TOGGLE BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define FLIPIT_LEFT BUTTON_RC_REW
#define FLIPIT_RIGHT BUTTON_RC_FF
#define FLIPIT_UP BUTTON_RC_VOL_UP
#define FLIPIT_DOWN BUTTON_RC_VOL_DOWN
#define FLIPIT_QUIT BUTTON_RC_REC
#define FLIPIT_SHUFFLE BUTTON_RC_MODE
#define FLIPIT_SOLVE_PRE BUTTON_RC_MENU
#define FLIPIT_SOLVE (BUTTON_RC_MENU|BUTTON_REPEAT)
#define FLIPIT_STEP_PRE BUTTON_RC_MENU
#define FLIPIT_STEP_BY_STEP (BUTTON_RC_MENU|BUTTON_REL)
#define FLIPIT_TOGGLE BUTTON_RC_PLAY
#define FLIPIT_RC_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif
@ -448,11 +488,11 @@ static bool flipit_loop(void)
}
break;
case BUTTON_LEFT:
case FLIPIT_LEFT:
move_cursor(-1, 0);
break;
case BUTTON_RIGHT:
case FLIPIT_RIGHT:
move_cursor(1, 0);
break;
@ -553,6 +593,12 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
rb->lcd_putsxy(2, 28, "[REC-LEFT] shuffle");
rb->lcd_putsxy(2, 38, "[REC-RIGHT] solution");
rb->lcd_putsxy(2, 48, "[REC-SEL] step by step");
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
rb->lcd_putsxy(2, 8, "[REC] to stop");
rb->lcd_putsxy(2, 18, "[PLAY] toggle");
rb->lcd_putsxy(2, 28, "[MODE] shuffle");
rb->lcd_putsxy(2, 38, "[MENU..] solution");
rb->lcd_putsxy(2, 48, "[MENU] step by step");
#endif
rb->lcd_update();
#else /* HAVE_LCD_CHARCELLS */

View file

@ -128,6 +128,16 @@ PLUGIN_HEADER
#define JEWELS_SELECT BUTTON_SELECT
#define JEWELS_CANCEL BUTTON_POWER
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define JEWELS_UP BUTTON_RC_VOL_UP
#define JEWELS_DOWN BUTTON_RC_VOL_DOWN
#define JEWELS_LEFT BUTTON_RC_REW
#define JEWELS_RIGHT BUTTON_RC_FF
#define JEWELS_SELECT BUTTON_RC_PLAY
#define JEWELS_CANCEL BUTTON_RC_REC
#define JEWELS_RC_CANCEL BUTTON_REC
#else
#error No keymap defined!
#endif
@ -176,6 +186,13 @@ PLUGIN_HEADER
#define YOFS 6
#define NUM_SCORES 10
/* use 12x12 tiles (iAudio M3) */
#elif (LCD_HEIGHT == 96) && (LCD_WIDTH == 128)
#define TILE_WIDTH 12
#define TILE_HEIGHT 12
#define YOFS 0
#define NUM_SCORES 9
/* use 10x10 tiles (Sansa c200) */
#elif (LCD_HEIGHT == 80) && (LCD_WIDTH == 132)
#define TILE_WIDTH 10
@ -1527,6 +1544,17 @@ static int jewels_main(struct game_context* bj) {
rb->lcd_puts(0, 10, "PLAY to select");
rb->lcd_puts(0, 11, "Long PLAY for menu");
rb->lcd_puts(0, 12, "POWER to cancel");
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
rb->lcd_puts(0, 2, "Swap pairs of jewels");
rb->lcd_puts(0, 3, "to form connected");
rb->lcd_puts(0, 4, "segments of three or ");
rb->lcd_puts(0, 5, "more of the");
rb->lcd_puts(0, 6, "same type.");
rb->lcd_puts(0, 8, "Controls:");
rb->lcd_puts(0, 9, "Directions or scroll to move");
rb->lcd_puts(0, 10, "PLAY to select");
rb->lcd_puts(0, 11, "Long PLAY for menu");
rb->lcd_puts(0, 12, "REC to cancel");
#else
#warning: missing help text.
#endif

View file

@ -3,7 +3,8 @@ configfile.c
fixedpoint.c
playback_control.c
rgb_hsv.c
#if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4)
#if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4) \
&& !defined(IAUDIO_M3) /* TODO: Test whether it can be implemented */
grey_core.c
grey_draw.c
grey_parm.c

View file

@ -140,6 +140,15 @@ const struct button_mapping generic_directions[] =
{ PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_MENU},
{ PLA_RIGHT_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_MENU},
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
{ PLA_UP, BUTTON_RC_VOL_UP, BUTTON_NONE},
{ PLA_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
{ PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE},
{ PLA_RIGHT, BUTTON_RC_FF, BUTTON_NONE},
{ PLA_UP_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_DOWN_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
#else
#error pluginlib_actions: Unsupported keypad
#endif
@ -227,6 +236,13 @@ const struct button_mapping generic_left_right_fire[] =
{ PLA_RIGHT_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_FIRE, BUTTON_MENU, BUTTON_NONE},
{ PLA_FIRE_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE},
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
{ PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE},
{ PLA_RIGHT, BUTTON_RC_FF, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE},
{ PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE},
#else
#error pluginlib_actions: Unsupported keypad
#endif
@ -342,6 +358,12 @@ const struct button_mapping generic_actions[] =
{PLA_MENU, BUTTON_DOWN, BUTTON_NONE},
{PLA_FIRE, BUTTON_MENU, BUTTON_NONE},
{PLA_FIRE_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE},
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
{PLA_QUIT, BUTTON_RC_REC, BUTTON_NONE},
{PLA_START, BUTTON_RC_PLAY, BUTTON_NONE},
{PLA_MENU, BUTTON_RC_MENU, BUTTON_NONE},
{PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE},
{PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE},
#else
#error pluginlib_actions: Unsupported keypad
#endif
@ -391,6 +413,11 @@ const struct button_mapping generic_increase_decrease[] =
{PLA_DEC, BUTTON_RC_DOWN, BUTTON_NONE},
{PLA_INC_REPEAT, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE},
{PLA_DEC_REPEAT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE},
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
{PLA_INC, BUTTON_RC_VOL_UP, BUTTON_NONE},
{PLA_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
{PLA_INC_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
{PLA_DEC_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
#else
#error pluginlib_actions: Unsupported keypad
#endif

View file

@ -62,6 +62,7 @@ const unsigned char rockbox16x7[] = {
#define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y (BUTTON_ON | BUTTON_LEFT)
#define LP_INC_Y (BUTTON_ON | BUTTON_RIGHT)
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
@ -70,18 +71,21 @@ const unsigned char rockbox16x7[] = {
#define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y BUTTON_SCROLL_BACK
#define LP_INC_Y BUTTON_SCROLL_FWD
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define LP_QUIT BUTTON_PLAY
#define LP_DEC_X BUTTON_LEFT
#define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y BUTTON_DOWN
#define LP_INC_Y BUTTON_UP
#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
#define LP_QUIT BUTTON_POWER
#define LP_DEC_X BUTTON_LEFT
#define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y BUTTON_DOWN
#define LP_INC_Y BUTTON_UP
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define LP_QUIT BUTTON_POWER
#define LP_DEC_X BUTTON_LEFT
@ -125,6 +129,13 @@ const unsigned char rockbox16x7[] = {
#define LP_DEC_Y BUTTON_DOWN
#define LP_INC_Y BUTTON_UP
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define LP_QUIT BUTTON_RC_REC
#define LP_DEC_X BUTTON_RC_REW
#define LP_INC_X BUTTON_RC_FF
#define LP_DEC_Y BUTTON_RC_VOL_DOWN
#define LP_INC_Y BUTTON_RC_VOL_UP
#else
#define LP_QUIT BUTTON_OFF
#define LP_DEC_X BUTTON_LEFT

View file

@ -90,6 +90,11 @@ extern const fb_data matrix_normal[];
#define MATRIX_SLEEP_MORE BUTTON_UP
#define MATRIX_SLEEP_LESS BUTTON_DOWN
#define MATRIX_PAUSE BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define MATRIX_EXIT BUTTON_RC_REC
#define MATRIX_SLEEP_MORE BUTTON_RC_VOL_UP
#define MATRIX_SLEEP_LESS BUTTON_RC_VOL_DOWN
#define MATRIX_PAUSE BUTTON_RC_PLAY
#else
#error Unsupported keypad
#endif

View file

@ -165,6 +165,18 @@ MEM_FUNCTION_WRAPPERS(rb);
#define MAZEZAM_QUIT BUTTON_POWER
#define MAZEZAM_QUIT_KEYNAME "[POWER]"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define MAZEZAM_UP BUTTON_RC_VOL_UP
#define MAZEZAM_DOWN BUTTON_RC_VOL_DOWN
#define MAZEZAM_LEFT BUTTON_RC_REW
#define MAZEZAM_RIGHT BUTTON_RC_FF
#define MAZEZAM_SELECT BUTTON_RC_PLAY
#define MAZEZAM_RETRY BUTTON_RC_MODE
#define MAZEZAM_RETRY_KEYNAME "[MODE]"
#define MAZEZAM_QUIT BUTTON_RC_REC
#define MAZEZAM_QUIT_KEYNAME "[REC]"
#else
#error No keymap defined!
#endif

View file

@ -33,6 +33,8 @@ enum minesweeper_status {
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_OFF
@ -43,6 +45,8 @@ enum minesweeper_status {
# define MINESWP_INFO BUTTON_F3
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_OFF
@ -53,6 +57,8 @@ enum minesweeper_status {
# define MINESWP_INFO BUTTON_F3
#elif CONFIG_KEYPAD == ONDIO_PAD
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_OFF
@ -63,6 +69,8 @@ enum minesweeper_status {
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_OFF
@ -77,6 +85,8 @@ enum minesweeper_status {
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
# define MINESWP_SCROLLWHEEL
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_MENU
# define MINESWP_DOWN BUTTON_PLAY
# define MINESWP_NEXT BUTTON_SCROLL_FWD
@ -88,6 +98,8 @@ enum minesweeper_status {
# define MINESWP_INFO (BUTTON_SELECT | BUTTON_PLAY)
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_POWER
@ -96,6 +108,8 @@ enum minesweeper_status {
# define MINESWP_INFO BUTTON_REC
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_POWER
@ -105,6 +119,8 @@ enum minesweeper_status {
#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
# define MINESWP_SCROLLWHEEL
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_POWER
@ -115,6 +131,8 @@ enum minesweeper_status {
# define MINESWP_INFO (BUTTON_REC|BUTTON_REPEAT)
#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_POWER
@ -126,6 +144,8 @@ enum minesweeper_status {
# define MINESWP_INFO BUTTON_REC
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_SCROLL_UP
# define MINESWP_DOWN BUTTON_SCROLL_DOWN
# define MINESWP_QUIT BUTTON_POWER
@ -134,6 +154,8 @@ enum minesweeper_status {
# define MINESWP_INFO (BUTTON_REW | BUTTON_PLAY)
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_BACK
@ -142,6 +164,8 @@ enum minesweeper_status {
# define MINESWP_INFO BUTTON_MENU
#elif (CONFIG_KEYPAD == MROBE100_PAD)
# define MINESWP_LEFT BUTTON_LEFT
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
# define MINESWP_QUIT BUTTON_POWER
@ -149,6 +173,16 @@ enum minesweeper_status {
# define MINESWP_DISCOVER BUTTON_SELECT
# define MINESWP_INFO BUTTON_MENU
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
# define MINESWP_LEFT BUTTON_RC_REW
# define MINESWP_RIGHT BUTTON_RC_FF
# define MINESWP_UP BUTTON_RC_VOL_UP
# define MINESWP_DOWN BUTTON_RC_VOL_DOWN
# define MINESWP_QUIT BUTTON_RC_REC
# define MINESWP_TOGGLE BUTTON_RC_MODE
# define MINESWP_DISCOVER BUTTON_RC_PLAY
# define MINESWP_INFO BUTTON_RC_MENU
#else
#error No keymap defined!
#endif
@ -560,14 +594,14 @@ enum minesweeper_status minesweeper( void )
return MINESWEEPER_QUIT;
/* move cursor left */
case BUTTON_LEFT:
case BUTTON_LEFT|BUTTON_REPEAT:
case MINESWP_LEFT:
case MINESWP_LEFT|BUTTON_REPEAT:
x = ( x + width - 1 )%width;
break;
/* move cursor right */
case BUTTON_RIGHT:
case BUTTON_RIGHT|BUTTON_REPEAT:
case MINESWP_RIGHT:
case MINESWP_RIGHT|BUTTON_REPEAT:
x = ( x + 1 )%width;
break;

View file

@ -117,6 +117,11 @@ PLUGIN_HEADER
#define MOSAIQUE_SPEED BUTTON_DISPLAY
#define MOSAIQUE_RESTART BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define MOSAIQUE_QUIT BUTTON_RC_REC
#define MOSAIQUE_SPEED BUTTON_RC_MENU
#define MOSAIQUE_RESTART BUTTON_RC_PLAY
#else
#error No keymap defined!
#endif

View file

@ -2327,6 +2327,11 @@ void get_mp3_filename(char *wav_name)
#define MP3ENC_NEXT BUTTON_DOWN
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define MP3ENC_PREV BUTTON_RC_VOL_UP
#define MP3ENC_NEXT BUTTON_RC_VOL_DOWN
#define MP3ENC_DONE BUTTON_RC_REC
#define MP3ENC_SELECT BUTTON_RC_FF
#else
#error No keymap defined!
#endif

View file

@ -168,6 +168,19 @@ PLUGIN_HEADER
#define OSCILLOSCOPE_VOL_UP BUTTON_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define OSCILLOSCOPE_QUIT BUTTON_RC_REC
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_RC_MODE
#define OSCILLOSCOPE_DRAWMODE (BUTTON_RC_MODE|BUTTON_REL)
#define OSCILLOSCOPE_ADVMODE BUTTON_RC_MENU
#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_RC_MODE
#define OSCILLOSCOPE_ORIENTATION (BUTTON_RC_MODE|BUTTON_REPEAT)
#define OSCILLOSCOPE_PAUSE BUTTON_RC_PLAY
#define OSCILLOSCOPE_SPEED_UP BUTTON_RC_FF
#define OSCILLOSCOPE_SPEED_DOWN BUTTON_RC_REW
#define OSCILLOSCOPE_VOL_UP BUTTON_RC_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_RC_VOL_DOWN
#else
#error No keymap defined!
#endif

View file

@ -138,6 +138,14 @@ PLUGIN_HEADER
#define PONG_RIGHT_UP BUTTON_PLAY
#define PONG_RIGHT_DOWN BUTTON_RIGHT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define PONG_QUIT BUTTON_RC_REC
#define PONG_PAUSE BUTTON_RC_PLAY
#define PONG_LEFT_UP BUTTON_RC_VOL_UP
#define PONG_LEFT_DOWN BUTTON_RC_VOL_DOWN
#define PONG_RIGHT_UP BUTTON_VOL_UP
#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN
#else
#error No keymap defined!
#endif

View file

@ -200,6 +200,17 @@ PLUGIN_HEADER
#define ROCKBLOX_DROP BUTTON_SELECT
#define ROCKBLOX_RESTART BUTTON_DISPLAY
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define ROCKBLOX_OFF BUTTON_RC_REC
#define ROCKBLOX_ROTATE_RIGHT BUTTON_RC_VOL_DOWN
#define ROCKBLOX_ROTATE_LEFT BUTTON_RC_VOL_UP
#define ROCKBLOX_DOWN BUTTON_RC_MENU
#define ROCKBLOX_LEFT BUTTON_RC_REW
#define ROCKBLOX_RIGHT BUTTON_RC_FF
#define ROCKBLOX_DROP BUTTON_RC_PLAY
#define ROCKBLOX_RESTART BUTTON_RC_MODE
#else
#error No keymap defined!
#endif
@ -325,18 +336,18 @@ PLUGIN_HEADER
#define LEVEL_Y 49
#define LINES_Y 82
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128)
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
#define BLOCK_WIDTH 6
#define BLOCK_HEIGHT 6
#define BOARD_X 4
#define BOARD_Y 3
#define PREVIEW_X 84
#define PREVIEW_Y 100
#define LABEL_X 71
#define SCORE_Y 17
#define LEVEL_Y 49
#define LINES_Y 82
#define BLOCK_WIDTH 5
#define BLOCK_HEIGHT 5
#define BOARD_X 14
#define BOARD_Y 0
#define PREVIEW_X 98
#define PREVIEW_Y 88
#define LABEL_X 80
#define SCORE_Y 15
#define LEVEL_Y 45
#define LINES_Y 74
#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
@ -351,6 +362,32 @@ PLUGIN_HEADER
#define LEVEL_Y 30
#define LINES_Y 50
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128)
#define BLOCK_WIDTH 6
#define BLOCK_HEIGHT 6
#define BOARD_X 4
#define BOARD_Y 3
#define PREVIEW_X 84
#define PREVIEW_Y 100
#define LABEL_X 71
#define SCORE_Y 17
#define LEVEL_Y 49
#define LINES_Y 82
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96)
#define BLOCK_WIDTH 4
#define BLOCK_HEIGHT 4
#define BOARD_X 14
#define BOARD_Y 2
#define PREVIEW_X 89
#define PREVIEW_Y 76
#define LABEL_X 70
#define SCORE_Y 14
#define LEVEL_Y 39
#define LINES_Y 64
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
#define BLOCK_WIDTH 3
@ -378,19 +415,6 @@ PLUGIN_HEADER
#define LEVEL_X 78
#define LINES_Y 51
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
#define BLOCK_WIDTH 5
#define BLOCK_HEIGHT 5
#define BOARD_X 14
#define BOARD_Y 0
#define PREVIEW_X 98
#define PREVIEW_Y 88
#define LABEL_X 80
#define SCORE_Y 15
#define LEVEL_Y 45
#define LINES_Y 74
#endif
#ifndef LEVEL_X

View file

@ -25,6 +25,8 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_F1
@ -32,6 +34,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_F1
@ -39,6 +43,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == ONDIO_PAD
#define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE_PICTURE_PRE BUTTON_MENU
@ -48,6 +54,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_SELECT
@ -59,6 +67,8 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_MENU
#define PUZZLE_DOWN BUTTON_PLAY
#define PUZZLE_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT)
@ -66,6 +76,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_REC
@ -73,6 +85,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_SELECT
@ -81,6 +95,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_REC
@ -88,6 +104,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_SCROLL_UP
#define PUZZLE_DOWN BUTTON_SCROLL_DOWN
#define PUZZLE_SHUFFLE BUTTON_REW
@ -95,6 +113,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define PUZZLE_QUIT BUTTON_BACK
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_SELECT
@ -102,11 +122,22 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
#define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_DISPLAY
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define PUZZLE_QUIT BUTTON_RC_REC
#define PUZZLE_LEFT BUTTON_RC_REW
#define PUZZLE_RIGHT BUTTON_RC_FF
#define PUZZLE_UP BUTTON_RC_VOL_UP
#define PUZZLE_DOWN BUTTON_RC_VOL_DOWN
#define PUZZLE_SHUFFLE BUTTON_RC_MODE
#define PUZZLE_PICTURE BUTTON_RC_MENU
#else
#error No keymap defined!
#endif
@ -502,12 +533,12 @@ static int puzzle_loop(void)
draw_playfield();
break;
case BUTTON_LEFT:
case PUZZLE_LEFT:
if ((hole%SPOTS_X)<(SPOTS_X-1) && !puzzle_finished())
move_spot(-1, 0);
break;
case BUTTON_RIGHT:
case PUZZLE_RIGHT:
if ((hole%SPOTS_X)>0 && !puzzle_finished())
move_spot(1, 0);
break;

View file

@ -38,18 +38,24 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define SNAKE_QUIT BUTTON_OFF
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define SNAKE_QUIT BUTTON_OFF
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif CONFIG_KEYPAD == ONDIO_PAD
#define SNAKE_QUIT BUTTON_OFF
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_MENU
@ -57,6 +63,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNAKE_QUIT BUTTON_OFF
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_ON
@ -67,18 +75,24 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_MENU
#define SNAKE_DOWN BUTTON_PLAY
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
@ -86,28 +100,46 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD)
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_SCROLL_UP
#define SNAKE_DOWN BUTTON_SCROLL_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define SNAKE_QUIT BUTTON_BACK
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define SNAKE_QUIT BUTTON_RC_REC
#define SNAKE_LEFT BUTTON_RC_REW
#define SNAKE_RIGHT BUTTON_RC_FF
#define SNAKE_UP BUTTON_RC_VOL_UP
#define SNAKE_DOWN BUTTON_RC_VOL_DOWN
#define SNAKE_PLAYPAUSE BUTTON_RC_PLAY
#define SNAKE_RC_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif
@ -308,13 +340,13 @@ void game (void) {
case SNAKE_UP:
if (dir!=2) dir=0;
break;
case BUTTON_RIGHT:
case SNAKE_RIGHT:
if (dir!=3) dir=1;
break;
case SNAKE_DOWN:
if (dir!=0) dir=2;
break;
case BUTTON_LEFT:
case SNAKE_LEFT:
if (dir!=1) dir=3;
break;
#ifdef SNAKE_RC_QUIT

View file

@ -35,6 +35,17 @@ PLUGIN_HEADER
#define WIDTH 28
#define HEIGHT 16
#if (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 1)
#include "snake2_header1.h"
#include "snake2_header2.h"
#include "snake2_left.h"
#include "snake2_right.h"
#include "snake2_bottom.h"
#define BMPHEIGHT_snake2_header BMPHEIGHT_snake2_header1
#define BMPWIDTH_snake2_header BMPWIDTH_snake2_header1
#endif
#if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
#define MULTIPLIER 10 /*Modifier for porting on other screens*/
#define MODIFIER_1 10
@ -47,14 +58,6 @@ PLUGIN_HEADER
#define TOP_X4 274 /* x-coord of the lowerright item (hi-score) */
#define TOP_Y1 4 /* y-coord of the top row of items */
#define TOP_Y2 25 /* y-coord of the bottom row of items */
#define BMPHEIGHT_snake2_header 38
#define BMPWIDTH_snake2_header 320
#define BMPHEIGHT_snake2_right 192
#define BMPWIDTH_snake2_right 10
#define BMPHEIGHT_snake2_left 192
#define BMPWIDTH_snake2_left 10
#define BMPHEIGHT_snake2_bottom 10
#define BMPWIDTH_snake2_bottom 320
#elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 168)
#define MULTIPLIER 8
#define MODIFIER_1 8
@ -67,14 +70,6 @@ PLUGIN_HEADER
#define TOP_X4 194
#define TOP_Y1 4
#define TOP_Y2 25
#define BMPHEIGHT_snake2_header 38
#define BMPWIDTH_snake2_header 240
#define BMPHEIGHT_snake2_right 120
#define BMPWIDTH_snake2_right 10
#define BMPHEIGHT_snake2_left 120
#define BMPWIDTH_snake2_left 10
#define BMPHEIGHT_snake2_bottom 10
#define BMPWIDTH_snake2_bottom 240
#elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176)
#define MULTIPLIER 7
#define MODIFIER_1 7
@ -87,14 +82,6 @@ PLUGIN_HEADER
#define TOP_X4 174
#define TOP_Y1 4
#define TOP_Y2 25
#define BMPHEIGHT_snake2_header 38
#define BMPWIDTH_snake2_header 220
#define BMPHEIGHT_snake2_right 128
#define BMPWIDTH_snake2_right 10
#define BMPHEIGHT_snake2_left 128
#define BMPWIDTH_snake2_left 10
#define BMPHEIGHT_snake2_bottom 10
#define BMPWIDTH_snake2_bottom 220
#elif (LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132)
#define MULTIPLIER 5
#define MODIFIER_1 5
@ -107,14 +94,6 @@ PLUGIN_HEADER
#define TOP_X4 130
#define TOP_Y1 4
#define TOP_Y2 25
#define BMPHEIGHT_snake2_header 38
#define BMPWIDTH_snake2_header 176
#define BMPHEIGHT_snake2_right 84
#define BMPWIDTH_snake2_right 10
#define BMPHEIGHT_snake2_left 84
#define BMPWIDTH_snake2_left 10
#define BMPHEIGHT_snake2_bottom 10
#define BMPWIDTH_snake2_bottom 176
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128)
#define MULTIPLIER 5
#define MODIFIER_1 5
@ -127,14 +106,6 @@ PLUGIN_HEADER
#define TOP_X4 114
#define TOP_Y1 4
#define TOP_Y2 25
#define BMPHEIGHT_snake2_header 38
#define BMPWIDTH_snake2_header 160
#define BMPHEIGHT_snake2_right 80
#define BMPWIDTH_snake2_right 10
#define BMPHEIGHT_snake2_left 80
#define BMPWIDTH_snake2_left 10
#define BMPHEIGHT_snake2_bottom 10
#define BMPWIDTH_snake2_bottom 160
#else
#define MULTIPLIER 4
#define MODIFIER_1 4
@ -146,6 +117,8 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_OFF
@ -158,6 +131,8 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE_TEXT "Play"
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_OFF
@ -170,6 +145,8 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE_TEXT "Select"
#elif CONFIG_KEYPAD == ONDIO_PAD
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_OFF
@ -182,6 +159,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_OFF
@ -197,6 +176,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_MENU
#define SNAKE2_DOWN BUTTON_PLAY
#define SNAKE2_QUIT (BUTTON_SELECT | BUTTON_MENU)
@ -209,6 +190,8 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE_TEXT "Select"
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_POWER
@ -221,6 +204,8 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE_TEXT "Select"
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_POWER
@ -234,6 +219,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_POWER
@ -246,6 +233,8 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE_TEXT "Select"
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_SCROLL_UP
#define SNAKE2_DOWN BUTTON_SCROLL_DOWN
#define SNAKE2_QUIT BUTTON_POWER
@ -258,6 +247,8 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE_TEXT "FF"
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_BACK
@ -270,6 +261,8 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE_TEXT "Select"
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define SNAKE2_LEFT BUTTON_LEFT
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
#define SNAKE2_QUIT BUTTON_POWER
@ -281,6 +274,20 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE BUTTON_SELECT
#define SNAKE2_PLAYPAUSE_TEXT "Select"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define SNAKE2_LEFT BUTTON_RC_REW
#define SNAKE2_RIGHT BUTTON_RC_FF
#define SNAKE2_UP BUTTON_RC_VOL_UP
#define SNAKE2_DOWN BUTTON_RC_VOL_DOWN
#define SNAKE2_QUIT BUTTON_RC_REC
#define SNAKE2_LEVEL_UP BUTTON_RC_VOL_UP
#define SNAKE2_LEVEL_DOWN BUTTON_RC_VOL_DOWN
#define SNAKE2_MAZE_NEXT BUTTON_RC_FF
#define SNAKE2_MAZE_LAST BUTTON_RC_REW
#define SNAKE2_SELECT_TYPE BUTTON_RC_MODE
#define SNAKE2_PLAYPAUSE BUTTON_RC_PLAY
#define SNAKE2_PLAYPAUSE_TEXT "Play"
#else
#error No keymap defined!
#endif
@ -314,22 +321,6 @@ static int game_b_level=0;
static int applecount=0;
static char phscore[30];
#if (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128)
#ifdef HAVE_LCD_COLOR
extern const unsigned short snake2_header1[];
extern const unsigned short snake2_header2[];
extern const unsigned short snake2_left[];
extern const unsigned short snake2_right[];
extern const unsigned short snake2_bottom[];
#else
extern const unsigned char snake2_header1[];
extern const unsigned char snake2_header2[];
extern const unsigned char snake2_left[];
extern const unsigned char snake2_right[];
extern const unsigned char snake2_bottom[];
#endif
#endif
#define NORTH 1
#define EAST 2
#define SOUTH 4
@ -1196,8 +1187,8 @@ void game (void)
if (dir != SOUTH) set_direction(NORTH);
break;
case BUTTON_RIGHT:
case BUTTON_RIGHT | BUTTON_REPEAT:
case SNAKE2_RIGHT:
case SNAKE2_RIGHT | BUTTON_REPEAT:
if (dir != WEST) set_direction(EAST);
break;
@ -1206,8 +1197,8 @@ void game (void)
if (dir != NORTH) set_direction(SOUTH);
break;
case BUTTON_LEFT:
case BUTTON_LEFT | BUTTON_REPEAT:
case SNAKE2_LEFT:
case SNAKE2_LEFT | BUTTON_REPEAT:
if (dir != EAST) set_direction(WEST);
break;

View file

@ -57,6 +57,9 @@ PLUGIN_HEADER
#define SNOW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
#define SNOW_QUIT BUTTON_BACK
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define SNOW_QUIT BUTTON_REC
#define SNOW_RC_QUIT BUTTON_RC_REC
#else
#define SNOW_QUIT BUTTON_OFF
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)

View file

@ -105,6 +105,8 @@ extern const fb_data sokoban_tiles[];
/* variable button definitions */
#if (CONFIG_KEYPAD == RECORDER_PAD) || \
(CONFIG_KEYPAD == ARCHOS_AV300_PAD)
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_OFF
@ -118,6 +120,8 @@ extern const fb_data sokoban_tiles[];
#define BUTTON_SAVE_NAME "ON"
#elif CONFIG_KEYPAD == ONDIO_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_OFF
@ -133,6 +137,8 @@ extern const fb_data sokoban_tiles[];
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_OFF
@ -150,6 +156,8 @@ extern const fb_data sokoban_tiles[];
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_MENU
#define SOKOBAN_DOWN BUTTON_PLAY
#define SOKOBAN_MENU (BUTTON_SELECT | BUTTON_MENU)
@ -165,6 +173,8 @@ extern const fb_data sokoban_tiles[];
/* FIXME: if/when simultaneous button presses work for X5/M5,
* add level up/down */
#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_POWER
@ -177,6 +187,8 @@ extern const fb_data sokoban_tiles[];
#define BUTTON_SAVE_NAME "SELECT"
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_SCROLL_UP
#define SOKOBAN_DOWN BUTTON_SCROLL_DOWN
#define SOKOBAN_MENU BUTTON_POWER
@ -191,6 +203,8 @@ extern const fb_data sokoban_tiles[];
#define BUTTON_SAVE_NAME "PLAY"
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_POWER
@ -204,6 +218,8 @@ extern const fb_data sokoban_tiles[];
#define BUTTON_SAVE_NAME "SELECT"
#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_POWER
@ -218,6 +234,8 @@ extern const fb_data sokoban_tiles[];
#define BUTTON_SAVE_NAME "SELECT"
#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_MENU
@ -231,6 +249,8 @@ extern const fb_data sokoban_tiles[];
#define BUTTON_SAVE_NAME "SELECT"
#elif CONFIG_KEYPAD == MROBE100_PAD
#define SOKOBAN_LEFT BUTTON_LEFT
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
#define SOKOBAN_MENU BUTTON_POWER
@ -243,6 +263,20 @@ extern const fb_data sokoban_tiles[];
#define BUTTON_SAVE BUTTON_SELECT
#define BUTTON_SAVE_NAME "SELECT"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define SOKOBAN_LEFT BUTTON_RC_REW
#define SOKOBAN_RIGHT BUTTON_RC_FF
#define SOKOBAN_UP BUTTON_RC_VOL_UP
#define SOKOBAN_DOWN BUTTON_RC_VOL_DOWN
#define SOKOBAN_MENU BUTTON_RC_REC
#define SOKOBAN_UNDO BUTTON_RC_MODE
#define SOKOBAN_REDO BUTTON_RC_MENU
#define SOKOBAN_PAUSE BUTTON_RC_PLAY
#define BUTTON_SAVE BUTTON_RC_PLAY
#define BUTTON_SAVE_NAME "PLAY"
#define SOKOBAN_RC_MENU BUTTON_REC
#else
#error No keymap defined!
#endif
@ -1043,8 +1077,8 @@ static bool load(char *filename, bool silent)
paused = !paused;
break;
case BUTTON_LEFT:
case BUTTON_LEFT | BUTTON_REPEAT:
case SOKOBAN_LEFT:
case SOKOBAN_LEFT | BUTTON_REPEAT:
/* Go back one move */
if (paused) {
if (undo())
@ -1054,8 +1088,8 @@ static bool load(char *filename, bool silent)
}
break;
case BUTTON_RIGHT:
case BUTTON_RIGHT | BUTTON_REPEAT:
case SOKOBAN_RIGHT:
case SOKOBAN_RIGHT | BUTTON_REPEAT:
/* Go forward one move */
if (paused) {
if (redo())
@ -1336,13 +1370,13 @@ static bool sokoban_loop(void)
break;
#endif
case BUTTON_LEFT:
case BUTTON_LEFT | BUTTON_REPEAT:
case SOKOBAN_LEFT:
case SOKOBAN_LEFT | BUTTON_REPEAT:
moved = move(SOKOBAN_MOVE_LEFT, false);
break;
case BUTTON_RIGHT:
case BUTTON_RIGHT | BUTTON_REPEAT:
case SOKOBAN_RIGHT:
case SOKOBAN_RIGHT | BUTTON_REPEAT:
moved = move(SOKOBAN_MOVE_RIGHT, false);
break;

View file

@ -275,11 +275,36 @@ static struct plugin_api* rb;
# define HK_CUR2STACK "SELECT.."
# define HK_REM2STACK "DISPLAY+RIGHT"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
# define SOL_QUIT BUTTON_RC_REC
# define SOL_UP BUTTON_RC_VOL_UP
# define SOL_DOWN BUTTON_RC_VOL_DOWN
# define SOL_LEFT BUTTON_RC_REW
# define SOL_RIGHT BUTTON_RC_FF
# define SOL_MOVE BUTTON_RC_PLAY
# define SOL_DRAW_PRE BUTTON_RC_MENU
# define SOL_DRAW (BUTTON_RC_MENU | BUTTON_REL)
# define SOL_REM2CUR_PRE BUTTON_RC_MENU
# define SOL_REM2CUR (BUTTON_RC_MENU | BUTTON_REPEAT)
# define SOL_CUR2STACK_PRE BUTTON_RC_MODE
# define SOL_CUR2STACK (BUTTON_RC_MODE | BUTTON_REL)
# define SOL_REM2STACK_PRE BUTTON_RC_MODE
# define SOL_REM2STACK (BUTTON_RC_MODE | BUTTON_REPEAT)
# define HK_LR "REW/FF"
# define HK_UD "VOL UP/DOWN"
# define HK_MOVE "PLAY"
# define HK_DRAW "MENU"
# define HK_REM2CUR "MENU.."
# define HK_CUR2STACK "MODE"
# define HK_REM2STACK "MODE.."
#else
#error No keymap defined!
#endif
#define HK_LR "LEFT/RIGHT"
#ifndef HK_LR
# define HK_LR "LEFT/RIGHT"
#endif
#ifndef HK_UD
# define HK_UD "UP/DOWN"
#endif

View file

@ -187,6 +187,19 @@ static struct plugin_api* rb; /* global api struct pointer */
#define AST_FIRE BUTTON_SELECT
#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define AST_PAUSE BUTTON_RC_PLAY
#define AST_QUIT BUTTON_RC_REC
#define AST_THRUST_REP BUTTON_RC_VOL_UP | BUTTON_REPEAT
#define AST_THRUST BUTTON_RC_VOL_UP
#define AST_HYPERSPACE BUTTON_RC_VOL_DOWN
#define AST_LEFT BUTTON_RC_REW
#define AST_LEFT_REP (BUTTON_RC_REW | BUTTON_REPEAT)
#define AST_RIGHT BUTTON_RC_FF
#define AST_RIGHT_REP (BUTTON_RC_FF | BUTTON_REPEAT)
#define AST_FIRE BUTTON_RC_MODE
#define AST_FIRE_REP (BUTTON_RC_MODE | BUTTON_REPEAT)
#else
#error No keymap defined!
#endif

View file

@ -55,6 +55,8 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define STAR_QUIT BUTTON_OFF
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_ON
@ -68,6 +70,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define STAR_QUIT BUTTON_OFF
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_ON
@ -81,6 +85,8 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == ONDIO_PAD
#define STAR_QUIT BUTTON_OFF
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU
@ -93,6 +99,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define STAR_QUIT BUTTON_OFF
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_MODE
@ -109,6 +117,8 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define STAR_QUIT (BUTTON_SELECT | BUTTON_MENU)
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_MENU
#define STAR_DOWN BUTTON_PLAY
#define STAR_TOGGLE_CONTROL_PRE BUTTON_SELECT
@ -122,6 +132,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_SELECT
@ -136,6 +148,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_SELECT
@ -148,6 +162,8 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == SANSA_C200_PAD)
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_SELECT
@ -160,6 +176,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_SCROLL_UP
#define STAR_DOWN BUTTON_SCROLL_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_REW
@ -171,6 +189,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define STAR_QUIT BUTTON_BACK
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_SELECT
@ -182,6 +202,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
#define STAR_DOWN BUTTON_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_SELECT
@ -190,6 +212,19 @@ PLUGIN_HEADER
#define STAR_LEVEL_REPEAT BUTTON_DISPLAY
#define STAR_MENU_RUN BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define STAR_QUIT BUTTON_RC_REC
#define STAR_LEFT BUTTON_RC_REW
#define STAR_RIGHT BUTTON_RC_FF
#define STAR_UP BUTTON_RC_VOL_UP
#define STAR_DOWN BUTTON_RC_VOL_DOWN
#define STAR_TOGGLE_CONTROL BUTTON_RC_MODE
#define STAR_LEVEL_UP (BUTTON_RC_PLAY|BUTTON_RC_VOL_UP)
#define STAR_LEVEL_DOWN (BUTTON_RC_PLAY|BUTTON_RC_VOL_DOWN)
#define STAR_LEVEL_REPEAT (BUTTON_RC_PLAY|BUTTON_RC_MENU)
#define STAR_MENU_RUN BUTTON_RC_FF
#else
#error No keymap defined!
#endif
@ -514,7 +549,7 @@ void star_display_text(char *str, bool waitkey)
switch (key)
{
case STAR_QUIT:
case BUTTON_LEFT:
case STAR_LEFT:
case STAR_DOWN:
go_on = true;
break;
@ -769,11 +804,11 @@ static int star_run_game(int current_level)
case STAR_QUIT:
return -1;
case BUTTON_LEFT:
case STAR_LEFT:
move_x = -1;
break;
case BUTTON_RIGHT:
case STAR_RIGHT:
move_x = 1;
break;

View file

@ -79,6 +79,13 @@ static struct plugin_api* rb; /* global api struct pointer */
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define STARFIELD_QUIT BUTTON_RC_REC
#define STARFIELD_INCREASE_ZMOVE BUTTON_RC_VOL_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_RC_VOL_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RC_FF
#define STARFIELD_DECREASE_NB_STARS BUTTON_RC_REW
#define STARFIELD_TOGGLE_COLOR BUTTON_RC_MODE
#else
#define STARFIELD_QUIT BUTTON_OFF

View file

@ -69,6 +69,10 @@ static bool abort;
#elif CONFIG_KEYPAD == MROBE100_PAD
#define STATS_STOP BUTTON_POWER
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define STATS_STOP BUTTON_REC
#define STATS_STOP_REMOTE BUTTON_RC_REC
#else
#error No keymap defined!
#endif

View file

@ -136,6 +136,14 @@ PLUGIN_HEADER
#define STOPWATCH_LAP_TIMER BUTTON_MENU
#define STOPWATCH_SCROLL_UP BUTTON_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define STOPWATCH_QUIT BUTTON_RC_REC
#define STOPWATCH_START_STOP BUTTON_RC_PLAY
#define STOPWATCH_RESET_TIMER BUTTON_RC_REW
#define STOPWATCH_LAP_TIMER BUTTON_RC_FF
#define STOPWATCH_SCROLL_UP BUTTON_RC_VOL_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_RC_VOL_DOWN
#define STOPWATCH_RC_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif

View file

@ -20,10 +20,12 @@
PLUGIN_HEADER
/* All swcodec targets have BUTTON_SELECT apart from the H10 */
/* All swcodec targets have BUTTON_SELECT apart from the H10 and M3 */
#if CONFIG_KEYPAD == IRIVER_H10_PAD
#define TESTCODEC_EXITBUTTON BUTTON_RIGHT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define TESTCODEC_EXITBUTTON BUTTON_RC_PLAY
#else
#define TESTCODEC_EXITBUTTON BUTTON_SELECT
#endif

View file

@ -27,6 +27,8 @@ PLUGIN_IRAM_DECLARE
#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define FPS_QUIT BUTTON_MENU
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define FPS_QUIT BUTTON_RC_REC
#elif defined(BUTTON_OFF)
#define FPS_QUIT BUTTON_OFF
#else

View file

@ -38,6 +38,13 @@ PLUGIN_HEADER
#define SCANRATE_INC BUTTON_RIGHT
#define SCANRATE_DEC BUTTON_LEFT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define SCANRATE_DONE BUTTON_RC_REC
#define SCANRATE_FASTINC BUTTON_RC_VOL_UP
#define SCANRATE_FASTDEC BUTTON_RC_VOL_DOWN
#define SCANRATE_INC BUTTON_RC_FF
#define SCANRATE_DEC BUTTON_RC_REW
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \
|| (CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define SCANRATE_DONE BUTTON_MENU
@ -67,6 +74,9 @@ PLUGIN_HEADER
#define DEFAULT_SCAN_RATE 800
#elif CONFIG_LCD == LCD_IPODMINI
#define DEFAULT_SCAN_RATE 880
#else
#define DEFAULT_SCAN_RATE 700
#warning Generic default scanrate
#endif
#if defined(CPU_PP) && defined(HAVE_ADJUSTABLE_CPU_FREQ)

View file

@ -232,6 +232,18 @@ PLUGIN_HEADER
#define VIEWER_MENU BUTTON_MENU
#define VIEWER_AUTOSCROLL BUTTON_DISPLAY
/* iAUdio M3 keys */
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define VIEWER_QUIT BUTTON_RC_REC
#define VIEWER_PAGE_UP BUTTON_RC_VOL_UP
#define VIEWER_PAGE_DOWN BUTTON_RC_VOL_DOWN
#define VIEWER_SCREEN_LEFT BUTTON_RC_REW
#define VIEWER_SCREEN_RIGHT BUTTON_RC_FF
#define VIEWER_MENU BUTTON_RC_MENU
#define VIEWER_AUTOSCROLL BUTTON_RC_MODE
#define VIEWER_RC_QUIT BUTTON_REC
#else
#error No keymap defined!
#endif

View file

@ -139,6 +139,15 @@ PLUGIN_HEADER
#define VUMETER_UP BUTTON_UP
#define VUMETER_DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define VUMETER_QUIT BUTTON_RC_REC
#define VUMETER_HELP BUTTON_RC_MODE
#define VUMETER_MENU BUTTON_RC_MENU
#define VUMETER_MENU_EXIT BUTTON_RC_MENU
#define VUMETER_MENU_EXIT2 BUTTON_RC_REC
#define VUMETER_UP BUTTON_RC_VOL_UP
#define VUMETER_DOWN BUTTON_RC_VOL_DOWN
#else
#error No keymap defined!
#endif

View file

@ -202,6 +202,19 @@ PLUGIN_HEADER
#define PLAYERS_TEXT "Up/Down"
#define WORMS_TEXT "Left/Right"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define BTN_DIR_UP BUTTON_RC_VOL_UP
#define BTN_DIR_DOWN BUTTON_RC_VOL_DOWN
#define BTN_DIR_LEFT BUTTON_RC_REW
#define BTN_DIR_RIGHT BUTTON_RC_FF
#define BTN_STARTPAUSE BUTTON_RC_PLAY
#define BTN_QUIT BUTTON_RC_REC
#define BTN_STOPRESET BUTTON_RC_MODE
#define PLAYERS_TEXT "VOL UP/DN"
#define WORMS_TEXT "REW/FF"
#else
#error No keymap defined!
#endif
@ -216,6 +229,11 @@ PLUGIN_HEADER
#define ARGH_SIZE 4
#define SPEED 14
#define MAX_WORM_SEGMENTS 128
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96)
#define FOOD_SIZE 3
#define ARGH_SIZE 4
#define SPEED 12
#define MAX_WORM_SEGMENTS 128
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
#define FOOD_SIZE 4
#define ARGH_SIZE 5

View file

@ -130,6 +130,15 @@ PLUGIN_HEADER
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_DISPLAY
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define QUIT BUTTON_RC_REC
#define LEFT BUTTON_RC_REW
#define RIGHT BUTTON_RC_FF
#define UP BUTTON_RC_VOL_UP
#define DOWN BUTTON_RC_VOL_DOWN
#define PAUSE BUTTON_RC_PLAY
#else
#error No keymap defined!
#endif