summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Kukla <roolku@rockbox.org>2008-03-01 22:55:09 +0000
committerRobert Kukla <roolku@rockbox.org>2008-03-01 22:55:09 +0000
commitd6c8b57b507658ef2e45f73d1f00e9ea88ac8d34 (patch)
tree2c3e35f7d1f705c08d963a21ede3b42f1bee5019
parent9876d91e351f457bac7f5ea3459dc12ef021078a (diff)
downloadrockbox-d6c8b57b507658ef2e45f73d1f00e9ea88ac8d34.tar.gz
rockbox-d6c8b57b507658ef2e45f73d1f00e9ea88ac8d34.zip
M:Robe 100: add button definition/bitmaps to plugins and enable compilation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16469 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/SOURCES10
-rw-r--r--apps/plugins/SUBDIRS2
-rw-r--r--apps/plugins/battery_bench.c9
-rw-r--r--apps/plugins/bitmaps/mono/SOURCES2
-rw-r--r--apps/plugins/bitmaps/mono/rockblox_background.160x128x1.bmpbin0 -> 2622 bytes
-rw-r--r--apps/plugins/bitmaps/native/SOURCES4
-rw-r--r--apps/plugins/bitmaps/native/sudoku_inverse.160x128x1.bmpbin0 -> 542 bytes
-rw-r--r--apps/plugins/bitmaps/native/sudoku_normal.160x128x1.bmpbin0 -> 542 bytes
-rw-r--r--apps/plugins/bitmaps/native/sudoku_start.160x128x1.bmpbin0 -> 542 bytes
-rw-r--r--apps/plugins/blackjack.c18
-rw-r--r--apps/plugins/bounce.c9
-rw-r--r--apps/plugins/brickmania.c13
-rw-r--r--apps/plugins/calculator.c12
-rw-r--r--apps/plugins/chessbox/chessbox.c17
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.c17
-rw-r--r--apps/plugins/chessclock.c12
-rw-r--r--apps/plugins/chip8.c13
-rw-r--r--apps/plugins/chopper.c7
-rw-r--r--apps/plugins/cube.c14
-rw-r--r--apps/plugins/dict.c2
-rw-r--r--apps/plugins/disktidy.c5
-rw-r--r--apps/plugins/fireworks.c3
-rw-r--r--apps/plugins/flipit.c12
-rw-r--r--apps/plugins/invadrox.c2
-rw-r--r--apps/plugins/jewels.c13
-rw-r--r--apps/plugins/jpeg.c13
-rw-r--r--apps/plugins/logo.c7
-rw-r--r--apps/plugins/mandelbrot.c16
-rw-r--r--apps/plugins/mazezam.c14
-rw-r--r--apps/plugins/midi/midiplay.c11
-rw-r--r--apps/plugins/minesweeper.c10
-rw-r--r--apps/plugins/mosaique.c7
-rw-r--r--apps/plugins/mp3_encoder.c7
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c12
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c11
-rw-r--r--apps/plugins/oscilloscope.c12
-rw-r--r--apps/plugins/plasma.c4
-rw-r--r--apps/plugins/pong.c10
-rw-r--r--apps/plugins/reversi/reversi-gui.h11
-rw-r--r--apps/plugins/rockblox.c14
-rw-r--r--apps/plugins/sliding_puzzle.c9
-rw-r--r--apps/plugins/snake.c8
-rw-r--r--apps/plugins/snake2.c14
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c15
-rw-r--r--apps/plugins/solitaire.c20
-rw-r--r--apps/plugins/spacerocks.c15
-rw-r--r--apps/plugins/star.c13
-rw-r--r--apps/plugins/starfield.c7
-rw-r--r--apps/plugins/stats.c6
-rw-r--r--apps/plugins/stopwatch.c9
-rw-r--r--apps/plugins/sudoku/sudoku.h12
-rw-r--r--apps/plugins/viewer.c11
-rw-r--r--apps/plugins/vu_meter.c11
-rw-r--r--apps/plugins/wormlet.c15
-rw-r--r--apps/plugins/xobox.c11
56 files changed, 507 insertions, 26 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index 8ad7c3f605..b6eac56dfb 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -1,4 +1,4 @@
1#if !defined(OLYMPUS_MROBE_100) && !defined(COWON_D2) 1#if !defined(COWON_D2)
2 2
3/* plugins common to all models */ 3/* plugins common to all models */
4battery_bench.c 4battery_bench.c
@@ -63,7 +63,7 @@ blackjack.c
63bounce.c 63bounce.c
64bubbles.c 64bubbles.c
65 65
66#if (LCD_WIDTH >= 160) 66#if (LCD_DEPTH > 1)
67invadrox.c 67invadrox.c
68#endif 68#endif
69 69
@@ -148,9 +148,9 @@ iriver_flash.c
148#endif 148#endif
149 149
150#endif /* iFP7xx */ 150#endif /* iFP7xx */
151#if (LCD_WIDTH > 138) 151#if (LCD_WIDTH > 138) && (LCD_DEPTH > 1)
152/* Built for bitmap targets except H10 5/6gb, Archoses, iPod mini and ifp */ 152/* Built for bitmap targets except H10 5/6gb, Archoses, iPod mini, mrobe100 and ifp*/
153superdom.c 153superdom.c
154#endif 154#endif
155#endif /* m:robe 500 */ 155#endif /* m:robe 500 */
156#endif /* m:robe 100 */ 156#endif /* COWON_D2 */
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index d664c12c96..4f9731f0ba 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -1,4 +1,4 @@
1#if !defined(IRIVER_IFP7XX_SERIES) && !defined(OLYMPUS_MROBE_100) && !defined(COWON_D2) && !defined(GIGABEAT_S) 1#if !defined(IRIVER_IFP7XX_SERIES) && !defined(COWON_D2) && !defined(GIGABEAT_S)
2 2
3/* For all targets */ 3/* For all targets */
4shortcuts 4shortcuts
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index 9135208984..658dfca0ec 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -128,6 +128,15 @@ PLUGIN_HEADER
128#define BATTERY_ON_TXT "PLAY - start" 128#define BATTERY_ON_TXT "PLAY - start"
129#define BATTERY_OFF_TXT "POWER - quit" 129#define BATTERY_OFF_TXT "POWER - quit"
130 130
131#elif CONFIG_KEYPAD == MROBE100_PAD
132
133#define BATTERY_ON BUTTON_SELECT
134#define BATTERY_OFF BUTTON_POWER
135#define BATTERY_ON_TXT "SELECT - start"
136#define BATTERY_OFF_TXT "POWER - quit"
137
138#else
139#error No keymap defined!
131#endif 140#endif
132 141
133 142
diff --git a/apps/plugins/bitmaps/mono/SOURCES b/apps/plugins/bitmaps/mono/SOURCES
index 6c9dfcf03d..a7ce0b51f3 100644
--- a/apps/plugins/bitmaps/mono/SOURCES
+++ b/apps/plugins/bitmaps/mono/SOURCES
@@ -25,6 +25,8 @@ bubbles_bubble.320x240x1.bmp
25rockblox_background.112x64x1.bmp 25rockblox_background.112x64x1.bmp
26#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64) 26#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
27rockblox_background.128x64x1.bmp 27rockblox_background.128x64x1.bmp
28#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128)
29rockblox_background.160x128x1.bmp
28#endif 30#endif
29 31
30/* Flip it */ 32/* Flip it */
diff --git a/apps/plugins/bitmaps/mono/rockblox_background.160x128x1.bmp b/apps/plugins/bitmaps/mono/rockblox_background.160x128x1.bmp
new file mode 100644
index 0000000000..77d606ae21
--- /dev/null
+++ b/apps/plugins/bitmaps/mono/rockblox_background.160x128x1.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 2f6c7d344f..316a3fdded 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -485,6 +485,10 @@ sudoku_inverse.160x128x16.bmp
485sudoku_start.160x128x2.bmp 485sudoku_start.160x128x2.bmp
486sudoku_normal.160x128x2.bmp 486sudoku_normal.160x128x2.bmp
487sudoku_inverse.160x128x2.bmp 487sudoku_inverse.160x128x2.bmp
488#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 1)
489sudoku_start.160x128x1.bmp
490sudoku_normal.160x128x1.bmp
491sudoku_inverse.160x128x1.bmp
488#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) && (LCD_DEPTH == 16) 492#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) && (LCD_DEPTH == 16)
489sudoku_start.220x176x16.bmp 493sudoku_start.220x176x16.bmp
490sudoku_normal.220x176x16.bmp 494sudoku_normal.220x176x16.bmp
diff --git a/apps/plugins/bitmaps/native/sudoku_inverse.160x128x1.bmp b/apps/plugins/bitmaps/native/sudoku_inverse.160x128x1.bmp
new file mode 100644
index 0000000000..394530f7b4
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_inverse.160x128x1.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_normal.160x128x1.bmp b/apps/plugins/bitmaps/native/sudoku_normal.160x128x1.bmp
new file mode 100644
index 0000000000..7f718f3286
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_normal.160x128x1.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_start.160x128x1.bmp b/apps/plugins/bitmaps/native/sudoku_start.160x128x1.bmp
new file mode 100644
index 0000000000..5344e8cc04
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_start.160x128x1.bmp
Binary files differ
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 896a3ab8ad..b4f0da4b96 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -218,8 +218,24 @@ PLUGIN_HEADER
218#define BJACK_RIGHT BUTTON_RIGHT 218#define BJACK_RIGHT BUTTON_RIGHT
219#define BJACK_LEFT BUTTON_LEFT 219#define BJACK_LEFT BUTTON_LEFT
220 220
221#elif CONFIG_KEYPAD == MROBE100_PAD
222
223#define BJACK_START BUTTON_SELECT
224#define BJACK_QUIT BUTTON_POWER
225#define BJACK_MAX BUTTON_MENU
226#define BJACK_MIN BUTTON_DISPLAY
227#define BJACK_HIT BUTTON_MENU
228#define BJACK_STAY BUTTON_DISPLAY
229#define BJACK_DOUBLEDOWN BUTTON_SELECT
230#define BJACK_SCORES BUTTON_RIGHT
231#define BJACK_RESUME BUTTON_PLAY
232#define BJACK_UP BUTTON_UP
233#define BJACK_DOWN BUTTON_DOWN
234#define BJACK_RIGHT BUTTON_RIGHT
235#define BJACK_LEFT BUTTON_LEFT
236
221#else 237#else
222 #error BLACKJACK: Unsupported keypad 238#error No keymap defined!
223#endif 239#endif
224 240
225#ifdef HAVE_LCD_COLOR 241#ifdef HAVE_LCD_COLOR
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index db9e7a49a5..f83d99306a 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -99,6 +99,15 @@ PLUGIN_HEADER
99#define BOUNCE_DOWN BUTTON_DOWN 99#define BOUNCE_DOWN BUTTON_DOWN
100#define BOUNCE_QUIT BUTTON_BACK 100#define BOUNCE_QUIT BUTTON_BACK
101#define BOUNCE_MODE BUTTON_MENU 101#define BOUNCE_MODE BUTTON_MENU
102
103#elif (CONFIG_KEYPAD == MROBE100_PAD)
104#define BOUNCE_UP BUTTON_UP
105#define BOUNCE_DOWN BUTTON_DOWN
106#define BOUNCE_QUIT BUTTON_POWER
107#define BOUNCE_MODE BUTTON_DISPLAY
108
109#else
110#error No keymap defined!
102#endif 111#endif
103 112
104static struct plugin_api* rb; 113static struct plugin_api* rb;
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 5cefe1bc6d..b37dd97800 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -144,8 +144,17 @@ PLUGIN_HEADER
144#define UP BUTTON_UP 144#define UP BUTTON_UP
145#define DOWN BUTTON_DOWN 145#define DOWN BUTTON_DOWN
146 146
147#elif (CONFIG_KEYPAD == MROBE100_PAD)
148
149#define QUIT BUTTON_POWER
150#define LEFT BUTTON_LEFT
151#define RIGHT BUTTON_RIGHT
152#define SELECT BUTTON_SELECT
153#define UP BUTTON_UP
154#define DOWN BUTTON_DOWN
155
147#else 156#else
148#error Unsupported keypad 157#error No keymap defined!
149#endif 158#endif
150 159
151#ifndef SCROLL_FWD /* targets without scroll wheel*/ 160#ifndef SCROLL_FWD /* targets without scroll wheel*/
@@ -836,7 +845,7 @@ int game_menu(int when)
836 int button,cur=0; 845 int button,cur=0;
837 char str[10]; 846 char str[10];
838 rb->lcd_clear_display(); 847 rb->lcd_clear_display();
839#if (LCD_WIDTH != 112) && (LCD_HEIGHT != 64) 848#if LCD_DEPTH > 1 /* currently no background bmp for mono screens */
840 rb->lcd_bitmap(brickmania_menu_bg, 0, 0, MENU_BGWIDTH, MENU_BGHEIGHT); 849 rb->lcd_bitmap(brickmania_menu_bg, 0, 0, MENU_BGWIDTH, MENU_BGHEIGHT);
841#endif 850#endif
842 while (true) { 851 while (true) {
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index b16094203c..1819e983f7 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -206,6 +206,18 @@ PLUGIN_HEADER
206#define CALCULATOR_CALC BUTTON_SELECT 206#define CALCULATOR_CALC BUTTON_SELECT
207#define CALCULATOR_CLEAR BUTTON_PLAY 207#define CALCULATOR_CLEAR BUTTON_PLAY
208 208
209#elif (CONFIG_KEYPAD == MROBE100_PAD)
210
211#define CALCULATOR_UP BUTTON_UP
212#define CALCULATOR_DOWN BUTTON_DOWN
213#define CALCULATOR_QUIT BUTTON_POWER
214#define CALCULATOR_INPUT_CALC_PRE BUTTON_MENU
215#define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL)
216#define CALCULATOR_CALC BUTTON_SELECT
217#define CALCULATOR_CLEAR BUTTON_DISPLAY
218
219#else
220#error No keymap defined!
209#endif 221#endif
210 222
211static struct plugin_api* rb; 223static struct plugin_api* rb;
diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c
index f38f761109..47c46bf3c9 100644
--- a/apps/plugins/chessbox/chessbox.c
+++ b/apps/plugins/chessbox/chessbox.c
@@ -226,8 +226,23 @@ PLUGIN_HEADER
226#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT) 226#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
227#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT) 227#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
228 228
229#elif (CONFIG_KEYPAD == MROBE100_PAD)
230#define CB_SELECT BUTTON_SELECT
231#define CB_UP BUTTON_UP
232#define CB_DOWN BUTTON_DOWN
233#define CB_LEFT BUTTON_LEFT
234#define CB_RIGHT BUTTON_RIGHT
235#define CB_PLAY BUTTON_POWER
236#define CB_LEVEL BUTTON_MENU
237#define CB_MENU BUTTON_DISPLAY
238
239#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
240#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
241#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
242#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
243
229#else 244#else
230 #error CHESSBOX: Unsupported keypad 245#error No keymap defined!
231#endif 246#endif
232 247
233/* Tile size defined by the assigned bitmap */ 248/* Tile size defined by the assigned bitmap */
diff --git a/apps/plugins/chessbox/chessbox_pgn.c b/apps/plugins/chessbox/chessbox_pgn.c
index 14d93b059f..7ad43ad4b1 100644
--- a/apps/plugins/chessbox/chessbox_pgn.c
+++ b/apps/plugins/chessbox/chessbox_pgn.c
@@ -214,8 +214,23 @@
214#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT) 214#define CB_SCROLL_LEFT (BUTTON_RC_REW|BUTTON_REPEAT)
215#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT) 215#define CB_SCROLL_RIGHT (BUTTON_RC_FF|BUTTON_REPEAT)
216 216
217#elif (CONFIG_KEYPAD == MROBE100_PAD)
218#define CB_SELECT BUTTON_SELECT
219#define CB_UP BUTTON_UP
220#define CB_DOWN BUTTON_DOWN
221#define CB_LEFT BUTTON_LEFT
222#define CB_RIGHT BUTTON_RIGHT
223#define CB_PLAY BUTTON_POWER
224#define CB_LEVEL BUTTON_MENU
225#define CB_MENU BUTTON_DISPLAY
226
227#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
228#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
229#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
230#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
231
217#else 232#else
218 #error CHESSBOX: Unsupported keypad 233#error No keymap defined!
219#endif 234#endif
220 235
221#define PGN_FILE PLUGIN_GAMES_DIR "/chessbox.pgn" 236#define PGN_FILE PLUGIN_GAMES_DIR "/chessbox.pgn"
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 3b8917496b..6523021b6d 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -160,6 +160,18 @@ PLUGIN_HEADER
160#define CHC_SETTINGS_OK BUTTON_SELECT 160#define CHC_SETTINGS_OK BUTTON_SELECT
161#define CHC_SETTINGS_CANCEL BUTTON_BACK 161#define CHC_SETTINGS_CANCEL BUTTON_BACK
162 162
163#elif CONFIG_KEYPAD == MROBE100_PAD
164#define CHC_QUIT BUTTON_POWER
165#define CHC_STARTSTOP BUTTON_SELECT
166#define CHC_RESET BUTTON_DISPLAY
167#define CHC_MENU BUTTON_MENU
168#define CHC_SETTINGS_INC BUTTON_UP
169#define CHC_SETTINGS_DEC BUTTON_DOWN
170#define CHC_SETTINGS_OK BUTTON_SELECT
171#define CHC_SETTINGS_CANCEL BUTTON_POWER
172
173#else
174#error No keymap defined!
163#endif 175#endif
164 176
165 177
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 752aa7b4c8..ab685e5288 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1056,6 +1056,19 @@ STATIC void chip8 (void)
1056#define CHIP8_KEY8 BUTTON_DOWN 1056#define CHIP8_KEY8 BUTTON_DOWN
1057#define CHIP8_KEY9 BUTTON_PLAY 1057#define CHIP8_KEY9 BUTTON_PLAY
1058 1058
1059#elif (CONFIG_KEYPAD == MROBE100_PAD)
1060#define CHIP8_OFF BUTTON_POWER
1061#define CHIP8_KEY1 BUTTON_MENU
1062#define CHIP8_KEY2 BUTTON_UP
1063#define CHIP8_KEY3 BUTTON_PLAY
1064#define CHIP8_KEY4 BUTTON_LEFT
1065#define CHIP8_KEY5 BUTTON_SELECT
1066#define CHIP8_KEY6 BUTTON_RIGHT
1067#define CHIP8_KEY7 BUTTON_DISPLAY
1068#define CHIP8_KEY8 BUTTON_DOWN
1069
1070#else
1071#error No keymap defined!
1059#endif 1072#endif
1060 1073
1061static byte chip8_virtual_keys[16]; 1074static byte chip8_virtual_keys[16];
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index d9e02142b0..92b01cd859 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -92,8 +92,13 @@ Still To do:
92#define ACTION2 BUTTON_MENU 92#define ACTION2 BUTTON_MENU
93#define ACTIONTEXT "SELECT" 93#define ACTIONTEXT "SELECT"
94 94
95#elif CONFIG_KEYPAD == MROBE100_PAD
96#define QUIT BUTTON_POWER
97#define ACTION BUTTON_SELECT
98#define ACTIONTEXT "SELECT"
99
95#else 100#else
96#error Unsupported keypad 101#error No keymap defined!
97#endif 102#endif
98 103
99static struct plugin_api* rb; 104static struct plugin_api* rb;
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 164c139110..966111001a 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -217,6 +217,20 @@ PLUGIN_HEADER
217#define CUBE_PAUSE (BUTTON_PLAY | BUTTON_REL) 217#define CUBE_PAUSE (BUTTON_PLAY | BUTTON_REL)
218#define CUBE_HIGHSPEED (BUTTON_NEXT | BUTTON_REL) 218#define CUBE_HIGHSPEED (BUTTON_NEXT | BUTTON_REL)
219 219
220#elif (CONFIG_KEYPAD == MROBE100_PAD)
221#define CUBE_QUIT BUTTON_POWER
222#define CUBE_X_INC BUTTON_LEFT
223#define CUBE_X_DEC BUTTON_RIGHT
224#define CUBE_Y_INC BUTTON_UP
225#define CUBE_Y_DEC BUTTON_DOWN
226#define CUBE_Z_INC (BUTTON_DISPLAY | BUTTON_UP)
227#define CUBE_Z_DEC (BUTTON_DISPLAY | BUTTON_DOWN)
228#define CUBE_MODE BUTTON_MENU
229#define CUBE_PAUSE BUTTON_PLAY
230#define CUBE_HIGHSPEED BUTTON_SELECT
231
232#else
233#error No keymap defined!
220#endif 234#endif
221 235
222#ifdef HAVE_LCD_BITMAP 236#ifdef HAVE_LCD_BITMAP
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 73037e7527..e354097a2a 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -121,6 +121,8 @@ long reverse (long N) {
121#define LP_QUIT BUTTON_POWER 121#define LP_QUIT BUTTON_POWER
122#elif CONFIG_KEYPAD == MROBE500_PAD 122#elif CONFIG_KEYPAD == MROBE500_PAD
123#define LP_QUIT BUTTON_POWER 123#define LP_QUIT BUTTON_POWER
124#elif CONFIG_KEYPAD == MROBE100_PAD
125#define LP_QUIT BUTTON_POWER
124#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 126#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
125#define LP_QUIT BUTTON_BACK 127#define LP_QUIT BUTTON_BACK
126#else 128#else
diff --git a/apps/plugins/disktidy.c b/apps/plugins/disktidy.c
index e682f33b84..be3407e13e 100644
--- a/apps/plugins/disktidy.c
+++ b/apps/plugins/disktidy.c
@@ -76,8 +76,11 @@ enum tidy_system
76#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 76#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
77#define TIDY_STOP BUTTON_BACK 77#define TIDY_STOP BUTTON_BACK
78 78
79#elif CONFIG_KEYPAD == MROBE100_PAD
80#define TIDY_STOP BUTTON_POWER
81
79#else 82#else
80 #error DISKTIDY: Unsupported keypad 83#error No keymap defined!
81#endif 84#endif
82 85
83 86
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index 50be236f14..e0d491aaf3 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -55,7 +55,8 @@ static struct plugin_api* rb;
55#define BTN_MENU BUTTON_MODE 55#define BTN_MENU BUTTON_MODE
56#define BTN_FIRE BUTTON_SELECT 56#define BTN_FIRE BUTTON_SELECT
57#elif (CONFIG_KEYPAD == GIGABEAT_PAD) || \ 57#elif (CONFIG_KEYPAD == GIGABEAT_PAD) || \
58(CONFIG_KEYPAD == GIGABEAT_S_PAD) 58(CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
59(CONFIG_KEYPAD == MROBE100_PAD)
59#define BTN_MENU BUTTON_MENU 60#define BTN_MENU BUTTON_MENU
60#define BTN_FIRE BUTTON_SELECT 61#define BTN_FIRE BUTTON_SELECT
61#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 62#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 382e6619c3..4292ef8e4f 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -139,6 +139,18 @@ PLUGIN_HEADER
139#define FLIPIT_STEP_BY_STEP BUTTON_VOL_DOWN 139#define FLIPIT_STEP_BY_STEP BUTTON_VOL_DOWN
140#define FLIPIT_TOGGLE BUTTON_SELECT 140#define FLIPIT_TOGGLE BUTTON_SELECT
141 141
142#elif CONFIG_KEYPAD == MROBE100_PAD
143
144#define FLIPIT_UP BUTTON_UP
145#define FLIPIT_DOWN BUTTON_DOWN
146#define FLIPIT_QUIT BUTTON_POWER
147#define FLIPIT_SHUFFLE BUTTON_MENU
148#define FLIPIT_SOLVE BUTTON_PLAY
149#define FLIPIT_STEP_BY_STEP BUTTON_DISPLAY
150#define FLIPIT_TOGGLE BUTTON_SELECT
151
152#else
153#error No keymap defined!
142#endif 154#endif
143 155
144static struct plugin_api* rb; 156static struct plugin_api* rb;
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index 2fab94a04c..8f5c0bf5a3 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -5,7 +5,7 @@
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/ 7 * \/ \/ \/ \/ \/
8 * $Id: $ 8 * $Id$
9 * 9 *
10 * Copyright (C) 2006 Albert Veli 10 * Copyright (C) 2006 Albert Veli
11 * 11 *
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 5285cf912a..76019f56f4 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -120,8 +120,16 @@ PLUGIN_HEADER
120#define JEWELS_SELECT BUTTON_SELECT 120#define JEWELS_SELECT BUTTON_SELECT
121#define JEWELS_CANCEL BUTTON_BACK 121#define JEWELS_CANCEL BUTTON_BACK
122 122
123#elif CONFIG_KEYPAD == MROBE100_PAD
124#define JEWELS_UP BUTTON_UP
125#define JEWELS_DOWN BUTTON_DOWN
126#define JEWELS_LEFT BUTTON_LEFT
127#define JEWELS_RIGHT BUTTON_RIGHT
128#define JEWELS_SELECT BUTTON_SELECT
129#define JEWELS_CANCEL BUTTON_POWER
130
123#else 131#else
124 #error JEWELS: Unsupported keypad 132#error No keymap defined!
125#endif 133#endif
126 134
127/* use 30x30 tiles (iPod Video, Gigabeat) */ 135/* use 30x30 tiles (iPod Video, Gigabeat) */
@@ -1486,7 +1494,8 @@ static int jewels_main(struct game_context* bj) {
1486 rb->lcd_puts(0, 9, "SELECT to select"); 1494 rb->lcd_puts(0, 9, "SELECT to select");
1487 rb->lcd_puts(0, 10, "Long SELECT to show menu"); 1495 rb->lcd_puts(0, 10, "Long SELECT to show menu");
1488 rb->lcd_puts(0, 11, "PLAY to cancel"); 1496 rb->lcd_puts(0, 11, "PLAY to cancel");
1489#elif CONFIG_KEYPAD == GIGABEAT_PAD 1497#elif CONFIG_KEYPAD == GIGABEAT_PAD \
1498 || CONFIG_KEYPAD == MROBE100_PAD
1490 rb->lcd_puts(0, 2, "Swap pairs of jewels to"); 1499 rb->lcd_puts(0, 2, "Swap pairs of jewels to");
1491 rb->lcd_puts(0, 3, "form connected segments"); 1500 rb->lcd_puts(0, 3, "form connected segments");
1492 rb->lcd_puts(0, 4, "of three or more of the"); 1501 rb->lcd_puts(0, 4, "of three or more of the");
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index 27c7c215c8..156944d720 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -187,6 +187,19 @@ PLUGIN_HEADER
187#define JPEG_NEXT BUTTON_NEXT 187#define JPEG_NEXT BUTTON_NEXT
188#define JPEG_PREVIOUS BUTTON_PREV 188#define JPEG_PREVIOUS BUTTON_PREV
189 189
190#elif CONFIG_KEYPAD == MROBE100_PAD
191#define JPEG_ZOOM_IN BUTTON_SELECT
192#define JPEG_ZOOM_OUT BUTTON_PLAY
193#define JPEG_UP BUTTON_UP
194#define JPEG_DOWN BUTTON_DOWN
195#define JPEG_LEFT BUTTON_LEFT
196#define JPEG_RIGHT BUTTON_RIGHT
197#define JPEG_MENU BUTTON_MENU
198#define JPEG_NEXT (BUTTON_DISPLAY | BUTTON_RIGHT)
199#define JPEG_PREVIOUS (BUTTON_DISPLAY | BUTTON_LEFT)
200
201#else
202#error No keymap defined!
190#endif 203#endif
191 204
192/* different graphics libraries */ 205/* different graphics libraries */
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index 34e14da698..7ac004c053 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -118,6 +118,13 @@ const unsigned char rockbox16x7[] = {
118#define LP_DEC_Y BUTTON_DOWN 118#define LP_DEC_Y BUTTON_DOWN
119#define LP_INC_Y BUTTON_UP 119#define LP_INC_Y BUTTON_UP
120 120
121#elif CONFIG_KEYPAD == MROBE100_PAD
122#define LP_QUIT BUTTON_POWER
123#define LP_DEC_X BUTTON_LEFT
124#define LP_INC_X BUTTON_RIGHT
125#define LP_DEC_Y BUTTON_DOWN
126#define LP_INC_Y BUTTON_UP
127
121#else 128#else
122#define LP_QUIT BUTTON_OFF 129#define LP_QUIT BUTTON_OFF
123#define LP_DEC_X BUTTON_LEFT 130#define LP_DEC_X BUTTON_LEFT
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index b3ead229c3..5f3caa7bee 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -188,6 +188,22 @@ PLUGIN_HEADER
188#define MANDELBROT_MAXITER_DEC BUTTON_NEXT 188#define MANDELBROT_MAXITER_DEC BUTTON_NEXT
189#define MANDELBROT_RESET BUTTON_MENU 189#define MANDELBROT_RESET BUTTON_MENU
190 190
191#elif CONFIG_KEYPAD == MROBE100_PAD
192#define MANDELBROT_QUIT BUTTON_POWER
193#define MANDELBROT_UP BUTTON_UP
194#define MANDELBROT_DOWN BUTTON_DOWN
195#define MANDELBROT_LEFT BUTTON_LEFT
196#define MANDELBROT_RIGHT BUTTON_RIGHT
197#define MANDELBROT_ZOOM_IN_PRE BUTTON_SELECT
198#define MANDELBROT_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
199#define MANDELBROT_ZOOM_OUT_PRE BUTTON_SELECT
200#define MANDELBROT_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
201#define MANDELBROT_MAXITER_INC BUTTON_MENU
202#define MANDELBROT_MAXITER_DEC BUTTON_PLAY
203#define MANDELBROT_RESET BUTTON_DISPLAY
204
205#else
206#error No keymap defined!
191#endif 207#endif
192 208
193#if LCD_DEPTH < 8 209#if LCD_DEPTH < 8
diff --git a/apps/plugins/mazezam.c b/apps/plugins/mazezam.c
index 1105e4eebb..858d554a6d 100644
--- a/apps/plugins/mazezam.c
+++ b/apps/plugins/mazezam.c
@@ -153,6 +153,20 @@ MEM_FUNCTION_WRAPPERS(rb);
153#define MAZEZAM_QUIT BUTTON_BACK 153#define MAZEZAM_QUIT BUTTON_BACK
154#define MAZEZAM_QUIT_KEYNAME "[BACK]" 154#define MAZEZAM_QUIT_KEYNAME "[BACK]"
155 155
156#elif (CONFIG_KEYPAD == MROBE100_PAD)
157#define MAZEZAM_UP BUTTON_UP
158#define MAZEZAM_DOWN BUTTON_DOWN
159#define MAZEZAM_LEFT BUTTON_LEFT
160#define MAZEZAM_RIGHT BUTTON_RIGHT
161#define MAZEZAM_SELECT BUTTON_SELECT
162
163#define MAZEZAM_RETRY BUTTON_DISPLAY
164#define MAZEZAM_RETRY_KEYNAME "[DISPLAY]"
165#define MAZEZAM_QUIT BUTTON_POWER
166#define MAZEZAM_QUIT_KEYNAME "[POWER]"
167
168#else
169#error No keymap defined!
156#endif 170#endif
157 171
158/* The gap for the border around the heading in text pages. In fact, 2 is 172/* The gap for the border around the heading in text pages. In fact, 2 is
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index e165460708..940fce3a19 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -117,6 +117,17 @@ PLUGIN_IRAM_DECLARE
117#define BTN_PLAY BUTTON_RC_HEART 117#define BTN_PLAY BUTTON_RC_HEART
118 118
119 119
120#elif (CONFIG_KEYPAD == MROBE100_PAD)
121#define BTN_QUIT BUTTON_POWER
122#define BTN_RIGHT BUTTON_RIGHT
123#define BTN_LEFT BUTTON_LEFT
124#define BTN_UP BUTTON_UP
125#define BTN_DOWN BUTTON_DOWN
126#define BTN_PLAY BUTTON_DISPLAY
127
128
129#else
130#error No keymap defined!
120#endif 131#endif
121 132
122#undef SYNC 133#undef SYNC
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index f448b96fe2..8b9fe85da9 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -141,8 +141,16 @@ enum minesweeper_status {
141# define MINESWP_DISCOVER BUTTON_SELECT 141# define MINESWP_DISCOVER BUTTON_SELECT
142# define MINESWP_INFO BUTTON_MENU 142# define MINESWP_INFO BUTTON_MENU
143 143
144#elif (CONFIG_KEYPAD == MROBE100_PAD)
145# define MINESWP_UP BUTTON_UP
146# define MINESWP_DOWN BUTTON_DOWN
147# define MINESWP_QUIT BUTTON_POWER
148# define MINESWP_TOGGLE BUTTON_DISPLAY
149# define MINESWP_DISCOVER BUTTON_SELECT
150# define MINESWP_INFO BUTTON_MENU
151
144#else 152#else
145# warning Missing key definitions for this keypad 153#error No keymap defined!
146#endif 154#endif
147 155
148/* here is a global api struct pointer. while not strictly necessary, 156/* here is a global api struct pointer. while not strictly necessary,
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 21adc7a07d..42037f80f5 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -112,6 +112,13 @@ PLUGIN_HEADER
112#define MOSAIQUE_SPEED BUTTON_SELECT 112#define MOSAIQUE_SPEED BUTTON_SELECT
113#define MOSAIQUE_RESTART BUTTON_MENU 113#define MOSAIQUE_RESTART BUTTON_MENU
114 114
115#elif CONFIG_KEYPAD == MROBE100_PAD
116#define MOSAIQUE_QUIT BUTTON_POWER
117#define MOSAIQUE_SPEED BUTTON_DISPLAY
118#define MOSAIQUE_RESTART BUTTON_SELECT
119
120#else
121#error No keymap defined!
115#endif 122#endif
116 123
117enum plugin_status plugin_start(struct plugin_api* api, void* parameter) 124enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index bd6c667873..458f124854 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2322,6 +2322,13 @@ void get_mp3_filename(char *wav_name)
2322#define MP3ENC_NEXT BUTTON_DOWN 2322#define MP3ENC_NEXT BUTTON_DOWN
2323#define MP3ENC_DONE BUTTON_BACK 2323#define MP3ENC_DONE BUTTON_BACK
2324#define MP3ENC_SELECT BUTTON_SELECT 2324#define MP3ENC_SELECT BUTTON_SELECT
2325#elif CONFIG_KEYPAD == MROBE100_PAD
2326#define MP3ENC_PREV BUTTON_UP
2327#define MP3ENC_NEXT BUTTON_DOWN
2328#define MP3ENC_DONE BUTTON_POWER
2329#define MP3ENC_SELECT BUTTON_SELECT
2330#else
2331#error No keymap defined!
2325#endif 2332#endif
2326 2333
2327enum plugin_status plugin_start(struct plugin_api* api, void* parameter) 2334enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index fc99460d74..8e4f16a484 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -92,8 +92,18 @@ struct mpeg_settings settings;
92#define MPEG_START_TIME_DOWN BUTTON_RC_DOWN 92#define MPEG_START_TIME_DOWN BUTTON_RC_DOWN
93#define MPEG_START_TIME_EXIT BUTTON_POWER 93#define MPEG_START_TIME_EXIT BUTTON_POWER
94 94
95#elif CONFIG_KEYPAD == MROBE100_PAD
96#define MPEG_START_TIME_SELECT BUTTON_SELECT
97#define MPEG_START_TIME_LEFT BUTTON_LEFT
98#define MPEG_START_TIME_RIGHT BUTTON_RIGHT
99#define MPEG_START_TIME_UP BUTTON_UP
100#define MPEG_START_TIME_DOWN BUTTON_DOWN
101#define MPEG_START_TIME_SCROLL_DOWN BUTTON_MENU
102#define MPEG_START_TIME_SCROLL_UP BUTTON_PLAY
103#define MPEG_START_TIME_EXIT BUTTON_POWER
104
95#else 105#else
96#error MPEGPLAYER: Unsupported keypad 106#error No keymap defined!
97#endif 107#endif
98 108
99static struct configdata config[] = 109static struct configdata config[] =
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 80b43660a5..5a1f22392c 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -193,8 +193,17 @@ PLUGIN_IRAM_DECLARE
193#define MPEG_RW BUTTON_RC_REW 193#define MPEG_RW BUTTON_RC_REW
194#define MPEG_FF BUTTON_RC_FF 194#define MPEG_FF BUTTON_RC_FF
195 195
196#elif CONFIG_KEYPAD == MROBE100_PAD
197#define MPEG_MENU BUTTON_MENU
198#define MPEG_STOP BUTTON_POWER
199#define MPEG_PAUSE BUTTON_PLAY
200#define MPEG_VOLDOWN BUTTON_DOWN
201#define MPEG_VOLUP BUTTON_UP
202#define MPEG_RW BUTTON_LEFT
203#define MPEG_FF BUTTON_RIGHT
204
196#else 205#else
197#error MPEGPLAYER: Unsupported keypad 206#error No keymap defined!
198#endif 207#endif
199 208
200struct plugin_api* rb; 209struct plugin_api* rb;
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index dbb01355bc..13a8c4e1a6 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -157,7 +157,19 @@ PLUGIN_HEADER
157#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP 157#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
158#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN 158#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
159 159
160#elif (CONFIG_KEYPAD == MROBE100_PAD)
161#define OSCILLOSCOPE_QUIT BUTTON_POWER
162#define OSCILLOSCOPE_DRAWMODE BUTTON_SELECT
163#define OSCILLOSCOPE_ADVMODE BUTTON_MENU
164#define OSCILLOSCOPE_ORIENTATION BUTTON_PLAY
165#define OSCILLOSCOPE_PAUSE BUTTON_DISPLAY
166#define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT
167#define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT
168#define OSCILLOSCOPE_VOL_UP BUTTON_UP
169#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
160 170
171#else
172#error No keymap defined!
161#endif 173#endif
162 174
163/* colours */ 175/* colours */
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index a67845f2da..ca6f0d43a4 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -82,6 +82,10 @@ static int plasma_frequency;
82#define PLASMA_QUIT BUTTON_BACK 82#define PLASMA_QUIT BUTTON_BACK
83#define PLASMA_INCREASE_FREQUENCY BUTTON_UP 83#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
84#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN 84#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
85#elif (CONFIG_KEYPAD == MROBE100_PAD)
86#define PLASMA_QUIT BUTTON_POWER
87#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
88#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
85#else 89#else
86#define PLASMA_QUIT BUTTON_OFF 90#define PLASMA_QUIT BUTTON_OFF
87#define PLASMA_INCREASE_FREQUENCY BUTTON_UP 91#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 7052c0be3e..303d6b1b75 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -130,6 +130,16 @@ PLUGIN_HEADER
130#define PONG_RIGHT_UP BUTTON_VOL_UP 130#define PONG_RIGHT_UP BUTTON_VOL_UP
131#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN 131#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN
132 132
133#elif (CONFIG_KEYPAD == MROBE100_PAD)
134#define PONG_QUIT BUTTON_POWER
135#define PONG_PAUSE BUTTON_SELECT
136#define PONG_LEFT_UP BUTTON_MENU
137#define PONG_LEFT_DOWN BUTTON_LEFT
138#define PONG_RIGHT_UP BUTTON_PLAY
139#define PONG_RIGHT_DOWN BUTTON_RIGHT
140
141#else
142#error No keymap defined!
133#endif 143#endif
134 144
135static struct plugin_api* rb; 145static struct plugin_api* rb;
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 0d34cab551..47ed3f52a8 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -114,8 +114,17 @@
114#define REVERSI_BUTTON_MAKE_MOVE BUTTON_RC_MODE 114#define REVERSI_BUTTON_MAKE_MOVE BUTTON_RC_MODE
115#define REVERSI_BUTTON_MENU (BUTTON_POWER | BUTTON_REL) 115#define REVERSI_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
116 116
117#elif (CONFIG_KEYPAD == MROBE100_PAD)
118#define REVERSI_BUTTON_QUIT BUTTON_DISPLAY
119#define REVERSI_BUTTON_UP BUTTON_UP
120#define REVERSI_BUTTON_DOWN BUTTON_DOWN
121#define REVERSI_BUTTON_LEFT BUTTON_LEFT
122#define REVERSI_BUTTON_RIGHT BUTTON_RIGHT
123#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
124#define REVERSI_BUTTON_MENU BUTTON_MENU
125
117#else 126#else
118 #error REVERSI: Unsupported keypad 127#error No keymap defined!
119#endif 128#endif
120 129
121 130
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index b3444d39da..d4d9048797 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -188,6 +188,20 @@ PLUGIN_HEADER
188#define ROCKBLOX_DROP BUTTON_SELECT 188#define ROCKBLOX_DROP BUTTON_SELECT
189#define ROCKBLOX_RESTART BUTTON_PLAY 189#define ROCKBLOX_RESTART BUTTON_PLAY
190 190
191#elif CONFIG_KEYPAD == MROBE100_PAD
192
193#define ROCKBLOX_OFF BUTTON_POWER
194#define ROCKBLOX_ROTATE_RIGHT BUTTON_MENU
195#define ROCKBLOX_ROTATE_LEFT BUTTON_PLAY
196#define ROCKBLOX_ROTATE BUTTON_UP
197#define ROCKBLOX_DOWN BUTTON_DOWN
198#define ROCKBLOX_LEFT BUTTON_LEFT
199#define ROCKBLOX_RIGHT BUTTON_RIGHT
200#define ROCKBLOX_DROP BUTTON_SELECT
201#define ROCKBLOX_RESTART BUTTON_DISPLAY
202
203#else
204#error No keymap defined!
191#endif 205#endif
192 206
193#define BLOCKS_NUM 7 207#define BLOCKS_NUM 7
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index f8fb0ed6bf..6da6b8bef1 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -100,6 +100,15 @@ PLUGIN_HEADER
100#define PUZZLE_SHUFFLE BUTTON_SELECT 100#define PUZZLE_SHUFFLE BUTTON_SELECT
101#define PUZZLE_PICTURE BUTTON_MENU 101#define PUZZLE_PICTURE BUTTON_MENU
102 102
103#elif (CONFIG_KEYPAD == MROBE100_PAD)
104#define PUZZLE_QUIT BUTTON_POWER
105#define PUZZLE_UP BUTTON_UP
106#define PUZZLE_DOWN BUTTON_DOWN
107#define PUZZLE_SHUFFLE BUTTON_SELECT
108#define PUZZLE_PICTURE BUTTON_DISPLAY
109
110#else
111#error No keymap defined!
103#endif 112#endif
104 113
105 114
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 7d64c16bb3..c68b924da6 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -102,8 +102,14 @@ PLUGIN_HEADER
102#define SNAKE_DOWN BUTTON_DOWN 102#define SNAKE_DOWN BUTTON_DOWN
103#define SNAKE_PLAYPAUSE BUTTON_SELECT 103#define SNAKE_PLAYPAUSE BUTTON_SELECT
104 104
105#elif (CONFIG_KEYPAD == MROBE100_PAD)
106#define SNAKE_QUIT BUTTON_POWER
107#define SNAKE_UP BUTTON_UP
108#define SNAKE_DOWN BUTTON_DOWN
109#define SNAKE_PLAYPAUSE BUTTON_SELECT
110
105#else 111#else
106#error "lacks keymapping" 112#error No keymap defined!
107#endif 113#endif
108 114
109#define BOARD_WIDTH (LCD_WIDTH/4) 115#define BOARD_WIDTH (LCD_WIDTH/4)
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index d2eb89f2b4..bae520b9ac 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -269,8 +269,20 @@ PLUGIN_HEADER
269#define SNAKE2_PLAYPAUSE BUTTON_SELECT 269#define SNAKE2_PLAYPAUSE BUTTON_SELECT
270#define SNAKE2_PLAYPAUSE_TEXT "Select" 270#define SNAKE2_PLAYPAUSE_TEXT "Select"
271 271
272#elif (CONFIG_KEYPAD == MROBE100_PAD)
273#define SNAKE2_UP BUTTON_UP
274#define SNAKE2_DOWN BUTTON_DOWN
275#define SNAKE2_QUIT BUTTON_POWER
276#define SNAKE2_LEVEL_UP BUTTON_UP
277#define SNAKE2_LEVEL_DOWN BUTTON_DOWN
278#define SNAKE2_MAZE_NEXT BUTTON_RIGHT
279#define SNAKE2_MAZE_LAST BUTTON_LEFT
280#define SNAKE2_SELECT_TYPE BUTTON_MENU
281#define SNAKE2_PLAYPAUSE BUTTON_SELECT
282#define SNAKE2_PLAYPAUSE_TEXT "Select"
283
272#else 284#else
273#error "lacks keymapping" 285#error No keymap defined!
274#endif 286#endif
275 287
276static int max_levels = 0; 288static int max_levels = 0;
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index f2e76b19f2..56ebb2eae4 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -53,6 +53,8 @@ PLUGIN_HEADER
53#define SNOW_QUIT BUTTON_POWER 53#define SNOW_QUIT BUTTON_POWER
54#elif CONFIG_KEYPAD == MROBE500_PAD 54#elif CONFIG_KEYPAD == MROBE500_PAD
55#define SNOW_QUIT BUTTON_POWER 55#define SNOW_QUIT BUTTON_POWER
56#elif CONFIG_KEYPAD == MROBE100_PAD
57#define SNOW_QUIT BUTTON_POWER
56#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 58#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
57#define SNOW_QUIT BUTTON_BACK 59#define SNOW_QUIT BUTTON_BACK
58#else 60#else
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index aaf314a154..66492fd3d5 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -230,6 +230,21 @@ extern const fb_data sokoban_tiles[];
230#define BUTTON_SAVE BUTTON_SELECT 230#define BUTTON_SAVE BUTTON_SELECT
231#define BUTTON_SAVE_NAME "SELECT" 231#define BUTTON_SAVE_NAME "SELECT"
232 232
233#elif CONFIG_KEYPAD == MROBE100_PAD
234#define SOKOBAN_UP BUTTON_UP
235#define SOKOBAN_DOWN BUTTON_DOWN
236#define SOKOBAN_MENU BUTTON_POWER
237#define SOKOBAN_UNDO BUTTON_SELECT
238#define SOKOBAN_REDO BUTTON_MENU
239#define SOKOBAN_LEVEL_DOWN (BUTTON_DISPLAY | BUTTON_DOWN)
240#define SOKOBAN_LEVEL_REPEAT (BUTTON_DISPLAY | BUTTON_RIGHT)
241#define SOKOBAN_LEVEL_UP (BUTTON_DISPLAY | BUTTON_UP)
242#define SOKOBAN_PAUSE BUTTON_SELECT
243#define BUTTON_SAVE BUTTON_SELECT
244#define BUTTON_SAVE_NAME "SELECT"
245
246#else
247#error No keymap defined!
233#endif 248#endif
234 249
235#define SOKOBAN_FONT FONT_SYSFIXED 250#define SOKOBAN_FONT FONT_SYSFIXED
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index b8cdde05eb..95d76f67de 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -257,8 +257,26 @@ static struct plugin_api* rb;
257# define HK_CUR2STACK "SELECT.." 257# define HK_CUR2STACK "SELECT.."
258# define HK_REM2STACK "SELECT+RIGHT" 258# define HK_REM2STACK "SELECT+RIGHT"
259 259
260#elif (CONFIG_KEYPAD == MROBE100_PAD)
261# define SOL_QUIT BUTTON_POWER
262# define SOL_UP BUTTON_UP
263# define SOL_DOWN BUTTON_DOWN
264# define SOL_LEFT BUTTON_LEFT
265# define SOL_RIGHT BUTTON_RIGHT
266# define SOL_MOVE_PRE BUTTON_SELECT
267# define SOL_MOVE (BUTTON_SELECT | BUTTON_REL)
268# define SOL_DRAW BUTTON_MENU
269# define SOL_REM2CUR (BUTTON_LEFT | BUTTON_DISPLAY)
270# define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_REPEAT)
271# define SOL_REM2STACK (BUTTON_RIGHT | BUTTON_DISPLAY)
272# define HK_MOVE "SELECT"
273# define HK_DRAW "MENU"
274# define HK_REM2CUR "DISPLAY+LEFT"
275# define HK_CUR2STACK "SELECT.."
276# define HK_REM2STACK "DISPLAY+RIGHT"
277
260#else 278#else
261# error "Unknown keypad" 279#error No keymap defined!
262#endif 280#endif
263 281
264#define HK_LR "LEFT/RIGHT" 282#define HK_LR "LEFT/RIGHT"
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 742a9700b2..5d5a1bac6b 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -174,6 +174,21 @@ static struct plugin_api* rb; /* global api struct pointer */
174#define AST_FIRE BUTTON_SELECT 174#define AST_FIRE BUTTON_SELECT
175#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT 175#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT
176 176
177#elif (CONFIG_KEYPAD == MROBE100_PAD)
178#define AST_PAUSE BUTTON_DISPLAY
179#define AST_QUIT BUTTON_POWER
180#define AST_THRUST_REP BUTTON_UP | BUTTON_REPEAT
181#define AST_THRUST BUTTON_UP
182#define AST_HYPERSPACE BUTTON_DOWN
183#define AST_LEFT BUTTON_LEFT
184#define AST_LEFT_REP BUTTON_LEFT | BUTTON_REPEAT
185#define AST_RIGHT BUTTON_RIGHT
186#define AST_RIGHT_REP (BUTTON_RIGHT | BUTTON_REPEAT)
187#define AST_FIRE BUTTON_SELECT
188#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT
189
190#else
191#error No keymap defined!
177#endif 192#endif
178 193
179#define ABS(x) ((x)>0?(x):-(x)) 194#define ABS(x) ((x)>0?(x):-(x))
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 25dc058666..56fe89c4d3 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -179,6 +179,19 @@ PLUGIN_HEADER
179#define STAR_LEVEL_REPEAT BUTTON_MENU 179#define STAR_LEVEL_REPEAT BUTTON_MENU
180#define STAR_MENU_RUN BUTTON_SELECT 180#define STAR_MENU_RUN BUTTON_SELECT
181 181
182#elif (CONFIG_KEYPAD == MROBE100_PAD)
183
184#define STAR_QUIT BUTTON_POWER
185#define STAR_UP BUTTON_UP
186#define STAR_DOWN BUTTON_DOWN
187#define STAR_TOGGLE_CONTROL BUTTON_SELECT
188#define STAR_LEVEL_UP BUTTON_PLAY
189#define STAR_LEVEL_DOWN BUTTON_MENU
190#define STAR_LEVEL_REPEAT BUTTON_DISPLAY
191#define STAR_MENU_RUN BUTTON_SELECT
192
193#else
194#error No keymap defined!
182#endif 195#endif
183 196
184/* function returns because of USB? */ 197/* function returns because of USB? */
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 2c39b05b0d..de994ab13e 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -72,6 +72,13 @@ static struct plugin_api* rb; /* global api struct pointer */
72#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT 72#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
73#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT 73#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
74#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT 74#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
75#elif (CONFIG_KEYPAD == MROBE100_PAD)
76#define STARFIELD_QUIT BUTTON_POWER
77#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
78#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
79#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
80#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
81#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
75 82
76#else 83#else
77#define STARFIELD_QUIT BUTTON_OFF 84#define STARFIELD_QUIT BUTTON_OFF
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index 993943f977..12125a33e8 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -65,6 +65,12 @@ static bool abort;
65 65
66#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 66#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
67#define STATS_STOP BUTTON_BACK 67#define STATS_STOP BUTTON_BACK
68
69#elif CONFIG_KEYPAD == MROBE100_PAD
70#define STATS_STOP BUTTON_POWER
71
72#else
73#error No keymap defined!
68#endif 74#endif
69 75
70/* TODO: Better get the exts from the filetypes var in tree.c */ 76/* TODO: Better get the exts from the filetypes var in tree.c */
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 331649a3b1..53f79ee6f7 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -129,6 +129,15 @@ PLUGIN_HEADER
129#define STOPWATCH_LAP_TIMER BUTTON_SELECT 129#define STOPWATCH_LAP_TIMER BUTTON_SELECT
130#define STOPWATCH_SCROLL_UP BUTTON_UP 130#define STOPWATCH_SCROLL_UP BUTTON_UP
131#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 131#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
132#elif CONFIG_KEYPAD == MROBE100_PAD
133#define STOPWATCH_QUIT BUTTON_POWER
134#define STOPWATCH_START_STOP BUTTON_SELECT
135#define STOPWATCH_RESET_TIMER BUTTON_DISPLAY
136#define STOPWATCH_LAP_TIMER BUTTON_MENU
137#define STOPWATCH_SCROLL_UP BUTTON_UP
138#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
139#else
140#error No keymap defined!
132#endif 141#endif
133 142
134static struct plugin_api* rb; 143static struct plugin_api* rb;
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 87c0f692b5..78d1b73e63 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -150,8 +150,18 @@
150#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL) 150#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
151#define SUDOKU_BUTTON_POSSIBLE BUTTON_RC_HEART 151#define SUDOKU_BUTTON_POSSIBLE BUTTON_RC_HEART
152 152
153#elif (CONFIG_KEYPAD == MROBE100_PAD)
154#define SUDOKU_BUTTON_QUIT BUTTON_POWER
155#define SUDOKU_BUTTON_UP BUTTON_UP
156#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
157#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
158#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
159#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
160#define SUDOKU_BUTTON_MENU BUTTON_MENU
161#define SUDOKU_BUTTON_POSSIBLE BUTTON_DISPLAY
162
153#else 163#else
154 #error SUDOKU: Unsupported keypad 164#error No keymap defined!
155#endif 165#endif
156 166
157struct sudoku_state_t { 167struct sudoku_state_t {
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index da288f1d6f..ea33314c99 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -223,6 +223,17 @@ PLUGIN_HEADER
223#define VIEWER_MENU BUTTON_MENU 223#define VIEWER_MENU BUTTON_MENU
224#define VIEWER_AUTOSCROLL BUTTON_PLAY 224#define VIEWER_AUTOSCROLL BUTTON_PLAY
225 225
226#elif CONFIG_KEYPAD == MROBE100_PAD
227#define VIEWER_QUIT BUTTON_POWER
228#define VIEWER_PAGE_UP BUTTON_UP
229#define VIEWER_PAGE_DOWN BUTTON_DOWN
230#define VIEWER_SCREEN_LEFT BUTTON_LEFT
231#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
232#define VIEWER_MENU BUTTON_MENU
233#define VIEWER_AUTOSCROLL BUTTON_DISPLAY
234
235#else
236#error No keymap defined!
226#endif 237#endif
227 238
228/* stuff for the bookmarking */ 239/* stuff for the bookmarking */
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index a004cc7d98..4a02a58850 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -130,6 +130,17 @@ PLUGIN_HEADER
130#define VUMETER_UP BUTTON_UP 130#define VUMETER_UP BUTTON_UP
131#define VUMETER_DOWN BUTTON_DOWN 131#define VUMETER_DOWN BUTTON_DOWN
132 132
133#elif (CONFIG_KEYPAD == MROBE100_PAD)
134#define VUMETER_QUIT BUTTON_POWER
135#define VUMETER_HELP BUTTON_DISPLAY
136#define VUMETER_MENU BUTTON_MENU
137#define VUMETER_MENU_EXIT BUTTON_MENU
138#define VUMETER_MENU_EXIT2 BUTTON_POWER
139#define VUMETER_UP BUTTON_UP
140#define VUMETER_DOWN BUTTON_DOWN
141
142#else
143#error No keymap defined!
133#endif 144#endif
134 145
135const struct plugin_api* rb; 146const struct plugin_api* rb;
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 3681446b22..65e9d85ff4 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -189,6 +189,21 @@ PLUGIN_HEADER
189#define PLAYERS_TEXT "Up/Down" 189#define PLAYERS_TEXT "Up/Down"
190#define WORMS_TEXT "Left/Right" 190#define WORMS_TEXT "Left/Right"
191 191
192#elif (CONFIG_KEYPAD == MROBE100_PAD)
193
194#define BTN_DIR_UP BUTTON_UP
195#define BTN_DIR_DOWN BUTTON_DOWN
196#define BTN_DIR_LEFT BUTTON_LEFT
197#define BTN_DIR_RIGHT BUTTON_RIGHT
198#define BTN_STARTPAUSE BUTTON_SELECT
199#define BTN_QUIT BUTTON_POWER
200#define BTN_STOPRESET BUTTON_DISPLAY
201
202#define PLAYERS_TEXT "Up/Down"
203#define WORMS_TEXT "Left/Right"
204
205#else
206#error No keymap defined!
192#endif 207#endif
193 208
194#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) 209#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64)
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index db68e05265..dcffbdcef5 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -121,8 +121,17 @@ PLUGIN_HEADER
121#define DOWN BUTTON_DOWN 121#define DOWN BUTTON_DOWN
122#define PAUSE BUTTON_PLAY 122#define PAUSE BUTTON_PLAY
123 123
124#elif (CONFIG_KEYPAD == MROBE100_PAD)
125
126#define QUIT BUTTON_POWER
127#define LEFT BUTTON_LEFT
128#define RIGHT BUTTON_RIGHT
129#define UP BUTTON_UP
130#define DOWN BUTTON_DOWN
131#define PAUSE BUTTON_DISPLAY
132
124#else 133#else
125#error Unsupported keypad 134#error No keymap defined!
126#endif 135#endif
127 136
128#define MOVE_NO 0 /* player movement */ 137#define MOVE_NO 0 /* player movement */