summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2008-11-28 00:37:28 +0000
committerRafaël Carré <rafael.carre@gmail.com>2008-11-28 00:37:28 +0000
commit5656f8245f63c5104085998c0865bac0aea95d44 (patch)
tree2fa4c2cd1dac341dafb88ec5f9990775c97ae49a /apps
parentddaa878097a7d78d974badbd5a7845587c695392 (diff)
downloadrockbox-5656f8245f63c5104085998c0865bac0aea95d44.tar.gz
rockbox-5656f8245f63c5104085998c0865bac0aea95d44.zip
Sansa Clip: build plugins (FS#9578)
Use unmodified C200 keymap when possible, variation of it when not Use Archos bitmaps when possible Current problems: - Pegbox plugin shows display corruption (corruption is different in the simulator) - Bubbles plugin misses 1 or 2 bottom lines, but if we gain back these lines it occupies a too small area of the screen - Splitted screen (yellow/blue) is a bit weird in most plugins git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19252 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/battery_bench.c3
-rw-r--r--apps/plugins/bitmaps/mono/SOURCES2
-rw-r--r--apps/plugins/bitmaps/mono/bubbles_bubble.128x64x1.bmpbin0 -> 222 bytes
-rw-r--r--apps/plugins/bitmaps/native/SOURCES4
-rw-r--r--apps/plugins/blackjack.c15
-rw-r--r--apps/plugins/bounce.c2
-rw-r--r--apps/plugins/brickmania.c6
-rw-r--r--apps/plugins/bubbles.c11
-rw-r--r--apps/plugins/calculator.c11
-rw-r--r--apps/plugins/calendar.c2
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h15
-rw-r--r--apps/plugins/chessclock.c3
-rw-r--r--apps/plugins/chip8.c2
-rw-r--r--apps/plugins/chopper.c2
-rw-r--r--apps/plugins/cube.c2
-rw-r--r--apps/plugins/dict.c3
-rw-r--r--apps/plugins/flipit.c12
-rw-r--r--apps/plugins/jewels.c4
-rw-r--r--apps/plugins/jpeg/jpeg.h15
-rw-r--r--apps/plugins/lamp.c3
-rw-r--r--apps/plugins/logo.c2
-rw-r--r--apps/plugins/mandelbrot.c12
-rw-r--r--apps/plugins/midi/midiplay.c2
-rw-r--r--apps/plugins/minesweeper.c4
-rw-r--r--apps/plugins/mosaique.c2
-rw-r--r--apps/plugins/mp3_encoder.c2
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c4
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c4
-rw-r--r--apps/plugins/oscilloscope.c11
-rw-r--r--apps/plugins/pegbox.c22
-rw-r--r--apps/plugins/plasma.c2
-rw-r--r--apps/plugins/pong.c2
-rw-r--r--apps/plugins/reversi/reversi-gui.c8
-rw-r--r--apps/plugins/reversi/reversi-gui.h2
-rw-r--r--apps/plugins/rockblox.c12
-rw-r--r--apps/plugins/rockblox1d.c4
-rw-r--r--apps/plugins/sliding_puzzle.c9
-rw-r--r--apps/plugins/snake.c3
-rw-r--r--apps/plugins/snake2.c14
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c16
-rw-r--r--apps/plugins/solitaire.c19
-rw-r--r--apps/plugins/spacerocks.c13
-rw-r--r--apps/plugins/star.c2
-rw-r--r--apps/plugins/starfield.c3
-rw-r--r--apps/plugins/stats.c2
-rw-r--r--apps/plugins/stopwatch.c2
-rw-r--r--apps/plugins/sudoku/sudoku.c2
-rw-r--r--apps/plugins/sudoku/sudoku.h14
-rw-r--r--apps/plugins/test_grey.c3
-rw-r--r--apps/plugins/test_scanrate.c5
-rw-r--r--apps/plugins/viewer.c12
-rw-r--r--apps/plugins/vu_meter.c13
-rw-r--r--apps/plugins/wormlet.c19
-rw-r--r--apps/plugins/xobox.c10
-rw-r--r--apps/plugins/zxbox/keymaps.h2
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c1
57 files changed, 336 insertions, 42 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index fff93b2a3a..a74a1cf328 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -98,7 +98,8 @@ PLUGIN_HEADER
98#define BATTERY_OFF_TXT "PLAY" 98#define BATTERY_OFF_TXT "PLAY"
99 99
100#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 100#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
101(CONFIG_KEYPAD == SANSA_C200_PAD) 101(CONFIG_KEYPAD == SANSA_C200_PAD) || \
102(CONFIG_KEYPAD == SANSA_CLIP_PAD)
102#define BATTERY_ON BUTTON_SELECT 103#define BATTERY_ON BUTTON_SELECT
103#define BATTERY_OFF BUTTON_POWER 104#define BATTERY_OFF BUTTON_POWER
104#define BATTERY_ON_TXT "SELECT - start" 105#define BATTERY_ON_TXT "SELECT - start"
diff --git a/apps/plugins/bitmaps/mono/SOURCES b/apps/plugins/bitmaps/mono/SOURCES
index e0e112d904..a109405bc9 100644
--- a/apps/plugins/bitmaps/mono/SOURCES
+++ b/apps/plugins/bitmaps/mono/SOURCES
@@ -3,6 +3,8 @@
3/* Bubbles */ 3/* Bubbles */
4#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) 4#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64)
5bubbles_bubble.112x64x1.bmp 5bubbles_bubble.112x64x1.bmp
6#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
7bubbles_bubble.128x64x1.bmp
6#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) 8#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
7bubbles_bubble.132x80x16.bmp 9bubbles_bubble.132x80x16.bmp
8#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) 10#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96)
diff --git a/apps/plugins/bitmaps/mono/bubbles_bubble.128x64x1.bmp b/apps/plugins/bitmaps/mono/bubbles_bubble.128x64x1.bmp
new file mode 100644
index 0000000000..f8cab460c0
--- /dev/null
+++ b/apps/plugins/bitmaps/mono/bubbles_bubble.128x64x1.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index c248bcb97b..882c3f455a 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -118,6 +118,8 @@ bubbles_emblem.160x128x2.bmp
118bubbles_emblem.138x110x2.bmp 118bubbles_emblem.138x110x2.bmp
119#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96) 119#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96)
120bubbles_emblem.128x96x2.bmp 120bubbles_emblem.128x96x2.bmp
121#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 64)
122bubbles_emblem.112x64x1.bmp /* use the same emblems than Archos */
121#elif (LCD_WIDTH >= 112) && (LCD_HEIGHT >= 64) 123#elif (LCD_WIDTH >= 112) && (LCD_HEIGHT >= 64)
122bubbles_emblem.112x64x1.bmp 124bubbles_emblem.112x64x1.bmp
123#endif 125#endif
@@ -586,7 +588,7 @@ star_tiles.6x7x1.bmp
586 588
587/* Sudoku */ 589/* Sudoku */
588#if LCD_WIDTH >= LCD_HEIGHT 590#if LCD_WIDTH >= LCD_HEIGHT
589#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) && (LCD_DEPTH == 1) 591#if (LCD_WIDTH == 112 || LCD_WIDTH == 128) && (LCD_HEIGHT == 64) && (LCD_DEPTH == 1)
590sudoku_start.112x64x1.bmp 592sudoku_start.112x64x1.bmp
591sudoku_normal.112x64x1.bmp 593sudoku_normal.112x64x1.bmp
592sudoku_inverse.112x64x1.bmp 594sudoku_inverse.112x64x1.bmp
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index d120d37646..ef90a8fed4 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -190,6 +190,21 @@ PLUGIN_HEADER
190#define BJACK_RIGHT BUTTON_RIGHT 190#define BJACK_RIGHT BUTTON_RIGHT
191#define BJACK_LEFT BUTTON_LEFT 191#define BJACK_LEFT BUTTON_LEFT
192 192
193#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
194#define BJACK_START BUTTON_SELECT
195#define BJACK_QUIT BUTTON_POWER
196#define BJACK_MAX BUTTON_VOL_UP
197#define BJACK_MIN BUTTON_VOL_DOWN
198#define BJACK_HIT BUTTON_SELECT
199#define BJACK_STAY BUTTON_RIGHT
200#define BJACK_DOUBLEDOWN BUTTON_LEFT
201#define BJACK_SCORES BUTTON_HOME
202#define BJACK_RESUME BUTTON_DOWN
203#define BJACK_UP BUTTON_UP
204#define BJACK_DOWN BUTTON_DOWN
205#define BJACK_RIGHT BUTTON_RIGHT
206#define BJACK_LEFT BUTTON_LEFT
207
193#elif CONFIG_KEYPAD == ELIO_TPJ1022_PAD 208#elif CONFIG_KEYPAD == ELIO_TPJ1022_PAD
194#define BJACK_START BUTTON_MAIN 209#define BJACK_START BUTTON_MAIN
195#define BJACK_QUIT BUTTON_POWER 210#define BJACK_QUIT BUTTON_POWER
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index 5d92ed1c4b..c93d1a082a 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -100,7 +100,7 @@ PLUGIN_HEADER
100#define BOUNCE_QUIT BUTTON_POWER 100#define BOUNCE_QUIT BUTTON_POWER
101#define BOUNCE_MODE BUTTON_SELECT 101#define BOUNCE_MODE BUTTON_SELECT
102 102
103#elif CONFIG_KEYPAD == SANSA_C200_PAD 103#elif CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
104#define BOUNCE_LEFT BUTTON_LEFT 104#define BOUNCE_LEFT BUTTON_LEFT
105#define BOUNCE_RIGHT BUTTON_RIGHT 105#define BOUNCE_RIGHT BUTTON_RIGHT
106#define BOUNCE_UP BUTTON_UP 106#define BOUNCE_UP BUTTON_UP
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 6d84d2bc85..0df7b32fa6 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -116,7 +116,7 @@ PLUGIN_HEADER
116#define SCROLL_BACK(x) ((x) & BUTTON_SCROLL_BACK) 116#define SCROLL_BACK(x) ((x) & BUTTON_SCROLL_BACK)
117 117
118 118
119#elif CONFIG_KEYPAD == SANSA_C200_PAD 119#elif CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
120 120
121#define QUIT BUTTON_POWER 121#define QUIT BUTTON_POWER
122#define LEFT BUTTON_LEFT 122#define LEFT BUTTON_LEFT
@@ -386,8 +386,8 @@ enum menu_items {
386#define STRINGPOS_NAVI 44 386#define STRINGPOS_NAVI 44
387#define STRINGPOS_FLIP 44 387#define STRINGPOS_FLIP 44
388 388
389/* Archos */ 389/* Archos / Sansa Clip / Sansa m200 */
390#elif (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) 390#elif ((LCD_WIDTH == 112) | (LCD_WIDTH == 128)) && (LCD_HEIGHT == 64)
391/* The time (in ms) for one iteration through the game loop - decrease this 391/* The time (in ms) for one iteration through the game loop - decrease this
392 to speed up the game - note that current_tick is (currently) only accurate 392 to speed up the game - note that current_tick is (currently) only accurate
393 to 10ms. 393 to 10ms.
diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c
index 5415f3b506..a736e74542 100644
--- a/apps/plugins/bubbles.c
+++ b/apps/plugins/bubbles.c
@@ -167,12 +167,19 @@ PLUGIN_HEADER
167#define MAX_FPS 30 167#define MAX_FPS 30
168 168
169/* 8x8 bubbles (Sansa C200) */ 169/* 8x8 bubbles (Sansa C200) */
170#elif (LCD_HEIGHT == 80) && (LCD_WIDTH == 132) 170#elif ((LCD_HEIGHT == 80) && (LCD_WIDTH == 132))
171#define XOFS 45 171#define XOFS 45
172#define ROW_HEIGHT 6 172#define ROW_HEIGHT 6
173#define ROW_INDENT 4 173#define ROW_INDENT 4
174#define MAX_FPS 30 174#define MAX_FPS 30
175 175
176/* 7x7 bubbles (Sansa Clip/m200) */
177#elif (LCD_HEIGHT == 64 && LCD_WIDTH == 128)
178#define XOFS 33
179#define ROW_HEIGHT 5
180#define ROW_INDENT 4
181#define MAX_FPS 30
182
176/* 8x7 bubbles (Archos recorder, Ondio) */ 183/* 8x7 bubbles (Archos recorder, Ondio) */
177#elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 112) 184#elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 112)
178#define XOFS 33 185#define XOFS 33
@@ -2445,7 +2452,7 @@ static int bubbles(struct game_context* bb) {
2445 rb->lcd_puts(0, 6, " and show high scores"); 2452 rb->lcd_puts(0, 6, " and show high scores");
2446 rb->lcd_puts(0, 7, "SCROLL to aim"); 2453 rb->lcd_puts(0, 7, "SCROLL to aim");
2447 rb->lcd_puts(0, 8, " and change level"); 2454 rb->lcd_puts(0, 8, " and change level");
2448#elif CONFIG_KEYPAD == SANSA_C200_PAD 2455#elif CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
2449 rb->lcd_puts(0, 2, "PLAY to start/pause"); 2456 rb->lcd_puts(0, 2, "PLAY to start/pause");
2450 rb->lcd_puts(0, 3, "SUBMENU to save/resume"); 2457 rb->lcd_puts(0, 3, "SUBMENU to save/resume");
2451 rb->lcd_puts(0, 4, "POWER to exit"); 2458 rb->lcd_puts(0, 4, "POWER to exit");
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 0a91d94619..0207688c6d 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -209,6 +209,17 @@ PLUGIN_HEADER
209#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT) 209#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT)
210#define CALCULATOR_CLEAR BUTTON_REC 210#define CALCULATOR_CLEAR BUTTON_REC
211 211
212#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
213#define CALCULATOR_LEFT BUTTON_LEFT
214#define CALCULATOR_RIGHT BUTTON_RIGHT
215#define CALCULATOR_UP BUTTON_UP
216#define CALCULATOR_DOWN BUTTON_DOWN
217#define CALCULATOR_QUIT BUTTON_POWER
218#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
219#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL)
220#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT)
221#define CALCULATOR_CLEAR BUTTON_HOME
222
212#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 223#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
213 224
214#define CALCULATOR_LEFT BUTTON_LEFT 225#define CALCULATOR_LEFT BUTTON_LEFT
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index 05f10ec5d0..794e9f86da 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -100,7 +100,7 @@ PLUGIN_HEADER
100#define CALENDAR_NEXT_MONTH BUTTON_DOWN 100#define CALENDAR_NEXT_MONTH BUTTON_DOWN
101#define CALENDAR_PREV_MONTH BUTTON_UP 101#define CALENDAR_PREV_MONTH BUTTON_UP
102 102
103#elif CONFIG_KEYPAD == SANSA_C200_PAD 103#elif CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
104#define CALENDAR_QUIT BUTTON_POWER 104#define CALENDAR_QUIT BUTTON_POWER
105#define CALENDAR_SELECT BUTTON_SELECT 105#define CALENDAR_SELECT BUTTON_SELECT
106#define CALENDAR_NEXT_WEEK BUTTON_DOWN 106#define CALENDAR_NEXT_WEEK BUTTON_DOWN
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 2054316770..88d12c787f 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -201,6 +201,21 @@
201#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) 201#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
202#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) 202#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
203 203
204#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
205#define CB_SELECT BUTTON_SELECT
206#define CB_UP BUTTON_UP
207#define CB_DOWN BUTTON_DOWN
208#define CB_LEFT BUTTON_LEFT
209#define CB_RIGHT BUTTON_RIGHT
210#define CB_PLAY BUTTON_VOL_UP
211#define CB_LEVEL BUTTON_HOME
212#define CB_MENU BUTTON_POWER
213
214#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
215#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
216#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
217#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
218
204#elif CONFIG_KEYPAD == SANSA_C200_PAD 219#elif CONFIG_KEYPAD == SANSA_C200_PAD
205#define CB_SELECT BUTTON_SELECT 220#define CB_SELECT BUTTON_SELECT
206#define CB_UP BUTTON_UP 221#define CB_UP BUTTON_UP
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 3acb5f3ccf..3e22676d8b 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -122,7 +122,8 @@ PLUGIN_HEADER
122#define CHC_SETTINGS_CANCEL BUTTON_POWER 122#define CHC_SETTINGS_CANCEL BUTTON_POWER
123 123
124#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 124#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
125(CONFIG_KEYPAD == SANSA_C200_PAD) 125(CONFIG_KEYPAD == SANSA_C200_PAD) || \
126(CONFIG_KEYPAD == SANSA_CLIP_PAD)
126#define CHC_QUIT BUTTON_POWER 127#define CHC_QUIT BUTTON_POWER
127#define CHC_STARTSTOP BUTTON_SELECT 128#define CHC_STARTSTOP BUTTON_SELECT
128#define CHC_RESET BUTTON_DOWN 129#define CHC_RESET BUTTON_DOWN
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index be624ed711..9ce18b582b 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1030,7 +1030,7 @@ STATIC void chip8 (void)
1030#define CHIP8_KEY6 BUTTON_RIGHT 1030#define CHIP8_KEY6 BUTTON_RIGHT
1031#define CHIP8_KEY8 BUTTON_SCROLL_FWD 1031#define CHIP8_KEY8 BUTTON_SCROLL_FWD
1032 1032
1033#elif CONFIG_KEYPAD == SANSA_C200_PAD 1033#elif CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
1034#define CHIP8_OFF BUTTON_POWER 1034#define CHIP8_OFF BUTTON_POWER
1035#define CHIP8_KEY2 BUTTON_VOL_UP 1035#define CHIP8_KEY2 BUTTON_VOL_UP
1036#define CHIP8_KEY4 BUTTON_LEFT 1036#define CHIP8_KEY4 BUTTON_LEFT
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index b497b161b5..b2fab7e07a 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -67,7 +67,7 @@ Still To do:
67#define ACTIONTEXT "RIGHT" 67#define ACTIONTEXT "RIGHT"
68 68
69#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 69#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
70(CONFIG_KEYPAD == SANSA_C200_PAD) 70(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
71#define QUIT BUTTON_POWER 71#define QUIT BUTTON_POWER
72#define ACTION BUTTON_SELECT 72#define ACTION BUTTON_SELECT
73#define ACTIONTEXT "SELECT" 73#define ACTIONTEXT "SELECT"
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index ec1930f547..fde3b7583c 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -140,7 +140,7 @@ PLUGIN_HEADER
140#define CUBE_PAUSE BUTTON_UP 140#define CUBE_PAUSE BUTTON_UP
141#define CUBE_HIGHSPEED BUTTON_SELECT 141#define CUBE_HIGHSPEED BUTTON_SELECT
142 142
143#elif (CONFIG_KEYPAD == SANSA_C200_PAD) 143#elif (CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
144#define CUBE_QUIT BUTTON_POWER 144#define CUBE_QUIT BUTTON_POWER
145#define CUBE_NEXT BUTTON_RIGHT 145#define CUBE_NEXT BUTTON_RIGHT
146#define CUBE_PREV BUTTON_LEFT 146#define CUBE_PREV BUTTON_LEFT
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 0f75463946..eb1f3df5db 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -118,7 +118,8 @@ long reverse (long N) {
118#elif CONFIG_KEYPAD == GIGABEAT_PAD 118#elif CONFIG_KEYPAD == GIGABEAT_PAD
119#define LP_QUIT BUTTON_POWER 119#define LP_QUIT BUTTON_POWER
120#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 120#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
121(CONFIG_KEYPAD == SANSA_C200_PAD) 121(CONFIG_KEYPAD == SANSA_C200_PAD) || \
122(CONFIG_KEYPAD == SANSA_CLIP_PAD)
122#define LP_QUIT BUTTON_POWER 123#define LP_QUIT BUTTON_POWER
123#elif CONFIG_KEYPAD == IRIVER_H10_PAD 124#elif CONFIG_KEYPAD == IRIVER_H10_PAD
124#define LP_QUIT BUTTON_POWER 125#define LP_QUIT BUTTON_POWER
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 76d1293527..23f4675fae 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -155,6 +155,18 @@ PLUGIN_HEADER
155#define FLIPIT_STEP_BY_STEP (BUTTON_REC | BUTTON_SELECT) 155#define FLIPIT_STEP_BY_STEP (BUTTON_REC | BUTTON_SELECT)
156#define FLIPIT_TOGGLE BUTTON_SELECT 156#define FLIPIT_TOGGLE BUTTON_SELECT
157 157
158#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
159
160#define FLIPIT_LEFT BUTTON_LEFT
161#define FLIPIT_RIGHT BUTTON_RIGHT
162#define FLIPIT_UP BUTTON_UP
163#define FLIPIT_DOWN BUTTON_DOWN
164#define FLIPIT_QUIT BUTTON_POWER
165#define FLIPIT_SHUFFLE (BUTTON_HOME | BUTTON_LEFT)
166#define FLIPIT_SOLVE (BUTTON_HOME | BUTTON_RIGHT)
167#define FLIPIT_STEP_BY_STEP (BUTTON_HOME | BUTTON_SELECT)
168#define FLIPIT_TOGGLE BUTTON_SELECT
169
158#elif CONFIG_KEYPAD == IRIVER_H10_PAD 170#elif CONFIG_KEYPAD == IRIVER_H10_PAD
159 171
160#define FLIPIT_LEFT BUTTON_LEFT 172#define FLIPIT_LEFT BUTTON_LEFT
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 239827c123..9d6400c9a9 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -108,7 +108,7 @@ PLUGIN_HEADER
108#define JEWELS_SELECT BUTTON_SELECT 108#define JEWELS_SELECT BUTTON_SELECT
109#define JEWELS_CANCEL BUTTON_POWER 109#define JEWELS_CANCEL BUTTON_POWER
110 110
111#elif CONFIG_KEYPAD == SANSA_C200_PAD 111#elif CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
112#define JEWELS_UP BUTTON_UP 112#define JEWELS_UP BUTTON_UP
113#define JEWELS_DOWN BUTTON_DOWN 113#define JEWELS_DOWN BUTTON_DOWN
114#define JEWELS_LEFT BUTTON_LEFT 114#define JEWELS_LEFT BUTTON_LEFT
@@ -1570,7 +1570,7 @@ static int jewels_main(struct game_context* bj) {
1570 rb->lcd_puts(0, 10, "Long SELECT to show menu"); 1570 rb->lcd_puts(0, 10, "Long SELECT to show menu");
1571 rb->lcd_puts(0, 11, "POWER to cancel"); 1571 rb->lcd_puts(0, 11, "POWER to cancel");
1572#elif CONFIG_KEYPAD == SANSA_E200_PAD \ 1572#elif CONFIG_KEYPAD == SANSA_E200_PAD \
1573 || CONFIG_KEYPAD == SANSA_C200_PAD 1573 || CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
1574 rb->lcd_puts(0, 2, "Swap pairs of jewels to"); 1574 rb->lcd_puts(0, 2, "Swap pairs of jewels to");
1575 rb->lcd_puts(0, 3, "form connected segments"); 1575 rb->lcd_puts(0, 3, "form connected segments");
1576 rb->lcd_puts(0, 4, "of three or more of the"); 1576 rb->lcd_puts(0, 4, "of three or more of the");
diff --git a/apps/plugins/jpeg/jpeg.h b/apps/plugins/jpeg/jpeg.h
index 1a24948a19..154e2dd68a 100644
--- a/apps/plugins/jpeg/jpeg.h
+++ b/apps/plugins/jpeg/jpeg.h
@@ -148,6 +148,21 @@
148#define JPEG_PREVIOUS BUTTON_VOL_DOWN 148#define JPEG_PREVIOUS BUTTON_VOL_DOWN
149#define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT) 149#define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
150 150
151#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
152#define JPEG_ZOOM_PRE BUTTON_SELECT
153#define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
154#define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
155#define JPEG_UP BUTTON_UP
156#define JPEG_DOWN BUTTON_DOWN
157#define JPEG_LEFT BUTTON_LEFT
158#define JPEG_RIGHT BUTTON_RIGHT
159#define JPEG_MENU BUTTON_POWER
160#define JPEG_SLIDE_SHOW BUTTON_HOME
161#define JPEG_NEXT BUTTON_VOL_UP
162#define JPEG_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
163#define JPEG_PREVIOUS BUTTON_VOL_DOWN
164#define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
165
151#elif CONFIG_KEYPAD == IRIVER_H10_PAD 166#elif CONFIG_KEYPAD == IRIVER_H10_PAD
152#define JPEG_ZOOM_PRE BUTTON_PLAY 167#define JPEG_ZOOM_PRE BUTTON_PLAY
153#define JPEG_ZOOM_IN (BUTTON_PLAY | BUTTON_REL) 168#define JPEG_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c
index bad757c161..e355ee4ce3 100644
--- a/apps/plugins/lamp.c
+++ b/apps/plugins/lamp.c
@@ -140,8 +140,9 @@ enum plugin_status plugin_start(const struct plugin_api* api, const void* parame
140#endif /* HAVE_BUTTONLIGHT_BRIGHTNESS */ 140#endif /* HAVE_BUTTONLIGHT_BRIGHTNESS */
141 141
142#ifdef HAVE_LCD_INVERT 142#ifdef HAVE_LCD_INVERT
143#ifdef MROBE_100 143#if defined(MROBE_100) || defined(SANSA_CLIP)
144 /* mrobe-100 has inverted display so invert it for max brightness */ 144 /* mrobe-100 has inverted display so invert it for max brightness */
145 /* sansa clip has no real backlight so we need to enable all pixels */
145 rb->lcd_set_invert_display(true); 146 rb->lcd_set_invert_display(true);
146#else 147#else
147 rb->lcd_set_invert_display(false); 148 rb->lcd_set_invert_display(false);
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index b2e640161d..756a12b289 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -96,7 +96,7 @@ const unsigned char rockbox16x7[] = {
96#define LP_INC_Y BUTTON_UP 96#define LP_INC_Y BUTTON_UP
97 97
98#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 98#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
99(CONFIG_KEYPAD == SANSA_C200_PAD) 99(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
100#define LP_QUIT BUTTON_POWER 100#define LP_QUIT BUTTON_POWER
101#define LP_DEC_X BUTTON_LEFT 101#define LP_DEC_X BUTTON_LEFT
102#define LP_INC_X BUTTON_RIGHT 102#define LP_INC_X BUTTON_RIGHT
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 56483bdfd3..a59bace76c 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -150,6 +150,18 @@ PLUGIN_HEADER
150#define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT) 150#define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT)
151#define MANDELBROT_RESET BUTTON_REC 151#define MANDELBROT_RESET BUTTON_REC
152 152
153#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
154#define MANDELBROT_QUIT BUTTON_POWER
155#define MANDELBROT_UP BUTTON_UP
156#define MANDELBROT_DOWN BUTTON_DOWN
157#define MANDELBROT_LEFT BUTTON_LEFT
158#define MANDELBROT_RIGHT BUTTON_RIGHT
159#define MANDELBROT_ZOOM_IN BUTTON_VOL_UP
160#define MANDELBROT_ZOOM_OUT BUTTON_VOL_DOWN
161#define MANDELBROT_MAXITER_INC (BUTTON_SELECT | BUTTON_RIGHT)
162#define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT)
163#define MANDELBROT_RESET BUTTON_HOME
164
153#elif CONFIG_KEYPAD == IRIVER_H10_PAD 165#elif CONFIG_KEYPAD == IRIVER_H10_PAD
154#define MANDELBROT_QUIT BUTTON_POWER 166#define MANDELBROT_QUIT BUTTON_POWER
155#define MANDELBROT_UP BUTTON_SCROLL_UP 167#define MANDELBROT_UP BUTTON_SCROLL_UP
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 55dc4d6849..c33ff3e725 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -92,7 +92,7 @@ PLUGIN_IRAM_DECLARE
92#define BTN_PLAY BUTTON_UP 92#define BTN_PLAY BUTTON_UP
93 93
94 94
95#elif (CONFIG_KEYPAD == SANSA_C200_PAD) 95#elif (CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
96#define BTN_QUIT BUTTON_POWER 96#define BTN_QUIT BUTTON_POWER
97#define BTN_RIGHT BUTTON_RIGHT 97#define BTN_RIGHT BUTTON_RIGHT
98#define BTN_LEFT BUTTON_LEFT 98#define BTN_LEFT BUTTON_LEFT
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index c37c9e8795..683084921b 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -132,7 +132,7 @@ enum minesweeper_status {
132# define MINESWP_DISCOVER BUTTON_SELECT 132# define MINESWP_DISCOVER BUTTON_SELECT
133# define MINESWP_INFO (BUTTON_REC|BUTTON_REPEAT) 133# define MINESWP_INFO (BUTTON_REC|BUTTON_REPEAT)
134 134
135#elif (CONFIG_KEYPAD == SANSA_C200_PAD) 135#elif (CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
136# define MINESWP_LEFT BUTTON_LEFT 136# define MINESWP_LEFT BUTTON_LEFT
137# define MINESWP_RIGHT BUTTON_RIGHT 137# define MINESWP_RIGHT BUTTON_RIGHT
138# define MINESWP_UP BUTTON_UP 138# define MINESWP_UP BUTTON_UP
@@ -143,7 +143,7 @@ enum minesweeper_status {
143# define MINESWP_TOGGLE2 BUTTON_VOL_DOWN 143# define MINESWP_TOGGLE2 BUTTON_VOL_DOWN
144# define MINESWP_DISCOVER (BUTTON_SELECT | BUTTON_REPEAT) 144# define MINESWP_DISCOVER (BUTTON_SELECT | BUTTON_REPEAT)
145# define MINESWP_DISCOVER2 BUTTON_VOL_UP 145# define MINESWP_DISCOVER2 BUTTON_VOL_UP
146# define MINESWP_INFO BUTTON_REC 146# define MINESWP_INFO (BUTTON_SELECT | BUTTON_UP)
147 147
148#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 148#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
149# define MINESWP_LEFT BUTTON_LEFT 149# define MINESWP_LEFT BUTTON_LEFT
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 4c8139cb0a..6a27641f84 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -94,7 +94,7 @@ PLUGIN_HEADER
94#define MOSAIQUE_RESTART BUTTON_SELECT 94#define MOSAIQUE_RESTART BUTTON_SELECT
95 95
96#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 96#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
97(CONFIG_KEYPAD == SANSA_C200_PAD) 97(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
98#define MOSAIQUE_QUIT BUTTON_POWER 98#define MOSAIQUE_QUIT BUTTON_POWER
99#define MOSAIQUE_SPEED BUTTON_DOWN 99#define MOSAIQUE_SPEED BUTTON_DOWN
100#define MOSAIQUE_RESTART BUTTON_SELECT 100#define MOSAIQUE_RESTART BUTTON_SELECT
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index e04d3d0357..adc557a534 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2430,7 +2430,7 @@ void get_mp3_filename(const char *wav_name)
2430#define MP3ENC_DONE BUTTON_POWER 2430#define MP3ENC_DONE BUTTON_POWER
2431#define MP3ENC_SELECT BUTTON_SELECT 2431#define MP3ENC_SELECT BUTTON_SELECT
2432#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 2432#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
2433(CONFIG_KEYPAD == SANSA_C200_PAD) 2433(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
2434#define MP3ENC_PREV BUTTON_UP 2434#define MP3ENC_PREV BUTTON_UP
2435#define MP3ENC_NEXT BUTTON_DOWN 2435#define MP3ENC_NEXT BUTTON_DOWN
2436#define MP3ENC_DONE BUTTON_POWER 2436#define MP3ENC_DONE BUTTON_POWER
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 0c66f3ff32..dbb2c1e030 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -83,7 +83,7 @@ struct mpeg_settings settings;
83#define MPEG_START_TIME_DOWN BUTTON_DOWN 83#define MPEG_START_TIME_DOWN BUTTON_DOWN
84#define MPEG_START_TIME_EXIT BUTTON_POWER 84#define MPEG_START_TIME_EXIT BUTTON_POWER
85 85
86#elif (CONFIG_KEYPAD == SANSA_C200_PAD) 86#elif (CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
87#define MPEG_START_TIME_SELECT BUTTON_SELECT 87#define MPEG_START_TIME_SELECT BUTTON_SELECT
88#define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP 88#define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP
89#define MPEG_START_TIME_SCROLL_DOWN BUTTON_VOL_DOWN 89#define MPEG_START_TIME_SCROLL_DOWN BUTTON_VOL_DOWN
@@ -551,7 +551,7 @@ static uint32_t increment_time(uint32_t val, int32_t amount, uint32_t range)
551 return val; 551 return val;
552} 552}
553 553
554#ifdef HAVE_LCD_ENABLE 554#if defined(HAVE_LCD_ENABLE) && defined(HAVE_LCD_COLOR)
555static void get_start_time_lcd_enable_hook(void) 555static void get_start_time_lcd_enable_hook(void)
556{ 556{
557 rb->queue_post(rb->button_queue, LCD_ENABLE_EVENT_0, 0); 557 rb->queue_post(rb->button_queue, LCD_ENABLE_EVENT_0, 0);
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index dc2dc0d1fd..578c783072 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -189,7 +189,7 @@ PLUGIN_IRAM_DECLARE
189#define MPEG_RW BUTTON_LEFT 189#define MPEG_RW BUTTON_LEFT
190#define MPEG_FF BUTTON_RIGHT 190#define MPEG_FF BUTTON_RIGHT
191 191
192#elif CONFIG_KEYPAD == SANSA_C200_PAD 192#elif CONFIG_KEYPAD == SANSA_C200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD
193#define MPEG_MENU BUTTON_SELECT 193#define MPEG_MENU BUTTON_SELECT
194#define MPEG_STOP BUTTON_POWER 194#define MPEG_STOP BUTTON_POWER
195#define MPEG_PAUSE BUTTON_UP 195#define MPEG_PAUSE BUTTON_UP
@@ -598,7 +598,7 @@ static void draw_putsxy_oriented(int x, int y, const char *str)
598} 598}
599#endif /* LCD_PORTRAIT */ 599#endif /* LCD_PORTRAIT */
600 600
601#ifdef HAVE_LCD_ENABLE 601#if defined(HAVE_LCD_ENABLE) && defined(HAVE_LCD_COLOR)
602/* So we can refresh the overlay */ 602/* So we can refresh the overlay */
603static void wvs_lcd_enable_hook(void) 603static void wvs_lcd_enable_hook(void)
604{ 604{
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 68b4530e40..9c25dc3a64 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -122,6 +122,17 @@ PLUGIN_HEADER
122#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP 122#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
123#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN 123#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
124 124
125#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
126#define OSCILLOSCOPE_QUIT BUTTON_POWER
127#define OSCILLOSCOPE_DRAWMODE BUTTON_SELECT
128#define OSCILLOSCOPE_ADVMODE BUTTON_DOWN
129#define OSCILLOSCOPE_ORIENTATION BUTTON_UP
130#define OSCILLOSCOPE_PAUSE BUTTON_HOME
131#define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT
132#define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT
133#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
134#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
135
125#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 136#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
126#define OSCILLOSCOPE_QUIT BUTTON_POWER 137#define OSCILLOSCOPE_QUIT BUTTON_POWER
127#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_SELECT 138#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_SELECT
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index b6221448fb..4a98426e77 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -262,6 +262,23 @@ PLUGIN_HEADER
262#define LVL_UP_TEXT "VOL+" 262#define LVL_UP_TEXT "VOL+"
263#define LVL_DOWN_TEXT "VOL-" 263#define LVL_DOWN_TEXT "VOL-"
264 264
265#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
266#define PEGBOX_SAVE BUTTON_SELECT
267#define PEGBOX_QUIT BUTTON_POWER
268#define PEGBOX_RESTART BUTTON_HOME
269#define PEGBOX_LVL_UP BUTTON_VOL_UP
270#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
271#define PEGBOX_UP BUTTON_UP
272#define PEGBOX_DOWN BUTTON_DOWN
273#define PEGBOX_RIGHT BUTTON_RIGHT
274#define PEGBOX_LEFT BUTTON_LEFT
275
276#define SAVE_TEXT "SELECT"
277#define QUIT_TEXT "POWER"
278#define RESTART_TEXT "HOME"
279#define LVL_UP_TEXT "VOL+"
280#define LVL_DOWN_TEXT "VOL-"
281
265#elif CONFIG_KEYPAD == IAUDIO_M3_PAD 282#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
266#define PEGBOX_SAVE BUTTON_RC_PLAY 283#define PEGBOX_SAVE BUTTON_RC_PLAY
267#define PEGBOX_QUIT BUTTON_RC_REC 284#define PEGBOX_QUIT BUTTON_RC_REC
@@ -342,6 +359,7 @@ PLUGIN_HEADER
342#define PIECE_WIDTH 50 359#define PIECE_WIDTH 50
343#define PIECE_HEIGHT 10 360#define PIECE_HEIGHT 10
344#endif 361#endif
362
345#define BOARD_WIDTH (12*PIECE_WIDTH) 363#define BOARD_WIDTH (12*PIECE_WIDTH)
346#define BOARD_HEIGHT (8*PIECE_HEIGHT) 364#define BOARD_HEIGHT (8*PIECE_HEIGHT)
347 365
@@ -370,6 +388,10 @@ PLUGIN_HEADER
370#define TEXT_X 116 388#define TEXT_X 116
371#define LEVEL_TEXT_Y 14 389#define LEVEL_TEXT_Y 14
372#define PEGS_TEXT_Y 58 390#define PEGS_TEXT_Y 58
391#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 64)
392#define TEXT_X 114
393#define LEVEL_TEXT_Y 14
394#define PEGS_TEXT_Y 58
373#else 395#else
374#error "Unsupported screen size" 396#error "Unsupported screen size"
375#endif 397#endif
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index 5d12818beb..a304058d20 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -68,7 +68,7 @@ static int plasma_frequency;
68#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN 68#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
69 69
70#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 70#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
71(CONFIG_KEYPAD == SANSA_C200_PAD) 71(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
72#define PLASMA_QUIT BUTTON_POWER 72#define PLASMA_QUIT BUTTON_POWER
73#define PLASMA_INCREASE_FREQUENCY BUTTON_UP 73#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
74#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN 74#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 53edb90c00..13a51c4ab4 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -102,7 +102,7 @@ PLUGIN_HEADER
102#define PONG_RIGHT_UP BUTTON_VOL_UP 102#define PONG_RIGHT_UP BUTTON_VOL_UP
103#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN 103#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN
104 104
105#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 105#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
106#define PONG_QUIT BUTTON_POWER 106#define PONG_QUIT BUTTON_POWER
107#define PONG_PAUSE BUTTON_SELECT 107#define PONG_PAUSE BUTTON_SELECT
108#define PONG_LEFT_UP BUTTON_LEFT 108#define PONG_LEFT_UP BUTTON_LEFT
diff --git a/apps/plugins/reversi/reversi-gui.c b/apps/plugins/reversi/reversi-gui.c
index 1c1cf56168..d8cdc0a952 100644
--- a/apps/plugins/reversi/reversi-gui.c
+++ b/apps/plugins/reversi/reversi-gui.c
@@ -69,6 +69,14 @@ static const struct plugin_api* rb;
69#define CELL_HEIGHT 6 69#define CELL_HEIGHT 6
70#define SMALL_BOARD 70#define SMALL_BOARD
71 71
72#elif (LCD_HEIGHT==64) && (LCD_WIDTH==128)
73/* Sansa Clip and M200 - 128x64, 8 cells @ 9x9 with 9 border lines */
74
75/* Internal dimensions of a cell */
76#define CELL_WIDTH 6
77#define CELL_HEIGHT 6
78#define SMALL_BOARD
79
72#elif (LCD_HEIGHT==80) && (LCD_WIDTH==132) 80#elif (LCD_HEIGHT==80) && (LCD_WIDTH==132)
73/* Sansa C200 - 132x80, 8 cells @ 9x9 with 9 border lines */ 81/* Sansa C200 - 132x80, 8 cells @ 9x9 with 9 border lines */
74 82
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 4c86d275ae..69d29d4f68 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -107,7 +107,7 @@
107#define REVERSI_BUTTON_MENU BUTTON_PLAY 107#define REVERSI_BUTTON_MENU BUTTON_PLAY
108 108
109#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 109#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
110(CONFIG_KEYPAD == SANSA_C200_PAD) 110(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
111#define REVERSI_BUTTON_QUIT BUTTON_POWER 111#define REVERSI_BUTTON_QUIT BUTTON_POWER
112#define REVERSI_BUTTON_UP BUTTON_UP 112#define REVERSI_BUTTON_UP BUTTON_UP
113#define REVERSI_BUTTON_DOWN BUTTON_DOWN 113#define REVERSI_BUTTON_DOWN BUTTON_DOWN
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index d9b1c0aeb5..5170ab94d9 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -135,6 +135,18 @@ PLUGIN_HEADER
135#define ROCKBLOX_DROP BUTTON_SELECT 135#define ROCKBLOX_DROP BUTTON_SELECT
136#define ROCKBLOX_RESTART BUTTON_REC 136#define ROCKBLOX_RESTART BUTTON_REC
137 137
138#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
139
140#define ROCKBLOX_OFF BUTTON_POWER
141#define ROCKBLOX_ROTATE_RIGHT BUTTON_UP
142#define ROCKBLOX_ROTATE_RIGHT2 BUTTON_VOL_DOWN
143#define ROCKBLOX_ROTATE_LEFT BUTTON_VOL_UP
144#define ROCKBLOX_DOWN BUTTON_DOWN
145#define ROCKBLOX_LEFT BUTTON_LEFT
146#define ROCKBLOX_RIGHT BUTTON_RIGHT
147#define ROCKBLOX_DROP BUTTON_SELECT
148#define ROCKBLOX_RESTART BUTTON_HOME
149
138#elif CONFIG_KEYPAD == IRIVER_H10_PAD 150#elif CONFIG_KEYPAD == IRIVER_H10_PAD
139 151
140#define ROCKBLOX_OFF BUTTON_POWER 152#define ROCKBLOX_OFF BUTTON_POWER
diff --git a/apps/plugins/rockblox1d.c b/apps/plugins/rockblox1d.c
index b0fa6919b4..dd28e460f6 100644
--- a/apps/plugins/rockblox1d.c
+++ b/apps/plugins/rockblox1d.c
@@ -57,8 +57,8 @@ PLUGIN_HEADER
57#define ONEDROCKBLOX_DOWN BUTTON_SELECT 57#define ONEDROCKBLOX_DOWN BUTTON_SELECT
58#define ONEDROCKBLOX_QUIT BUTTON_POWER 58#define ONEDROCKBLOX_QUIT BUTTON_POWER
59 59
60#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 60#elif CONFIG_KEYPAD == SANSA_E200_PAD || CONFIG_KEYPAD == SANSA_C200_PAD || \
61(CONFIG_KEYPAD == SANSA_C200_PAD) 61CONFIG_KEYPAD == SANSA_CLIP_PAD
62#define ONEDROCKBLOX_DOWN BUTTON_SELECT 62#define ONEDROCKBLOX_DOWN BUTTON_SELECT
63#define ONEDROCKBLOX_QUIT BUTTON_POWER 63#define ONEDROCKBLOX_QUIT BUTTON_POWER
64 64
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 0d12556696..fa5ba274a5 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -104,6 +104,15 @@ PLUGIN_HEADER
104#define PUZZLE_SHUFFLE BUTTON_REC 104#define PUZZLE_SHUFFLE BUTTON_REC
105#define PUZZLE_PICTURE BUTTON_SELECT 105#define PUZZLE_PICTURE BUTTON_SELECT
106 106
107#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
108#define PUZZLE_QUIT BUTTON_POWER
109#define PUZZLE_LEFT BUTTON_LEFT
110#define PUZZLE_RIGHT BUTTON_RIGHT
111#define PUZZLE_UP BUTTON_UP
112#define PUZZLE_DOWN BUTTON_DOWN
113#define PUZZLE_SHUFFLE BUTTON_HOME
114#define PUZZLE_PICTURE BUTTON_SELECT
115
107#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 116#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
108#define PUZZLE_QUIT BUTTON_POWER 117#define PUZZLE_QUIT BUTTON_POWER
109#define PUZZLE_LEFT BUTTON_LEFT 118#define PUZZLE_LEFT BUTTON_LEFT
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 0f5923454b..584d9371b3 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -100,7 +100,8 @@ PLUGIN_HEADER
100#define SNAKE_PLAYPAUSE BUTTON_SELECT 100#define SNAKE_PLAYPAUSE BUTTON_SELECT
101 101
102#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 102#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
103(CONFIG_KEYPAD == SANSA_C200_PAD) 103(CONFIG_KEYPAD == SANSA_C200_PAD) || \
104(CONFIG_KEYPAD == SANSA_CLIP_PAD)
104#define SNAKE_QUIT BUTTON_POWER 105#define SNAKE_QUIT BUTTON_POWER
105#define SNAKE_LEFT BUTTON_LEFT 106#define SNAKE_LEFT BUTTON_LEFT
106#define SNAKE_RIGHT BUTTON_RIGHT 107#define SNAKE_RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index a99c646d92..82ef41732d 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -234,6 +234,20 @@ PLUGIN_HEADER
234#define SNAKE2_PLAYPAUSE BUTTON_SELECT 234#define SNAKE2_PLAYPAUSE BUTTON_SELECT
235#define SNAKE2_PLAYPAUSE_TEXT "Select" 235#define SNAKE2_PLAYPAUSE_TEXT "Select"
236 236
237#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
238#define SNAKE2_LEFT BUTTON_LEFT
239#define SNAKE2_RIGHT BUTTON_RIGHT
240#define SNAKE2_UP BUTTON_UP
241#define SNAKE2_DOWN BUTTON_DOWN
242#define SNAKE2_QUIT BUTTON_POWER
243#define SNAKE2_LEVEL_UP BUTTON_UP
244#define SNAKE2_LEVEL_DOWN BUTTON_DOWN
245#define SNAKE2_MAZE_NEXT BUTTON_RIGHT
246#define SNAKE2_MAZE_LAST BUTTON_LEFT
247#define SNAKE2_SELECT_TYPE BUTTON_VOL_UP
248#define SNAKE2_PLAYPAUSE BUTTON_SELECT
249#define SNAKE2_PLAYPAUSE_TEXT "Select"
250
237#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 251#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
238#define SNAKE2_LEFT BUTTON_LEFT 252#define SNAKE2_LEFT BUTTON_LEFT
239#define SNAKE2_RIGHT BUTTON_RIGHT 253#define SNAKE2_RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index 28315cc34f..2f88875050 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -49,7 +49,7 @@ PLUGIN_HEADER
49#elif CONFIG_KEYPAD == GIGABEAT_PAD 49#elif CONFIG_KEYPAD == GIGABEAT_PAD
50#define SNOW_QUIT BUTTON_POWER 50#define SNOW_QUIT BUTTON_POWER
51#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 51#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
52(CONFIG_KEYPAD == SANSA_C200_PAD) 52(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
53#define SNOW_QUIT BUTTON_POWER 53#define SNOW_QUIT BUTTON_POWER
54#elif CONFIG_KEYPAD == IRIVER_H10_PAD 54#elif CONFIG_KEYPAD == IRIVER_H10_PAD
55#define SNOW_QUIT BUTTON_POWER 55#define SNOW_QUIT BUTTON_POWER
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 0a032f6bd1..9a166a3fb4 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -236,6 +236,22 @@ PLUGIN_HEADER
236#define BUTTON_SAVE BUTTON_SELECT 236#define BUTTON_SAVE BUTTON_SELECT
237#define BUTTON_SAVE_NAME "SELECT" 237#define BUTTON_SAVE_NAME "SELECT"
238 238
239#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
240#define SOKOBAN_LEFT BUTTON_LEFT
241#define SOKOBAN_RIGHT BUTTON_RIGHT
242#define SOKOBAN_UP BUTTON_UP
243#define SOKOBAN_DOWN BUTTON_DOWN
244#define SOKOBAN_MENU BUTTON_POWER
245#define SOKOBAN_UNDO_PRE BUTTON_SELECT
246#define SOKOBAN_UNDO (BUTTON_SELECT | BUTTON_REL)
247#define SOKOBAN_REDO BUTTON_HOME
248#define SOKOBAN_LEVEL_DOWN BUTTON_VOL_DOWN
249#define SOKOBAN_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_RIGHT)
250#define SOKOBAN_LEVEL_UP BUTTON_VOL_UP
251#define SOKOBAN_PAUSE BUTTON_SELECT
252#define BUTTON_SAVE BUTTON_SELECT
253#define BUTTON_SAVE_NAME "SELECT"
254
239#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 255#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
240#define SOKOBAN_LEFT BUTTON_LEFT 256#define SOKOBAN_LEFT BUTTON_LEFT
241#define SOKOBAN_RIGHT BUTTON_RIGHT 257#define SOKOBAN_RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index f95777e024..92f647303a 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -220,6 +220,25 @@ static const struct plugin_api* rb;
220# define HK_CUR2STACK "DOUBLE SELECT" 220# define HK_CUR2STACK "DOUBLE SELECT"
221# define HK_REM2STACK "RIGHT" 221# define HK_REM2STACK "RIGHT"
222 222
223#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
224# define SOL_QUIT BUTTON_POWER
225# define SOL_UP BUTTON_UP
226# define SOL_DOWN BUTTON_DOWN
227# define SOL_LEFT BUTTON_LEFT
228# define SOL_RIGHT BUTTON_RIGHT
229# define SOL_MOVE_PRE BUTTON_SELECT
230# define SOL_MOVE (BUTTON_SELECT | BUTTON_REL)
231# define SOL_DRAW BUTTON_HOME
232# define SOL_REM2CUR BUTTON_VOL_DOWN
233# define SOL_CUR2STACK_PRE BUTTON_SELECT
234# define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_REPEAT)
235# define SOL_REM2STACK BUTTON_VOL_UP
236# define HK_MOVE "SELECT"
237# define HK_DRAW "HOME"
238# define HK_REM2CUR "LEFT"
239# define HK_CUR2STACK "DOUBLE SELECT"
240# define HK_REM2STACK "RIGHT"
241
223#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 242#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
224# define SOL_QUIT BUTTON_POWER 243# define SOL_QUIT BUTTON_POWER
225# define SOL_UP BUTTON_SCROLL_UP 244# define SOL_UP BUTTON_SCROLL_UP
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index b8cf043125..be80a2d8d7 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -148,6 +148,19 @@ static const struct plugin_api* rb; /* global api struct pointer */
148#define AST_FIRE BUTTON_SELECT 148#define AST_FIRE BUTTON_SELECT
149#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT) 149#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT)
150 150
151#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
152#define AST_PAUSE BUTTON_HOME
153#define AST_QUIT BUTTON_POWER
154#define AST_THRUST_REP (BUTTON_UP | BUTTON_REPEAT)
155#define AST_THRUST BUTTON_UP
156#define AST_HYPERSPACE BUTTON_DOWN
157#define AST_LEFT BUTTON_LEFT
158#define AST_LEFT_REP (BUTTON_LEFT | BUTTON_REPEAT)
159#define AST_RIGHT BUTTON_RIGHT
160#define AST_RIGHT_REP (BUTTON_RIGHT | BUTTON_REPEAT)
161#define AST_FIRE BUTTON_SELECT
162#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT)
163
151#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 164#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
152#define AST_PAUSE BUTTON_PLAY 165#define AST_PAUSE BUTTON_PLAY
153#define AST_QUIT BUTTON_POWER 166#define AST_QUIT BUTTON_POWER
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index f2bf2c4e5f..104a43301f 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -161,7 +161,7 @@ PLUGIN_HEADER
161#define STAR_MENU_RUN BUTTON_SELECT 161#define STAR_MENU_RUN BUTTON_SELECT
162 162
163#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 163#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
164(CONFIG_KEYPAD == SANSA_C200_PAD) 164(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
165 165
166#define STAR_QUIT BUTTON_POWER 166#define STAR_QUIT BUTTON_POWER
167#define STAR_LEFT BUTTON_LEFT 167#define STAR_LEFT BUTTON_LEFT
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 536213686a..6756539c98 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -60,7 +60,8 @@ static const struct plugin_api* rb; /* global api struct pointer */
60#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT 60#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
61#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT 61#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
62#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 62#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
63(CONFIG_KEYPAD == SANSA_C200_PAD) 63(CONFIG_KEYPAD == SANSA_C200_PAD) || \
64(CONFIG_KEYPAD == SANSA_CLIP_PAD)
64#define STARFIELD_QUIT BUTTON_POWER 65#define STARFIELD_QUIT BUTTON_POWER
65#define STARFIELD_INCREASE_ZMOVE BUTTON_UP 66#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
66#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN 67#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index d77f04408b..ca9499befb 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -56,7 +56,7 @@ static bool abort;
56#define STATS_STOP BUTTON_POWER 56#define STATS_STOP BUTTON_POWER
57 57
58#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 58#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
59(CONFIG_KEYPAD == SANSA_C200_PAD) 59(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
60#define STATS_STOP BUTTON_POWER 60#define STATS_STOP BUTTON_POWER
61 61
62#elif CONFIG_KEYPAD == IRIVER_H10_PAD 62#elif CONFIG_KEYPAD == IRIVER_H10_PAD
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index b78225488d..2803e52440 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -105,7 +105,7 @@ PLUGIN_HEADER
105#define STOPWATCH_SCROLL_UP BUTTON_UP 105#define STOPWATCH_SCROLL_UP BUTTON_UP
106#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 106#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
107#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 107#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
108(CONFIG_KEYPAD == SANSA_C200_PAD) 108(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
109#define STOPWATCH_QUIT BUTTON_POWER 109#define STOPWATCH_QUIT BUTTON_POWER
110#define STOPWATCH_START_STOP BUTTON_RIGHT 110#define STOPWATCH_START_STOP BUTTON_RIGHT
111#define STOPWATCH_RESET_TIMER BUTTON_LEFT 111#define STOPWATCH_RESET_TIMER BUTTON_LEFT
diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c
index 5e34fd404b..de90de360c 100644
--- a/apps/plugins/sudoku/sudoku.c
+++ b/apps/plugins/sudoku/sudoku.c
@@ -102,7 +102,7 @@ static const char default_game[9][9] =
102 102
103#if LCD_HEIGHT <= LCD_WIDTH /* Horizontal layout, scratchpad at the left */ 103#if LCD_HEIGHT <= LCD_WIDTH /* Horizontal layout, scratchpad at the left */
104 104
105#if (LCD_HEIGHT==64) && (LCD_WIDTH==112) 105#if (LCD_HEIGHT==64) && (LCD_WIDTH==112 || LCD_WIDTH==128)
106/* Archos Recorders and Ondios - 112x64, 9 cells @ 8x6 with 10 border lines */ 106/* Archos Recorders and Ondios - 112x64, 9 cells @ 8x6 with 10 border lines */
107 107
108/* Internal dimensions of a cell */ 108/* Internal dimensions of a cell */
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index b4f18b6341..c33a8ea9c4 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -148,6 +148,20 @@
148#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL) 148#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
149#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC 149#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
150 150
151#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
152#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
153#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
154#define SUDOKU_BUTTON_UP BUTTON_UP
155#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
156#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
157#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
158#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN
159#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP
160#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_SELECT
161#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER
162#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
163#define SUDOKU_BUTTON_POSSIBLE BUTTON_HOME
164
151#elif CONFIG_KEYPAD == MROBE500_PAD 165#elif CONFIG_KEYPAD == MROBE500_PAD
152#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER 166#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
153#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT) 167#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
diff --git a/apps/plugins/test_grey.c b/apps/plugins/test_grey.c
index 34167e44c3..1b65c34f4e 100644
--- a/apps/plugins/test_grey.c
+++ b/apps/plugins/test_grey.c
@@ -58,7 +58,8 @@ PLUGIN_HEADER
58#define GREY_DOWN BUTTON_DOWN 58#define GREY_DOWN BUTTON_DOWN
59 59
60#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ 60#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \
61 || (CONFIG_KEYPAD == MROBE100_PAD) 61 || (CONFIG_KEYPAD == MROBE100_PAD) \
62 || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
62#define GREY_QUIT BUTTON_POWER 63#define GREY_QUIT BUTTON_POWER
63#define GREY_OK BUTTON_SELECT 64#define GREY_OK BUTTON_SELECT
64#define GREY_PREV BUTTON_LEFT 65#define GREY_PREV BUTTON_LEFT
diff --git a/apps/plugins/test_scanrate.c b/apps/plugins/test_scanrate.c
index 6598b803e9..0c291261db 100644
--- a/apps/plugins/test_scanrate.c
+++ b/apps/plugins/test_scanrate.c
@@ -34,7 +34,8 @@ PLUGIN_HEADER
34#define SCANRATE_DEC BUTTON_LEFT 34#define SCANRATE_DEC BUTTON_LEFT
35 35
36#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ 36#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \
37 || (CONFIG_KEYPAD == MROBE100_PAD) 37 || (CONFIG_KEYPAD == MROBE100_PAD) \
38 || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
38#define SCANRATE_DONE BUTTON_POWER 39#define SCANRATE_DONE BUTTON_POWER
39#define SCANRATE_FASTINC BUTTON_UP 40#define SCANRATE_FASTINC BUTTON_UP
40#define SCANRATE_FASTDEC BUTTON_DOWN 41#define SCANRATE_FASTDEC BUTTON_DOWN
@@ -76,6 +77,8 @@ PLUGIN_HEADER
76#define DEFAULT_SCAN_RATE 870 77#define DEFAULT_SCAN_RATE 870
77#elif defined IRIVER_H100_SERIES 78#elif defined IRIVER_H100_SERIES
78#define DEFAULT_SCAN_RATE 700 79#define DEFAULT_SCAN_RATE 700
80#elif defined SANSA_CLIP
81#define DEFAULT_SCAN_RATE 780
79#else 82#else
80#define DEFAULT_SCAN_RATE 700 83#define DEFAULT_SCAN_RATE 700
81#warning Generic default scanrate 84#warning Generic default scanrate
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index e85a979bd5..b75059ffc0 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -197,6 +197,18 @@ PLUGIN_HEADER
197#define VIEWER_LINE_UP BUTTON_UP 197#define VIEWER_LINE_UP BUTTON_UP
198#define VIEWER_LINE_DOWN BUTTON_DOWN 198#define VIEWER_LINE_DOWN BUTTON_DOWN
199 199
200/* Sansa Clip keys */
201#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
202#define VIEWER_QUIT BUTTON_POWER
203#define VIEWER_PAGE_UP BUTTON_VOL_UP
204#define VIEWER_PAGE_DOWN BUTTON_VOL_DOWN
205#define VIEWER_SCREEN_LEFT BUTTON_LEFT
206#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
207#define VIEWER_MENU BUTTON_SELECT
208#define VIEWER_AUTOSCROLL BUTTON_HOME
209#define VIEWER_LINE_UP BUTTON_UP
210#define VIEWER_LINE_DOWN BUTTON_DOWN
211
200/* iriver H10 keys */ 212/* iriver H10 keys */
201#elif CONFIG_KEYPAD == IRIVER_H10_PAD 213#elif CONFIG_KEYPAD == IRIVER_H10_PAD
202#define VIEWER_QUIT BUTTON_POWER 214#define VIEWER_QUIT BUTTON_POWER
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index f07eb098a3..65556ab2ec 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -137,6 +137,19 @@ PLUGIN_HEADER
137#define LABEL_MENU "SELECT" 137#define LABEL_MENU "SELECT"
138#define LABEL_VOLUME "VOL UP/DN" 138#define LABEL_VOLUME "VOL UP/DN"
139 139
140#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
141#define VUMETER_QUIT BUTTON_POWER
142#define VUMETER_HELP BUTTON_HOME
143#define VUMETER_MENU BUTTON_SELECT
144#define VUMETER_MENU_EXIT BUTTON_SELECT
145#define VUMETER_MENU_EXIT2 BUTTON_POWER
146#define VUMETER_UP BUTTON_VOL_UP
147#define VUMETER_DOWN BUTTON_VOL_DOWN
148#define LABEL_HELP "HOME"
149#define LABEL_QUIT "POWER"
150#define LABEL_MENU "SELECT"
151#define LABEL_VOLUME "VOL UP/DN"
152
140#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 153#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
141#define VUMETER_QUIT BUTTON_POWER 154#define VUMETER_QUIT BUTTON_POWER
142#define VUMETER_HELP BUTTON_PLAY 155#define VUMETER_HELP BUTTON_PLAY
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 5411d0cb68..91f8f05c53 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -165,6 +165,20 @@ PLUGIN_HEADER
165#define WORMS_TEXT "Left/Right" 165#define WORMS_TEXT "Left/Right"
166 166
167 167
168#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
169
170#define BTN_DIR_UP BUTTON_UP
171#define BTN_DIR_DOWN BUTTON_DOWN
172#define BTN_DIR_LEFT BUTTON_LEFT
173#define BTN_DIR_RIGHT BUTTON_RIGHT
174#define BTN_STARTPAUSE BUTTON_SELECT
175#define BTN_QUIT BUTTON_POWER
176#define BTN_STOPRESET BUTTON_HOME
177
178#define PLAYERS_TEXT "Up/Down"
179#define WORMS_TEXT "Left/Right"
180
181
168#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 182#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
169 183
170#define BTN_DIR_UP BUTTON_SCROLL_UP 184#define BTN_DIR_UP BUTTON_SCROLL_UP
@@ -262,6 +276,11 @@ PLUGIN_HEADER
262#define ARGH_SIZE 4 276#define ARGH_SIZE 4
263#define SPEED 14 277#define SPEED 14
264#define MAX_WORM_SEGMENTS 128 278#define MAX_WORM_SEGMENTS 128
279#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
280#define FOOD_SIZE 3
281#define ARGH_SIZE 4
282#define SPEED 14
283#define MAX_WORM_SEGMENTS 128
265#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) 284#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
266#define FOOD_SIZE 3 285#define FOOD_SIZE 3
267#define ARGH_SIZE 4 286#define ARGH_SIZE 4
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index d345c4404f..df6bb7d871 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -87,6 +87,16 @@ PLUGIN_HEADER
87#define PAUSE BUTTON_REC 87#define PAUSE BUTTON_REC
88 88
89 89
90#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
91
92#define QUIT BUTTON_POWER
93#define LEFT BUTTON_LEFT
94#define RIGHT BUTTON_RIGHT
95#define UP BUTTON_UP
96#define DOWN BUTTON_DOWN
97#define PAUSE BUTTON_HOME
98
99
90#elif CONFIG_KEYPAD == IRIVER_H10_PAD 100#elif CONFIG_KEYPAD == IRIVER_H10_PAD
91 101
92#define QUIT BUTTON_POWER 102#define QUIT BUTTON_POWER
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index fec6e38d27..ae04649c72 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -87,7 +87,7 @@
87#define ZX_DOWN BUTTON_SCROLL_DOWN 87#define ZX_DOWN BUTTON_SCROLL_DOWN
88 88
89#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 89#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
90(CONFIG_KEYPAD == SANSA_C200_PAD) 90(CONFIG_KEYPAD == SANSA_C200_PAD) || (CONFIG_KEYPAD == SANSA_CLIP_PAD)
91#define ZX_SELECT BUTTON_SELECT 91#define ZX_SELECT BUTTON_SELECT
92#define ZX_MENU BUTTON_POWER 92#define ZX_MENU BUTTON_POWER
93#define ZX_LEFT BUTTON_LEFT 93#define ZX_LEFT BUTTON_LEFT
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index 1e9ee10bb5..920cf8ce06 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -112,6 +112,7 @@
112 112
113#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 113#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
114(CONFIG_KEYPAD == SANSA_C200_PAD) || \ 114(CONFIG_KEYPAD == SANSA_C200_PAD) || \
115(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
115(CONFIG_KEYPAD == MROBE100_PAD) 116(CONFIG_KEYPAD == MROBE100_PAD)
116 117
117/* TODO: Check keyboard mappings */ 118/* TODO: Check keyboard mappings */