From 29361abf744ed116cec04ca03e754ddd2794b76c Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Sat, 22 Mar 2008 10:24:28 +0000 Subject: 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 --- apps/plugins/battery_bench.c | 11 +- apps/plugins/bitmaps/mono/SOURCES | 4 + .../bitmaps/mono/bubbles_bubble.128x96x1.bmp | Bin 0 -> 100 bytes .../plugins/bitmaps/mono/flipit_cursor.21x21x1.bmp | Bin 0 -> 148 bytes apps/plugins/bitmaps/native/SOURCES | 18 +++- .../bitmaps/native/brickmania_ball.4x4x2.bmp | Bin 0 -> 112 bytes .../bitmaps/native/brickmania_bricks.128x96x2.bmp | Bin 0 -> 1316 bytes .../native/brickmania_menu_bg.160x128x2.bmp | Bin 3676 -> 2956 bytes .../bitmaps/native/bubbles_emblem.128x96x2.bmp | Bin 0 -> 280 bytes .../bitmaps/native/flipit_tokens.21x42x2.bmp | Bin 0 -> 1080 bytes apps/plugins/bitmaps/native/jewels.128x96x2.bmp | Bin 0 -> 4392 bytes .../native/rockblox_background.128x96x2.bmp | Bin 0 -> 12360 bytes apps/plugins/blackjack.c | 16 +++ apps/plugins/bounce.c | 40 +++++++- apps/plugins/brickmania.c | 64 ++++++++---- apps/plugins/bubbles.c | 69 +++++-------- apps/plugins/calculator.c | 51 ++++++++-- apps/plugins/chessclock.c | 10 ++ apps/plugins/chip8.c | 10 ++ apps/plugins/chopper.c | 6 ++ apps/plugins/cube.c | 12 +++ apps/plugins/dict.c | 2 + apps/plugins/disktidy.c | 3 + apps/plugins/fireworks.c | 6 ++ apps/plugins/flipit.c | 52 +++++++++- apps/plugins/jewels.c | 28 ++++++ apps/plugins/lib/SOURCES | 3 +- apps/plugins/lib/pluginlib_actions.c | 27 +++++ apps/plugins/logo.c | 11 ++ apps/plugins/matrix.c | 5 + apps/plugins/mazezam.c | 12 +++ apps/plugins/minesweeper.c | 54 ++++++++-- apps/plugins/mosaique.c | 5 + apps/plugins/mp3_encoder.c | 5 + apps/plugins/oscilloscope.c | 13 +++ apps/plugins/pong.c | 8 ++ apps/plugins/rockblox.c | 66 ++++++++---- apps/plugins/sliding_puzzle.c | 35 ++++++- apps/plugins/snake.c | 36 ++++++- apps/plugins/snake2.c | 111 ++++++++++----------- apps/plugins/snow.c | 3 + apps/plugins/sokoban.c | 50 ++++++++-- apps/plugins/solitaire.c | 27 ++++- apps/plugins/spacerocks.c | 13 +++ apps/plugins/star.c | 41 +++++++- apps/plugins/starfield.c | 7 ++ apps/plugins/stats.c | 4 + apps/plugins/stopwatch.c | 8 ++ apps/plugins/test_codec.c | 4 +- apps/plugins/test_fps.c | 2 + apps/plugins/test_scanrate.c | 10 ++ apps/plugins/viewer.c | 12 +++ apps/plugins/vu_meter.c | 9 ++ apps/plugins/wormlet.c | 18 ++++ apps/plugins/xobox.c | 9 ++ 55 files changed, 817 insertions(+), 193 deletions(-) create mode 100644 apps/plugins/bitmaps/mono/bubbles_bubble.128x96x1.bmp create mode 100644 apps/plugins/bitmaps/mono/flipit_cursor.21x21x1.bmp create mode 100644 apps/plugins/bitmaps/native/brickmania_ball.4x4x2.bmp create mode 100644 apps/plugins/bitmaps/native/brickmania_bricks.128x96x2.bmp create mode 100644 apps/plugins/bitmaps/native/bubbles_emblem.128x96x2.bmp create mode 100644 apps/plugins/bitmaps/native/flipit_tokens.21x42x2.bmp create mode 100644 apps/plugins/bitmaps/native/jewels.128x96x2.bmp create mode 100644 apps/plugins/bitmaps/native/rockblox_background.128x96x2.bmp 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,6 +336,32 @@ PLUGIN_HEADER #define LEVEL_Y 49 #define LINES_Y 82 +#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 + +#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) + +#define BLOCK_WIDTH 4 +#define BLOCK_HEIGHT 4 +#define BOARD_X 10 +#define BOARD_Y 0 +#define PREVIEW_X 89 +#define PREVIEW_Y 61 +#define LABEL_X 78 +#define SCORE_Y 10 +#define LEVEL_Y 30 +#define LINES_Y 50 + #elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) #define BLOCK_WIDTH 6 @@ -338,18 +375,18 @@ PLUGIN_HEADER #define LEVEL_Y 49 #define LINES_Y 82 -#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) +#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) #define BLOCK_WIDTH 4 #define BLOCK_HEIGHT 4 -#define BOARD_X 10 -#define BOARD_Y 0 +#define BOARD_X 14 +#define BOARD_Y 2 #define PREVIEW_X 89 -#define PREVIEW_Y 61 -#define LABEL_X 78 -#define SCORE_Y 10 -#define LEVEL_Y 30 -#define LINES_Y 50 +#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) @@ -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 -- cgit v1.2.3