diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index 658dfca0ec..6b52a4d489 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -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 @@ -231,7 +240,7 @@ void thread(void) int fd, buffelements, tick = 1, i = 0, skipped = 0, exit = 0; int fst = 0, lst = 0; /* first and last skipped tick */ unsigned int last_voltage = 0; -#if CONFIG_CHARGING || defined(HAVE_USB_POWER) +#if CONFIG_CHARGING || defined(HAVE_USB_POWER) unsigned int last_state = 0; #endif long sleep_time = 5 * HZ; diff --git a/apps/plugins/bitmaps/mono/SOURCES b/apps/plugins/bitmaps/mono/SOURCES index a7ce0b51f3..d2952d1ef7 100644 --- a/apps/plugins/bitmaps/mono/SOURCES +++ b/apps/plugins/bitmaps/mono/SOURCES @@ -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 diff --git a/apps/plugins/bitmaps/mono/bubbles_bubble.128x96x1.bmp b/apps/plugins/bitmaps/mono/bubbles_bubble.128x96x1.bmp new file mode 100644 index 0000000000..a58ef9ce63 Binary files /dev/null and b/apps/plugins/bitmaps/mono/bubbles_bubble.128x96x1.bmp differ diff --git a/apps/plugins/bitmaps/mono/flipit_cursor.21x21x1.bmp b/apps/plugins/bitmaps/mono/flipit_cursor.21x21x1.bmp new file mode 100644 index 0000000000..950426da11 Binary files /dev/null and b/apps/plugins/bitmaps/mono/flipit_cursor.21x21x1.bmp differ diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES index b1393cf199..c7ed52b9cb 100644 --- a/apps/plugins/bitmaps/native/SOURCES +++ b/apps/plugins/bitmaps/native/SOURCES @@ -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 */ diff --git a/apps/plugins/bitmaps/native/brickmania_ball.4x4x2.bmp b/apps/plugins/bitmaps/native/brickmania_ball.4x4x2.bmp new file mode 100644 index 0000000000..78329d958c Binary files /dev/null and b/apps/plugins/bitmaps/native/brickmania_ball.4x4x2.bmp differ diff --git a/apps/plugins/bitmaps/native/brickmania_bricks.128x96x2.bmp b/apps/plugins/bitmaps/native/brickmania_bricks.128x96x2.bmp new file mode 100644 index 0000000000..fe126921a9 Binary files /dev/null and b/apps/plugins/bitmaps/native/brickmania_bricks.128x96x2.bmp differ diff --git a/apps/plugins/bitmaps/native/brickmania_menu_bg.160x128x2.bmp b/apps/plugins/bitmaps/native/brickmania_menu_bg.160x128x2.bmp index 4526af9025..40e6a21685 100644 Binary files a/apps/plugins/bitmaps/native/brickmania_menu_bg.160x128x2.bmp and b/apps/plugins/bitmaps/native/brickmania_menu_bg.160x128x2.bmp differ diff --git a/apps/plugins/bitmaps/native/bubbles_emblem.128x96x2.bmp b/apps/plugins/bitmaps/native/bubbles_emblem.128x96x2.bmp new file mode 100644 index 0000000000..2b5293bc3c Binary files /dev/null and b/apps/plugins/bitmaps/native/bubbles_emblem.128x96x2.bmp differ diff --git a/apps/plugins/bitmaps/native/flipit_tokens.21x42x2.bmp b/apps/plugins/bitmaps/native/flipit_tokens.21x42x2.bmp new file mode 100644 index 0000000000..dba7d6af92 Binary files /dev/null and b/apps/plugins/bitmaps/native/flipit_tokens.21x42x2.bmp differ diff --git a/apps/plugins/bitmaps/native/jewels.128x96x2.bmp b/apps/plugins/bitmaps/native/jewels.128x96x2.bmp new file mode 100644 index 0000000000..adf9711b52 Binary files /dev/null and b/apps/plugins/bitmaps/native/jewels.128x96x2.bmp differ diff --git a/apps/plugins/bitmaps/native/rockblox_background.128x96x2.bmp b/apps/plugins/bitmaps/native/rockblox_background.128x96x2.bmp new file mode 100644 index 0000000000..3f2623cff0 Binary files /dev/null and b/apps/plugins/bitmaps/native/rockblox_background.128x96x2.bmp differ diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c index b4f0da4b96..fc2f542077 100644 --- a/apps/plugins/blackjack.c +++ b/apps/plugins/blackjack.c @@ -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 diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c index f83d99306a..8216a396e9 100644 --- a/apps/plugins/bounce.c +++ b/apps/plugins/bounce.c @@ -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: diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c index b37dd97800..d376ad20d0 100644 --- a/apps/plugins/brickmania.c +++ b/apps/plugins/brickmania.c @@ -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 diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c index 05ce15d75b..85cde59188 100644 --- a/apps/plugins/bubbles.c +++ b/apps/plugins/bubbles.c @@ -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, diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c index cfc0f76448..53be78fdd9 100644 --- a/apps/plugins/calculator.c +++ b/apps/plugins/calculator.c @@ -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: diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c index 6523021b6d..7d16c7c629 100644 --- a/apps/plugins/chessclock.c +++ b/apps/plugins/chessclock.c @@ -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 diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c index ab685e5288..5fbf1be7fb 100644 --- a/apps/plugins/chip8.c +++ b/apps/plugins/chip8.c @@ -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 diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c index 92b01cd859..02cc2ffd92 100644 --- a/apps/plugins/chopper.c +++ b/apps/plugins/chopper.c @@ -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 diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c index dfc6bb329b..96d95fc4d0 100644 --- a/apps/plugins/cube.c +++ b/apps/plugins/cube.c @@ -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 diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c index e354097a2a..159d1c669f 100644 --- a/apps/plugins/dict.c +++ b/apps/plugins/dict.c @@ -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 diff --git a/apps/plugins/disktidy.c b/apps/plugins/disktidy.c index be3407e13e..3bf8f3507d 100644 --- a/apps/plugins/disktidy.c +++ b/apps/plugins/disktidy.c @@ -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 diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c index e233a8ea66..68fe2ebe25 100644 --- a/apps/plugins/fireworks.c +++ b/apps/plugins/fireworks.c @@ -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: diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c index 4292ef8e4f..831cc857ec 100644 --- a/apps/plugins/flipit.c +++ b/apps/plugins/flipit.c @@ -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 @@ -174,7 +214,7 @@ static int cursor_pos, moves; #define GRID_TOP MAX(0, ((LCD_HEIGHT - PANEL_HEIGHT - GRID_HEIGHT)/2)) /* draw a spot at the coordinates (x,y), range of p is 0-19 */ -static void draw_spot(int p) +static void draw_spot(int p) { rb->lcd_bitmap_part( flipit_tokens, 0, spots[p] * TK_HEIGHT, TK_WIDTH, GRID_LEFT + (p%5) * (TK_WIDTH+TK_SPACE), @@ -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 */ diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c index 76019f56f4..5579c194e8 100644 --- a/apps/plugins/jewels.c +++ b/apps/plugins/jewels.c @@ -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 diff --git a/apps/plugins/lib/SOURCES b/apps/plugins/lib/SOURCES index 6a44c80ffa..f1aded6122 100644 --- a/apps/plugins/lib/SOURCES +++ b/apps/plugins/lib/SOURCES @@ -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 diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index a7fbb356e3..1cd10581e1 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c @@ -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 diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c index 7ac004c053..9b33108fcb 100644 --- a/apps/plugins/logo.c +++ b/apps/plugins/logo.c @@ -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 diff --git a/apps/plugins/matrix.c b/apps/plugins/matrix.c index 827b205e7d..19763b6005 100644 --- a/apps/plugins/matrix.c +++ b/apps/plugins/matrix.c @@ -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 diff --git a/apps/plugins/mazezam.c b/apps/plugins/mazezam.c index 858d554a6d..69997af9c3 100644 --- a/apps/plugins/mazezam.c +++ b/apps/plugins/mazezam.c @@ -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 diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c index 8b9fe85da9..afe7a39320 100644 --- a/apps/plugins/minesweeper.c +++ b/apps/plugins/minesweeper.c @@ -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,14 +98,18 @@ enum minesweeper_status { # define MINESWP_INFO (BUTTON_SELECT | BUTTON_PLAY) #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) -# define MINESWP_UP BUTTON_UP -# define MINESWP_DOWN BUTTON_DOWN -# define MINESWP_QUIT BUTTON_POWER -# define MINESWP_TOGGLE BUTTON_PLAY -# define MINESWP_DISCOVER BUTTON_SELECT -# define MINESWP_INFO BUTTON_REC +# 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 +# define MINESWP_TOGGLE BUTTON_PLAY +# define MINESWP_DISCOVER BUTTON_SELECT +# 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; diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c index 42037f80f5..bd1eade7f0 100644 --- a/apps/plugins/mosaique.c +++ b/apps/plugins/mosaique.c @@ -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 diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c index 85ef5c1805..d0f4412087 100644 --- a/apps/plugins/mp3_encoder.c +++ b/apps/plugins/mp3_encoder.c @@ -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 diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c index 13a8c4e1a6..6b816aebe7 100644 --- a/apps/plugins/oscilloscope.c +++ b/apps/plugins/oscilloscope.c @@ -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 diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c index 303d6b1b75..707f107d3b 100644 --- a/apps/plugins/pong.c +++ b/apps/plugins/pong.c @@ -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 diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c index d4d9048797..f0bdd2a510 100644 --- a/apps/plugins/rockblox.c +++ b/apps/plugins/rockblox.c @@ -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 diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index 6da6b8bef1..8d57ede13c 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c @@ -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; diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c index c68b924da6..f414761ae3 100644 --- a/apps/plugins/snake.c +++ b/apps/plugins/snake.c @@ -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 diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c index bae520b9ac..07e3991c3b 100644 --- a/apps/plugins/snake2.c +++ b/apps/plugins/snake2.c @@ -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; diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c index 56ebb2eae4..43a7d00cd5 100644 --- a/apps/plugins/snow.c +++ b/apps/plugins/snow.c @@ -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) diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 66492fd3d5..d665a0a622 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c @@ -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; diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index fba2bf55a4..62f60c7eb4 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c @@ -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 diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c index 5d5a1bac6b..7de18e5459 100644 --- a/apps/plugins/spacerocks.c +++ b/apps/plugins/spacerocks.c @@ -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 diff --git a/apps/plugins/star.c b/apps/plugins/star.c index 56fe89c4d3..04b6642ede 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c @@ -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; diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c index de994ab13e..163d72ba39 100644 --- a/apps/plugins/starfield.c +++ b/apps/plugins/starfield.c @@ -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 diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c index 12125a33e8..e72b4bc2f5 100644 --- a/apps/plugins/stats.c +++ b/apps/plugins/stats.c @@ -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 diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c index 53f79ee6f7..ac3c7b70fb 100644 --- a/apps/plugins/stopwatch.c +++ b/apps/plugins/stopwatch.c @@ -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 diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c index 9cbfa70614..28e3d18431 100644 --- a/apps/plugins/test_codec.c +++ b/apps/plugins/test_codec.c @@ -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 diff --git a/apps/plugins/test_fps.c b/apps/plugins/test_fps.c index edb6a68123..e8ceaed7a1 100644 --- a/apps/plugins/test_fps.c +++ b/apps/plugins/test_fps.c @@ -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 diff --git a/apps/plugins/test_scanrate.c b/apps/plugins/test_scanrate.c index c61a9d70fc..e6ed1aa084 100644 --- a/apps/plugins/test_scanrate.c +++ b/apps/plugins/test_scanrate.c @@ -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) diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c index ea33314c99..a7be5db33c 100644 --- a/apps/plugins/viewer.c +++ b/apps/plugins/viewer.c @@ -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 diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c index 4a02a58850..9f0957895a 100644 --- a/apps/plugins/vu_meter.c +++ b/apps/plugins/vu_meter.c @@ -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 diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c index 65e9d85ff4..0da929d0a3 100644 --- a/apps/plugins/wormlet.c +++ b/apps/plugins/wormlet.c @@ -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 diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c index dcffbdcef5..d0d8049900 100644 --- a/apps/plugins/xobox.c +++ b/apps/plugins/xobox.c @@ -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