summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/SOURCES14
-rw-r--r--apps/plugins/SUBDIRS6
-rw-r--r--apps/plugins/battery_bench.c3
-rw-r--r--apps/plugins/bitmaps/native/SOURCES16
-rwxr-xr-xapps/plugins/bitmaps/native/clock_binary.132x80x16.bmpbin0 -> 2854 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_digits.132x80x16.bmpbin0 -> 14406 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_logo.132x80x16.bmpbin0 -> 26190 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_messages.132x80x16.bmpbin0 -> 33318 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_segments.132x80x16.bmpbin0 -> 14406 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmpbin0 -> 4786 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmpbin0 -> 4786 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/jewels.132x80x16.bmpbin0 -> 7414 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/rockblox_background.132x80x16.bmpbin0 -> 31734 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmpbin0 -> 2358 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmpbin0 -> 3894 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/sudoku_start.132x80x16.bmpbin0 -> 3894 bytes
-rw-r--r--apps/plugins/blackjack.c15
-rw-r--r--apps/plugins/bounce.c6
-rw-r--r--apps/plugins/calculator.c15
-rw-r--r--apps/plugins/chessclock.c3
-rw-r--r--apps/plugins/chip8.c8
-rw-r--r--apps/plugins/chopper.c3
-rw-r--r--apps/plugins/cube.c15
-rw-r--r--apps/plugins/dict.c3
-rw-r--r--apps/plugins/disktidy.c3
-rw-r--r--apps/plugins/doom/i_video.c10
-rw-r--r--apps/plugins/fire.c3
-rw-r--r--apps/plugins/fireworks.c3
-rw-r--r--apps/plugins/jewels.c13
-rw-r--r--apps/plugins/jpeg.c15
-rw-r--r--apps/plugins/lib/pluginlib_actions.h15
-rw-r--r--apps/plugins/logo.c3
-rw-r--r--apps/plugins/mandelbrot.c12
-rw-r--r--apps/plugins/maze.c3
-rw-r--r--apps/plugins/mazezam.c3
-rw-r--r--apps/plugins/midiplay.c3
-rw-r--r--apps/plugins/mosaique.c3
-rw-r--r--apps/plugins/mp3_encoder.c3
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c7
-rw-r--r--apps/plugins/oscilloscope.c11
-rw-r--r--apps/plugins/plasma.c6
-rw-r--r--apps/plugins/pong.c3
-rw-r--r--apps/plugins/reversi/reversi-gui.c8
-rw-r--r--apps/plugins/reversi/reversi-gui.h3
-rw-r--r--apps/plugins/rockblox.c25
-rw-r--r--apps/plugins/rockpaint.c3
-rw-r--r--apps/plugins/sliding_puzzle.c3
-rw-r--r--apps/plugins/snake.c3
-rw-r--r--apps/plugins/snake2.c3
-rw-r--r--apps/plugins/snow.c3
-rw-r--r--apps/plugins/solitaire.c19
-rw-r--r--apps/plugins/spacerocks.c13
-rw-r--r--apps/plugins/star.c3
-rw-r--r--apps/plugins/starfield.c3
-rw-r--r--apps/plugins/stats.c3
-rw-r--r--apps/plugins/stopwatch.c7
-rw-r--r--apps/plugins/sudoku/sudoku.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h14
-rw-r--r--apps/plugins/viewer.c12
-rw-r--r--apps/plugins/vu_meter.c9
-rw-r--r--apps/plugins/wormlet.c8
-rw-r--r--apps/plugins/xobox.c3
-rw-r--r--apps/plugins/zxbox/keymaps.h3
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c3
64 files changed, 337 insertions, 48 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index 31d94d5811..8479cd8b9b 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -34,7 +34,9 @@ wavrecord.c
34#ifndef IRIVER_IFP7XX_SERIES /* Temporarily disable plugins for iFP7xx */ 34#ifndef IRIVER_IFP7XX_SERIES /* Temporarily disable plugins for iFP7xx */
35dice.c 35dice.c
36disktidy.c 36disktidy.c
37#ifndef SANSA_C200
37flipit.c 38flipit.c
39#endif
38 40
39#ifdef HAVE_LCD_BITMAP /* Not for the Player */ 41#ifdef HAVE_LCD_BITMAP /* Not for the Player */
40maze.c 42maze.c
@@ -50,14 +52,16 @@ plasma.c
50 52
51blackjack.c 53blackjack.c
52bounce.c 54bounce.c
55#ifndef SANSA_C200
53bubbles.c 56bubbles.c
57#endif
54 58
55#if (LCD_DEPTH >= 2) && !defined(IPOD_MINI) && !defined(IPOD_MINI2G) && !defined(IRIVER_H10_5GB) 59#if (LCD_WIDTH >= 160)
56invadrox.c 60invadrox.c
57#endif 61#endif
58 62
59#if LCD_WIDTH != 128 63#if LCD_WIDTH != 128 && !defined SANSA_C200
60/* These need adjusting for the iRiver if'p screen */ 64/* These need adjusting for the iRiver if'p and Sansa c200, small H10 screen */
61brickmania.c 65brickmania.c
62#endif 66#endif
63calculator.c 67calculator.c
@@ -65,14 +69,18 @@ chip8.c
65chopper.c 69chopper.c
66demystify.c 70demystify.c
67jewels.c 71jewels.c
72#ifndef SANSA_C200
68minesweeper.c 73minesweeper.c
74#endif
69oscilloscope.c 75oscilloscope.c
70pong.c 76pong.c
71sliding_puzzle.c 77sliding_puzzle.c
72snake.c 78snake.c
73snake2.c 79snake2.c
74solitaire.c 80solitaire.c
81#ifndef SANSA_C200
75sokoban.c 82sokoban.c
83#endif
76star.c 84star.c
77starfield.c 85starfield.c
78#if CONFIG_LCD == LCD_SSD1815 86#if CONFIG_LCD == LCD_SSD1815
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index 11643a5b2f..f537fb8965 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -16,7 +16,9 @@ rockboy
16 16
17/* For all targets with a bitmap display */ 17/* For all targets with a bitmap display */
18#ifdef HAVE_LCD_BITMAP 18#ifdef HAVE_LCD_BITMAP
19#ifndef SANSA_C200
19chessbox 20chessbox
21#endif
20sudoku 22sudoku
21reversi 23reversi
22#endif 24#endif
@@ -27,8 +29,8 @@ zxbox
27#endif 29#endif
28 30
29/* For all the colour targets, iriver H1x0 and iAudio M5 */ 31/* For all the colour targets, iriver H1x0 and iAudio M5 */
30#if defined(HAVE_LCD_COLOR) || defined(IRIVER_H100_SERIES) \ 32#if defined(HAVE_LCD_COLOR) && !defined (SANSA_C200)\
31 || defined(IAUDIO_M5) 33 || defined(IRIVER_H100_SERIES) || defined(IAUDIO_M5)
32pacbox 34pacbox
33#endif 35#endif
34 36
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index 85377e22a9..43bfc7255f 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -80,7 +80,8 @@ PLUGIN_HEADER
80#define BATTERY_ON BUTTON_SELECT 80#define BATTERY_ON BUTTON_SELECT
81#define BATTERY_OFF BUTTON_PLAY 81#define BATTERY_OFF BUTTON_PLAY
82 82
83#elif CONFIG_KEYPAD == SANSA_E200_PAD 83#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
84(CONFIG_KEYPAD == SANSA_C200_PAD)
84#define BATTERY_ON BUTTON_SELECT 85#define BATTERY_ON BUTTON_SELECT
85#define BATTERY_OFF BUTTON_POWER 86#define BATTERY_OFF BUTTON_POWER
86 87
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 93939c95f7..55ad8392c3 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -167,6 +167,14 @@ clock_segments.138x110x2.bmp
167clock_smallsegments.160x128x2.bmp 167clock_smallsegments.160x128x2.bmp
168clock_logo.138x110x2.bmp 168clock_logo.138x110x2.bmp
169clock_messages.138x110x2.bmp 169clock_messages.138x110x2.bmp
170#elif (LCD_WIDTH >= 132) && (LCD_HEIGHT >= 80) && (LCD_DEPTH >= 16)
171clock_binary.132x80x16.bmp
172clock_digits.132x80x16.bmp
173clock_smalldigits.132x80x16.bmp
174clock_segments.132x80x16.bmp
175clock_smallsegments.132x80x16.bmp
176clock_logo.132x80x16.bmp
177clock_messages.132x80x16.bmp
170#elif (LCD_WIDTH >= 112) && (LCD_HEIGHT >= 64) && (LCD_DEPTH >= 1) 178#elif (LCD_WIDTH >= 112) && (LCD_HEIGHT >= 64) && (LCD_DEPTH >= 1)
171clock_binary.112x64x1.bmp 179clock_binary.112x64x1.bmp
172clock_digits.112x64x1.bmp 180clock_digits.112x64x1.bmp
@@ -237,6 +245,8 @@ jewels.112x64x1.bmp
237jewels.112x64x1.bmp 245jewels.112x64x1.bmp
238#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) 246#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128)
239jewels.128x128x16.bmp 247jewels.128x128x16.bmp
248#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
249jewels.132x80x16.bmp
240#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) 250#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
241jewels.138x110x2.bmp 251jewels.138x110x2.bmp
242#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && !defined(HAVE_LCD_COLOR) 252#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && !defined(HAVE_LCD_COLOR)
@@ -283,6 +293,8 @@ rockblox_background.176x220x16.bmp
283rockblox_background.160x128x16.bmp 293rockblox_background.160x128x16.bmp
284#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 16) 294#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 16)
285rockblox_background.128x128x16.bmp 295rockblox_background.128x128x16.bmp
296#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) && (LCD_DEPTH == 16)
297rockblox_background.132x80x16.bmp
286#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 2) 298#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 2)
287rockblox_background.160x128x2.bmp 299rockblox_background.160x128x2.bmp
288#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) && (LCD_DEPTH == 2) 300#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) && (LCD_DEPTH == 2)
@@ -426,6 +438,10 @@ sudoku_inverse.112x64x1.bmp
426sudoku_start.138x110x2.bmp 438sudoku_start.138x110x2.bmp
427sudoku_normal.138x110x2.bmp 439sudoku_normal.138x110x2.bmp
428sudoku_inverse.138x110x2.bmp 440sudoku_inverse.138x110x2.bmp
441#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80) && (LCD_DEPTH >= 16)
442sudoku_start.132x80x16.bmp
443sudoku_normal.132x80x16.bmp
444sudoku_inverse.132x80x16.bmp
429#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 16) 445#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 16)
430sudoku_start.128x128x16.bmp 446sudoku_start.128x128x16.bmp
431sudoku_normal.128x128x16.bmp 447sudoku_normal.128x128x16.bmp
diff --git a/apps/plugins/bitmaps/native/clock_binary.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_binary.132x80x16.bmp
new file mode 100755
index 0000000000..fcf7097f8a
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_binary.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_digits.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_digits.132x80x16.bmp
new file mode 100755
index 0000000000..eff4c370a8
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_digits.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_logo.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_logo.132x80x16.bmp
new file mode 100755
index 0000000000..b3d620954e
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_logo.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_messages.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_messages.132x80x16.bmp
new file mode 100755
index 0000000000..e8a25d5bf5
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_messages.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_segments.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_segments.132x80x16.bmp
new file mode 100755
index 0000000000..0b9d436e1c
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_segments.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmp
new file mode 100755
index 0000000000..e82dbe8727
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_smalldigits.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmp b/apps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmp
new file mode 100755
index 0000000000..e4bd944865
--- /dev/null
+++ b/apps/plugins/bitmaps/native/clock_smallsegments.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/jewels.132x80x16.bmp b/apps/plugins/bitmaps/native/jewels.132x80x16.bmp
new file mode 100755
index 0000000000..c6c8e04eba
--- /dev/null
+++ b/apps/plugins/bitmaps/native/jewels.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/rockblox_background.132x80x16.bmp b/apps/plugins/bitmaps/native/rockblox_background.132x80x16.bmp
new file mode 100755
index 0000000000..d4d720f088
--- /dev/null
+++ b/apps/plugins/bitmaps/native/rockblox_background.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmp b/apps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmp
new file mode 100755
index 0000000000..491593c3a0
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_inverse.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmp b/apps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmp
new file mode 100755
index 0000000000..ff2a824464
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_normal.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sudoku_start.132x80x16.bmp b/apps/plugins/bitmaps/native/sudoku_start.132x80x16.bmp
new file mode 100755
index 0000000000..ab6e978e0b
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sudoku_start.132x80x16.bmp
Binary files differ
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index c4b424143d..2ece48d75d 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -173,6 +173,21 @@ PLUGIN_HEADER
173#define BJACK_RIGHT BUTTON_RIGHT 173#define BJACK_RIGHT BUTTON_RIGHT
174#define BJACK_LEFT BUTTON_LEFT 174#define BJACK_LEFT BUTTON_LEFT
175 175
176#elif CONFIG_KEYPAD == SANSA_C200_PAD
177#define BJACK_START BUTTON_SELECT
178#define BJACK_QUIT BUTTON_POWER
179#define BJACK_MAX (BUTTON_REC|BUTTON_UP)
180#define BJACK_MIN (BUTTON_REC|BUTTON_VOL_DOWN)
181#define BJACK_HIT BUTTON_SELECT
182#define BJACK_STAY BUTTON_RIGHT
183#define BJACK_DOUBLEDOWN BUTTON_LEFT
184#define BJACK_SCORES BUTTON_VOL_UP
185#define BJACK_RESUME BUTTON_REC
186#define BJACK_UP BUTTON_UP
187#define BJACK_DOWN BUTTON_DOWN
188#define BJACK_RIGHT BUTTON_RIGHT
189#define BJACK_LEFT BUTTON_LEFT
190
176#elif CONFIG_KEYPAD == ELIO_TPJ1022_PAD 191#elif CONFIG_KEYPAD == ELIO_TPJ1022_PAD
177#define BJACK_START BUTTON_MAIN 192#define BJACK_START BUTTON_MAIN
178#define BJACK_QUIT BUTTON_POWER 193#define BJACK_QUIT BUTTON_POWER
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index eac6933815..9373050292 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -82,6 +82,12 @@ PLUGIN_HEADER
82#define BOUNCE_QUIT BUTTON_POWER 82#define BOUNCE_QUIT BUTTON_POWER
83#define BOUNCE_MODE BUTTON_SELECT 83#define BOUNCE_MODE BUTTON_SELECT
84 84
85#elif CONFIG_KEYPAD == SANSA_C200_PAD
86#define BOUNCE_UP BUTTON_UP
87#define BOUNCE_DOWN BUTTON_DOWN
88#define BOUNCE_QUIT BUTTON_POWER
89#define BOUNCE_MODE BUTTON_SELECT
90
85#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 91#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
86#define BOUNCE_UP BUTTON_SCROLL_UP 92#define BOUNCE_UP BUTTON_SCROLL_UP
87#define BOUNCE_DOWN BUTTON_SCROLL_DOWN 93#define BOUNCE_DOWN BUTTON_SCROLL_DOWN
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index e16f58a412..103ce50a07 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -176,14 +176,15 @@ PLUGIN_HEADER
176#define CALCULATOR_CALC BUTTON_SELECT 176#define CALCULATOR_CALC BUTTON_SELECT
177#define CALCULATOR_CLEAR BUTTON_A 177#define CALCULATOR_CLEAR BUTTON_A
178 178
179#elif CONFIG_KEYPAD == SANSA_E200_PAD 179#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
180#define CALCULATOR_UP BUTTON_UP 180(CONFIG_KEYPAD == SANSA_C200_PAD)
181#define CALCULATOR_DOWN BUTTON_DOWN 181#define CALCULATOR_UP BUTTON_UP
182#define CALCULATOR_QUIT BUTTON_POWER 182#define CALCULATOR_DOWN BUTTON_DOWN
183#define CALCULATOR_QUIT BUTTON_POWER
183#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT 184#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
184#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL) 185#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL)
185#define CALCULATOR_CALC BUTTON_SELECT 186#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT)
186#define CALCULATOR_CLEAR BUTTON_REC 187#define CALCULATOR_CLEAR BUTTON_REC
187 188
188#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 189#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
189 190
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 73c49767f9..56d2709bb7 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -119,7 +119,8 @@ PLUGIN_HEADER
119#define CHC_SETTINGS_OK BUTTON_SELECT 119#define CHC_SETTINGS_OK BUTTON_SELECT
120#define CHC_SETTINGS_CANCEL BUTTON_POWER 120#define CHC_SETTINGS_CANCEL BUTTON_POWER
121 121
122#elif CONFIG_KEYPAD == SANSA_E200_PAD 122#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
123(CONFIG_KEYPAD == SANSA_C200_PAD)
123#define CHC_QUIT BUTTON_POWER 124#define CHC_QUIT BUTTON_POWER
124#define CHC_STARTSTOP BUTTON_SELECT 125#define CHC_STARTSTOP BUTTON_SELECT
125#define CHC_RESET BUTTON_DOWN 126#define CHC_RESET BUTTON_DOWN
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 0b06ace784..ae6e3bfd29 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1028,6 +1028,14 @@ STATIC void chip8 (void)
1028#define CHIP8_KEY6 BUTTON_RIGHT 1028#define CHIP8_KEY6 BUTTON_RIGHT
1029#define CHIP8_KEY8 BUTTON_SCROLL_DOWN 1029#define CHIP8_KEY8 BUTTON_SCROLL_DOWN
1030 1030
1031#elif CONFIG_KEYPAD == SANSA_C200_PAD
1032#define CHIP8_OFF BUTTON_POWER
1033#define CHIP8_KEY2 BUTTON_VOL_UP
1034#define CHIP8_KEY4 BUTTON_LEFT
1035#define CHIP8_KEY5 BUTTON_SELECT
1036#define CHIP8_KEY6 BUTTON_RIGHT
1037#define CHIP8_KEY8 BUTTON_VOL_DOWN
1038
1031#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 1039#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
1032#define CHIP8_OFF BUTTON_POWER 1040#define CHIP8_OFF BUTTON_POWER
1033#define CHIP8_KEY2 BUTTON_SCROLL_UP 1041#define CHIP8_KEY2 BUTTON_SCROLL_UP
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 5e27a5e6e7..46acf2c74e 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -64,7 +64,8 @@ Still To do:
64#define ACTION BUTTON_RIGHT 64#define ACTION BUTTON_RIGHT
65#define ACTIONTEXT "RIGHT" 65#define ACTIONTEXT "RIGHT"
66 66
67#elif CONFIG_KEYPAD == SANSA_E200_PAD 67#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
68(CONFIG_KEYPAD == SANSA_C200_PAD)
68#define QUIT BUTTON_POWER 69#define QUIT BUTTON_POWER
69#define ACTION BUTTON_SELECT 70#define ACTION BUTTON_SELECT
70#define ACTIONTEXT "SELECT" 71#define ACTIONTEXT "SELECT"
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index f5158e9b7a..3294b37fab 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -163,6 +163,21 @@ PLUGIN_HEADER
163#define CUBE_PAUSE (BUTTON_SELECT|BUTTON_REL) 163#define CUBE_PAUSE (BUTTON_SELECT|BUTTON_REL)
164#define CUBE_HIGHSPEED BUTTON_REC 164#define CUBE_HIGHSPEED BUTTON_REC
165 165
166#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
167#define CUBE_QUIT BUTTON_POWER
168#define CUBE_X_INC BUTTON_LEFT
169#define CUBE_X_DEC BUTTON_RIGHT
170#define CUBE_Y_INC BUTTON_VOL_UP
171#define CUBE_Y_DEC BUTTON_VOL_DOWN
172#define CUBE_Z_INC BUTTON_UP
173#define CUBE_Z_DEC BUTTON_DOWN
174#define CUBE_MODE_PRE BUTTON_SELECT
175#define CUBE_MODE (BUTTON_SELECT|BUTTON_REPEAT)
176#define CUBE_PAUSE_PRE BUTTON_SELECT
177#define CUBE_PAUSE (BUTTON_SELECT|BUTTON_REL)
178#define CUBE_HIGHSPEED BUTTON_REC
179
180
166#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 181#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
167#define CUBE_QUIT BUTTON_POWER 182#define CUBE_QUIT BUTTON_POWER
168#define CUBE_X_INC BUTTON_LEFT 183#define CUBE_X_INC BUTTON_LEFT
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 32793cbc9f..257a0c6147 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -114,7 +114,8 @@ long reverse (long N) {
114#define LP_QUIT BUTTON_POWER 114#define LP_QUIT BUTTON_POWER
115#elif CONFIG_KEYPAD == GIGABEAT_PAD 115#elif CONFIG_KEYPAD == GIGABEAT_PAD
116#define LP_QUIT BUTTON_POWER 116#define LP_QUIT BUTTON_POWER
117#elif CONFIG_KEYPAD == SANSA_E200_PAD 117#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
118(CONFIG_KEYPAD == SANSA_C200_PAD)
118#define LP_QUIT BUTTON_POWER 119#define LP_QUIT BUTTON_POWER
119#elif CONFIG_KEYPAD == IRIVER_H10_PAD 120#elif CONFIG_KEYPAD == IRIVER_H10_PAD
120#define LP_QUIT BUTTON_POWER 121#define LP_QUIT BUTTON_POWER
diff --git a/apps/plugins/disktidy.c b/apps/plugins/disktidy.c
index aba78afb3e..a1c51d762a 100644
--- a/apps/plugins/disktidy.c
+++ b/apps/plugins/disktidy.c
@@ -66,7 +66,8 @@ enum tidy_system
66#elif CONFIG_KEYPAD == GIGABEAT_PAD 66#elif CONFIG_KEYPAD == GIGABEAT_PAD
67#define TIDY_STOP BUTTON_POWER 67#define TIDY_STOP BUTTON_POWER
68 68
69#elif CONFIG_KEYPAD == SANSA_E200_PAD 69#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
70(CONFIG_KEYPAD == SANSA_C200_PAD)
70#define TIDY_STOP BUTTON_POWER 71#define TIDY_STOP BUTTON_POWER
71 72
72#elif CONFIG_KEYPAD == IRIVER_H10_PAD 73#elif CONFIG_KEYPAD == IRIVER_H10_PAD
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 24079a0f71..32990f3923 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -192,6 +192,16 @@ void I_ShutdownGraphics(void)
192#define DOOMBUTTON_ESC BUTTON_POWER 192#define DOOMBUTTON_ESC BUTTON_POWER
193#define DOOMBUTTON_ENTER BUTTON_SELECT 193#define DOOMBUTTON_ENTER BUTTON_SELECT
194#define DOOMBUTTON_WEAPON DOOMBUTTON_SCROLLWHEEL_CW 194#define DOOMBUTTON_WEAPON DOOMBUTTON_SCROLLWHEEL_CW
195#elif CONFIG_KEYPAD == SANSA_C200_PAD
196#define DOOMBUTTON_UP BUTTON_UP
197#define DOOMBUTTON_DOWN BUTTON_DOWN
198#define DOOMBUTTON_LEFT BUTTON_LEFT
199#define DOOMBUTTON_RIGHT BUTTON_RIGHT
200#define DOOMBUTTON_SHOOT BUTTON_SELECT
201#define DOOMBUTTON_OPEN BUTTON_REC
202#define DOOMBUTTON_ESC BUTTON_POWER
203#define DOOMBUTTON_ENTER BUTTON_SELECT
204#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
195#elif CONFIG_KEYPAD == GIGABEAT_PAD 205#elif CONFIG_KEYPAD == GIGABEAT_PAD
196#define DOOMBUTTON_UP BUTTON_UP 206#define DOOMBUTTON_UP BUTTON_UP
197#define DOOMBUTTON_DOWN BUTTON_DOWN 207#define DOOMBUTTON_DOWN BUTTON_DOWN
diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c
index 5d6f0618a7..7b8a104ec0 100644
--- a/apps/plugins/fire.c
+++ b/apps/plugins/fire.c
@@ -96,7 +96,8 @@ static unsigned char draw_buffer[8*LCD_WIDTH];
96#define FIRE_INCREASE_MULT BUTTON_UP 96#define FIRE_INCREASE_MULT BUTTON_UP
97#define FIRE_DECREASE_MULT BUTTON_DOWN 97#define FIRE_DECREASE_MULT BUTTON_DOWN
98 98
99#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 99#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
100(CONFIG_KEYPAD == SANSA_C200_PAD)
100#define FIRE_QUIT BUTTON_POWER 101#define FIRE_QUIT BUTTON_POWER
101#define FIRE_SWITCH_FLAMES_TYPE BUTTON_LEFT 102#define FIRE_SWITCH_FLAMES_TYPE BUTTON_LEFT
102#define FIRE_SWITCH_FLAMES_MOVING BUTTON_RIGHT 103#define FIRE_SWITCH_FLAMES_MOVING BUTTON_RIGHT
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index e8439dff15..bedf82ffda 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -57,7 +57,8 @@ static struct plugin_api* rb;
57#elif (CONFIG_KEYPAD == GIGABEAT_PAD) 57#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
58#define BTN_MENU BUTTON_MENU 58#define BTN_MENU BUTTON_MENU
59#define BTN_FIRE BUTTON_SELECT 59#define BTN_FIRE BUTTON_SELECT
60#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 60#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
61(CONFIG_KEYPAD == SANSA_C200_PAD)
61#define BTN_MENU BUTTON_POWER 62#define BTN_MENU BUTTON_POWER
62#define BTN_FIRE BUTTON_SELECT 63#define BTN_FIRE BUTTON_SELECT
63#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 64#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index cb4ab88048..dde53a0933 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -95,7 +95,8 @@ PLUGIN_HEADER
95#define JEWELS_SELECT BUTTON_SELECT 95#define JEWELS_SELECT BUTTON_SELECT
96#define JEWELS_CANCEL BUTTON_POWER 96#define JEWELS_CANCEL BUTTON_POWER
97 97
98#elif CONFIG_KEYPAD == SANSA_E200_PAD 98#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
99(CONFIG_KEYPAD == SANSA_C200_PAD)
99#define JEWELS_UP BUTTON_UP 100#define JEWELS_UP BUTTON_UP
100#define JEWELS_DOWN BUTTON_DOWN 101#define JEWELS_DOWN BUTTON_DOWN
101#define JEWELS_LEFT BUTTON_LEFT 102#define JEWELS_LEFT BUTTON_LEFT
@@ -159,6 +160,13 @@ PLUGIN_HEADER
159#define YOFS 6 160#define YOFS 6
160#define NUM_SCORES 10 161#define NUM_SCORES 10
161 162
163+/* use 10x10 tiles (Sansa c200) */
164#elif (LCD_HEIGHT == 80) && (LCD_WIDTH == 132)
165#define TILE_WIDTH 10
166#define TILE_HEIGHT 10
167#define YOFS 0
168#define NUM_SCORES 8
169
162/* use 10x8 tiles (iFP 700) */ 170/* use 10x8 tiles (iFP 700) */
163#elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 128) 171#elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 128)
164#define TILE_WIDTH 10 172#define TILE_WIDTH 10
@@ -1480,7 +1488,8 @@ static int jewels_main(struct game_context* bj) {
1480 rb->lcd_puts(0, 9, "SELECT to select"); 1488 rb->lcd_puts(0, 9, "SELECT to select");
1481 rb->lcd_puts(0, 10, "Long SELECT to show menu"); 1489 rb->lcd_puts(0, 10, "Long SELECT to show menu");
1482 rb->lcd_puts(0, 11, "POWER to cancel"); 1490 rb->lcd_puts(0, 11, "POWER to cancel");
1483#elif CONFIG_KEYPAD == SANSA_E200_PAD 1491#elif CONFIG_KEYPAD == SANSA_E200_PAD \
1492 || CONFIG_KEYPAD == SANSA_C200_PAD
1484 rb->lcd_puts(0, 2, "Swap pairs of jewels to"); 1493 rb->lcd_puts(0, 2, "Swap pairs of jewels to");
1485 rb->lcd_puts(0, 3, "form connected segments"); 1494 rb->lcd_puts(0, 3, "form connected segments");
1486 rb->lcd_puts(0, 4, "of three or more of the"); 1495 rb->lcd_puts(0, 4, "of three or more of the");
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index 2c8942f8bc..09f7455f8b 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -142,6 +142,21 @@ PLUGIN_HEADER
142#define JPEG_PREVIOUS BUTTON_SCROLL_UP 142#define JPEG_PREVIOUS BUTTON_SCROLL_UP
143#define JPEG_PREVIOUS_REPEAT (BUTTON_SCROLL_UP|BUTTON_REPEAT) 143#define JPEG_PREVIOUS_REPEAT (BUTTON_SCROLL_UP|BUTTON_REPEAT)
144 144
145#elif CONFIG_KEYPAD == SANSA_C200_PAD
146#define JPEG_ZOOM_PRE BUTTON_SELECT
147#define JPEG_ZOOM_IN (BUTTON_SELECT | BUTTON_REL)
148#define JPEG_ZOOM_OUT (BUTTON_SELECT | BUTTON_REPEAT)
149#define JPEG_UP BUTTON_UP
150#define JPEG_DOWN BUTTON_DOWN
151#define JPEG_LEFT BUTTON_LEFT
152#define JPEG_RIGHT BUTTON_RIGHT
153#define JPEG_MENU BUTTON_POWER
154#define JPEG_SLIDE_SHOW BUTTON_REC
155#define JPEG_NEXT BUTTON_VOL_UP
156#define JPEG_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
157#define JPEG_PREVIOUS BUTTON_VOL_DOWN
158#define JPEG_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
159
145#elif CONFIG_KEYPAD == IRIVER_H10_PAD 160#elif CONFIG_KEYPAD == IRIVER_H10_PAD
146#define JPEG_ZOOM_PRE BUTTON_PLAY 161#define JPEG_ZOOM_PRE BUTTON_PLAY
147#define JPEG_ZOOM_IN (BUTTON_PLAY | BUTTON_REL) 162#define JPEG_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
diff --git a/apps/plugins/lib/pluginlib_actions.h b/apps/plugins/lib/pluginlib_actions.h
index c38745a4f1..7b2b0a42e2 100644
--- a/apps/plugins/lib/pluginlib_actions.h
+++ b/apps/plugins/lib/pluginlib_actions.h
@@ -94,7 +94,8 @@ static const struct button_mapping generic_directions[] =
94 || (CONFIG_KEYPAD == GIGABEAT_PAD) \ 94 || (CONFIG_KEYPAD == GIGABEAT_PAD) \
95 || (CONFIG_KEYPAD == RECORDER_PAD) \ 95 || (CONFIG_KEYPAD == RECORDER_PAD) \
96 || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \ 96 || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \
97 || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) 97 || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \
98 || (CONFIG_KEYPAD == SANSA_C200_PAD)
98 { PLA_UP, BUTTON_UP, BUTTON_NONE}, 99 { PLA_UP, BUTTON_UP, BUTTON_NONE},
99 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, 100 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE},
100 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 101 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
@@ -142,6 +143,7 @@ static const struct button_mapping generic_directions[] =
142 { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, 143 { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
143 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, 144 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
144 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, 145 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
146
145#else 147#else
146 #error pluginlib_actions: Unsupported keypad 148 #error pluginlib_actions: Unsupported keypad
147#endif 149#endif
@@ -191,14 +193,15 @@ static const struct button_mapping generic_left_right_fire[] =
191 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, 193 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
192 { PLA_FIRE, BUTTON_PLAY, BUTTON_NONE}, 194 { PLA_FIRE, BUTTON_PLAY, BUTTON_NONE},
193 { PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, 195 { PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
194#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD 196#elif (CONFIG_KEYPAD == SANSA_C200_PAD) \
197 || (CONFIG_KEYPAD == ARCHOS_AV300_PAD)
195 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 198 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
196 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, 199 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
197 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, 200 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
198 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, 201 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
199 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 202 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
200 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE}, 203 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
201#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 204#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
202 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 205 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
203 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, 206 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
204 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, 207 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
@@ -285,6 +288,12 @@ static const struct button_mapping generic_actions[] =
285 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, 288 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE},
286 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 289 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
287 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 290 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
291#elif CONFIG_KEYPAD == SANSA_C200_PAD
292 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
293 {PLA_START, BUTTON_UP, BUTTON_NONE},
294 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE},
295 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
296 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
288#elif CONFIG_KEYPAD == IRIVER_H10_PAD 297#elif CONFIG_KEYPAD == IRIVER_H10_PAD
289 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 298 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
290 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 299 {PLA_START, BUTTON_PLAY, BUTTON_NONE},
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index 6a37e3602d..88821c8a78 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -210,7 +210,8 @@ const unsigned char rockbox16x7[] = {
210#define LP_DEC_Y BUTTON_DOWN 210#define LP_DEC_Y BUTTON_DOWN
211#define LP_INC_Y BUTTON_UP 211#define LP_INC_Y BUTTON_UP
212 212
213#elif CONFIG_KEYPAD == SANSA_E200_PAD 213#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
214(CONFIG_KEYPAD == SANSA_C200_PAD)
214#define LP_QUIT BUTTON_POWER 215#define LP_QUIT BUTTON_POWER
215#define LP_DEC_X BUTTON_LEFT 216#define LP_DEC_X BUTTON_LEFT
216#define LP_INC_X BUTTON_RIGHT 217#define LP_INC_X BUTTON_RIGHT
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 48450ae455..b1f243b01c 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -132,6 +132,18 @@ PLUGIN_HEADER
132#define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT) 132#define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT)
133#define MANDELBROT_RESET BUTTON_REC 133#define MANDELBROT_RESET BUTTON_REC
134 134
135#elif CONFIG_KEYPAD == SANSA_C200_PAD
136#define MANDELBROT_QUIT BUTTON_POWER
137#define MANDELBROT_UP BUTTON_UP
138#define MANDELBROT_DOWN BUTTON_DOWN
139#define MANDELBROT_LEFT BUTTON_LEFT
140#define MANDELBROT_RIGHT BUTTON_RIGHT
141#define MANDELBROT_ZOOM_IN BUTTON_VOL_UP
142#define MANDELBROT_ZOOM_OUT BUTTON_VOL_DOWN
143#define MANDELBROT_MAXITER_INC (BUTTON_SELECT | BUTTON_RIGHT)
144#define MANDELBROT_MAXITER_DEC (BUTTON_SELECT | BUTTON_LEFT)
145#define MANDELBROT_RESET BUTTON_REC
146
135#elif CONFIG_KEYPAD == IRIVER_H10_PAD 147#elif CONFIG_KEYPAD == IRIVER_H10_PAD
136#define MANDELBROT_QUIT BUTTON_POWER 148#define MANDELBROT_QUIT BUTTON_POWER
137#define MANDELBROT_UP BUTTON_SCROLL_UP 149#define MANDELBROT_UP BUTTON_SCROLL_UP
diff --git a/apps/plugins/maze.c b/apps/plugins/maze.c
index 2948eb2aec..8967f59132 100644
--- a/apps/plugins/maze.c
+++ b/apps/plugins/maze.c
@@ -89,6 +89,9 @@ const struct button_mapping *plugin_contexts[]
89#if ( LCD_WIDTH == 112 ) 89#if ( LCD_WIDTH == 112 )
90#define MAZE_WIDTH 16 90#define MAZE_WIDTH 16
91#define MAZE_HEIGHT 12 91#define MAZE_HEIGHT 12
92#elif( LCD_WIDTH == 132 )
93#define MAZE_WIDTH 26
94#define MAZE_HEIGHT 16
92#else 95#else
93#define MAZE_WIDTH 32 96#define MAZE_WIDTH 32
94#define MAZE_HEIGHT 24 97#define MAZE_HEIGHT 24
diff --git a/apps/plugins/mazezam.c b/apps/plugins/mazezam.c
index 48c564ab8a..41edd3a5e5 100644
--- a/apps/plugins/mazezam.c
+++ b/apps/plugins/mazezam.c
@@ -116,7 +116,8 @@ MEM_FUNCTION_WRAPPERS(rb);
116#define MAZEZAM_QUIT BUTTON_POWER 116#define MAZEZAM_QUIT BUTTON_POWER
117#define MAZEZAM_QUIT_KEYNAME "[POWER]" 117#define MAZEZAM_QUIT_KEYNAME "[POWER]"
118 118
119#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 119#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
120(CONFIG_KEYPAD == SANSA_C200_PAD)
120#define MAZEZAM_UP BUTTON_UP 121#define MAZEZAM_UP BUTTON_UP
121#define MAZEZAM_DOWN BUTTON_DOWN 122#define MAZEZAM_DOWN BUTTON_DOWN
122#define MAZEZAM_LEFT BUTTON_LEFT 123#define MAZEZAM_LEFT BUTTON_LEFT
diff --git a/apps/plugins/midiplay.c b/apps/plugins/midiplay.c
index 59594a97f7..f8a6929661 100644
--- a/apps/plugins/midiplay.c
+++ b/apps/plugins/midiplay.c
@@ -55,7 +55,8 @@ PLUGIN_IRAM_DECLARE
55#define BTN_UP BUTTON_UP 55#define BTN_UP BUTTON_UP
56#define BTN_DOWN BUTTON_DOWN 56#define BTN_DOWN BUTTON_DOWN
57 57
58#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 58#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
59(CONFIG_KEYPAD == SANSA_C200_PAD)
59#define BTN_QUIT BUTTON_POWER 60#define BTN_QUIT BUTTON_POWER
60#define BTN_RIGHT BUTTON_RIGHT 61#define BTN_RIGHT BUTTON_RIGHT
61#define BTN_UP BUTTON_UP 62#define BTN_UP BUTTON_UP
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index bfcd53af66..45d2319101 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -91,7 +91,8 @@ PLUGIN_HEADER
91#define MOSAIQUE_SPEED BUTTON_A 91#define MOSAIQUE_SPEED BUTTON_A
92#define MOSAIQUE_RESTART BUTTON_SELECT 92#define MOSAIQUE_RESTART BUTTON_SELECT
93 93
94#elif CONFIG_KEYPAD == SANSA_E200_PAD 94#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
95(CONFIG_KEYPAD == SANSA_C200_PAD)
95#define MOSAIQUE_QUIT BUTTON_POWER 96#define MOSAIQUE_QUIT BUTTON_POWER
96#define MOSAIQUE_SPEED BUTTON_DOWN 97#define MOSAIQUE_SPEED BUTTON_DOWN
97#define MOSAIQUE_RESTART BUTTON_SELECT 98#define MOSAIQUE_RESTART BUTTON_SELECT
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index 55cfac3899..453c755f10 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2343,7 +2343,8 @@ void get_mp3_filename(char *wav_name)
2343#define MP3ENC_NEXT BUTTON_DOWN 2343#define MP3ENC_NEXT BUTTON_DOWN
2344#define MP3ENC_DONE BUTTON_POWER 2344#define MP3ENC_DONE BUTTON_POWER
2345#define MP3ENC_SELECT BUTTON_SELECT 2345#define MP3ENC_SELECT BUTTON_SELECT
2346#elif CONFIG_KEYPAD == SANSA_E200_PAD 2346#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
2347(CONFIG_KEYPAD == SANSA_C200_PAD)
2347#define MP3ENC_PREV BUTTON_UP 2348#define MP3ENC_PREV BUTTON_UP
2348#define MP3ENC_NEXT BUTTON_DOWN 2349#define MP3ENC_NEXT BUTTON_DOWN
2349#define MP3ENC_DONE BUTTON_POWER 2350#define MP3ENC_DONE BUTTON_POWER
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 481454dc87..af0567c0d1 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -160,6 +160,13 @@ PLUGIN_IRAM_DECLARE
160#define MPEG_VOLDOWN BUTTON_SCROLL_UP 160#define MPEG_VOLDOWN BUTTON_SCROLL_UP
161#define MPEG_VOLUP BUTTON_SCROLL_DOWN 161#define MPEG_VOLUP BUTTON_SCROLL_DOWN
162 162
163#elif CONFIG_KEYPAD == SANSA_C200_PAD
164#define MPEG_MENU BUTTON_SELECT
165#define MPEG_STOP BUTTON_POWER
166#define MPEG_PAUSE BUTTON_UP
167#define MPEG_VOLDOWN BUTTON_VOL_DOWN
168#define MPEG_VOLUP BUTTON_VOL_UP
169
163#else 170#else
164#error MPEGPLAYER: Unsupported keypad 171#error MPEGPLAYER: Unsupported keypad
165#endif 172#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index bd16341008..ee4b089ac1 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -109,6 +109,17 @@ PLUGIN_HEADER
109#define OSCILLOSCOPE_VOL_UP BUTTON_SCROLL_DOWN 109#define OSCILLOSCOPE_VOL_UP BUTTON_SCROLL_DOWN
110#define OSCILLOSCOPE_VOL_DOWN BUTTON_SCROLL_UP 110#define OSCILLOSCOPE_VOL_DOWN BUTTON_SCROLL_UP
111 111
112#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
113#define OSCILLOSCOPE_QUIT BUTTON_POWER
114#define OSCILLOSCOPE_DRAWMODE BUTTON_SELECT
115#define OSCILLOSCOPE_ADVMODE BUTTON_DOWN
116#define OSCILLOSCOPE_ORIENTATION BUTTON_UP
117#define OSCILLOSCOPE_PAUSE BUTTON_REC
118#define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT
119#define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT
120#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
121#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
122
112#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 123#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
113#define OSCILLOSCOPE_QUIT BUTTON_POWER 124#define OSCILLOSCOPE_QUIT BUTTON_POWER
114#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_SELECT 125#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_SELECT
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index 1fae239e53..76c54122e0 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -63,7 +63,8 @@ static int plasma_frequency;
63#define PLASMA_INCREASE_FREQUENCY BUTTON_UP 63#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
64#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN 64#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
65 65
66#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 66#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
67(CONFIG_KEYPAD == SANSA_C200_PAD)
67#define PLASMA_QUIT BUTTON_POWER 68#define PLASMA_QUIT BUTTON_POWER
68#define PLASMA_INCREASE_FREQUENCY BUTTON_UP 69#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
69#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN 70#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
@@ -90,7 +91,8 @@ static int plasma_frequency;
90#define PLASMA_REGEN_COLORS BUTTON_PLAY 91#define PLASMA_REGEN_COLORS BUTTON_PLAY
91#elif CONFIG_KEYPAD == IRIVER_H10_PAD 92#elif CONFIG_KEYPAD == IRIVER_H10_PAD
92#define PLASMA_REGEN_COLORS BUTTON_PLAY 93#define PLASMA_REGEN_COLORS BUTTON_PLAY
93#elif CONFIG_KEYPAD == SANSA_E200_PAD 94#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
95(CONFIG_KEYPAD == SANSA_C200_PAD)
94#define PLASMA_REGEN_COLORS BUTTON_SELECT 96#define PLASMA_REGEN_COLORS BUTTON_SELECT
95#elif CONFIG_KEYPAD == IPOD_4G_PAD 97#elif CONFIG_KEYPAD == IPOD_4G_PAD
96#define PLASMA_REGEN_COLORS BUTTON_SELECT 98#define PLASMA_REGEN_COLORS BUTTON_SELECT
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index b88b95bb91..79069b9285 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -100,7 +100,8 @@ PLUGIN_HEADER
100#define PONG_RIGHT_UP BUTTON_VOL_UP 100#define PONG_RIGHT_UP BUTTON_VOL_UP
101#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN 101#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN
102 102
103#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 103#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
104(CONFIG_KEYPAD == SANSA_C200_PAD)
104#define PONG_QUIT BUTTON_POWER 105#define PONG_QUIT BUTTON_POWER
105#define PONG_PAUSE BUTTON_SELECT 106#define PONG_PAUSE BUTTON_SELECT
106#define PONG_LEFT_UP BUTTON_LEFT 107#define PONG_LEFT_UP BUTTON_LEFT
diff --git a/apps/plugins/reversi/reversi-gui.c b/apps/plugins/reversi/reversi-gui.c
index 374cc0f151..f99f616668 100644
--- a/apps/plugins/reversi/reversi-gui.c
+++ b/apps/plugins/reversi/reversi-gui.c
@@ -67,6 +67,14 @@ static struct plugin_api* rb;
67#define CELL_HEIGHT 6 67#define CELL_HEIGHT 6
68#define SMALL_BOARD 68#define SMALL_BOARD
69 69
70#elif (LCD_HEIGHT==80) && (LCD_WIDTH==132)
71/* Sansa C200 - 132x80, 8 cells @ 9x9 with 9 border lines */
72
73/* Internal dimensions of a cell */
74#define CELL_WIDTH 8
75#define CELL_HEIGHT 8
76#define SMALL_BOARD
77
70#elif (LCD_HEIGHT==110) && (LCD_WIDTH==138) 78#elif (LCD_HEIGHT==110) && (LCD_WIDTH==138)
71/* iPod Mini - 138x110, 8 cells @ 10x10 with 9 border lines */ 79/* iPod Mini - 138x110, 8 cells @ 10x10 with 9 border lines */
72 80
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index b82e40d275..5543ea8fd6 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -95,7 +95,8 @@
95#define REVERSI_BUTTON_MAKE_MOVE BUTTON_REW 95#define REVERSI_BUTTON_MAKE_MOVE BUTTON_REW
96#define REVERSI_BUTTON_MENU BUTTON_PLAY 96#define REVERSI_BUTTON_MENU BUTTON_PLAY
97 97
98#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 98#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
99(CONFIG_KEYPAD == SANSA_C200_PAD)
99#define REVERSI_BUTTON_QUIT BUTTON_POWER 100#define REVERSI_BUTTON_QUIT BUTTON_POWER
100#define REVERSI_BUTTON_UP BUTTON_UP 101#define REVERSI_BUTTON_UP BUTTON_UP
101#define REVERSI_BUTTON_DOWN BUTTON_DOWN 102#define REVERSI_BUTTON_DOWN BUTTON_DOWN
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 8625e35cfb..0b3382ff19 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -121,6 +121,18 @@ PLUGIN_HEADER
121#define ROCKBLOX_DROP BUTTON_SELECT 121#define ROCKBLOX_DROP BUTTON_SELECT
122#define ROCKBLOX_RESTART BUTTON_REC 122#define ROCKBLOX_RESTART BUTTON_REC
123 123
124#elif CONFIG_KEYPAD == SANSA_C200_PAD
125
126#define ROCKBLOX_OFF BUTTON_POWER
127#define ROCKBLOX_ROTATE_RIGHT BUTTON_UP
128#define ROCKBLOX_ROTATE_RIGHT2 BUTTON_VOL_DOWN
129#define ROCKBLOX_ROTATE_LEFT BUTTON_VOL_UP
130#define ROCKBLOX_DOWN BUTTON_DOWN
131#define ROCKBLOX_LEFT BUTTON_LEFT
132#define ROCKBLOX_RIGHT BUTTON_RIGHT
133#define ROCKBLOX_DROP BUTTON_SELECT
134#define ROCKBLOX_RESTART BUTTON_REC
135
124#elif CONFIG_KEYPAD == IRIVER_H10_PAD 136#elif CONFIG_KEYPAD == IRIVER_H10_PAD
125 137
126#define ROCKBLOX_OFF BUTTON_POWER 138#define ROCKBLOX_OFF BUTTON_POWER
@@ -259,6 +271,19 @@ PLUGIN_HEADER
259#define LEVEL_Y 49 271#define LEVEL_Y 49
260#define LINES_Y 82 272#define LINES_Y 82
261 273
274#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
275
276#define BLOCK_WIDTH 4
277#define BLOCK_HEIGHT 4
278#define BOARD_X 10
279#define BOARD_Y 0
280#define PREVIEW_X 89
281#define PREVIEW_Y 61
282#define LABEL_X 78
283#define SCORE_Y 10
284#define LEVEL_Y 30
285#define LINES_Y 50
286
262#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64) 287#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
263 288
264#define BLOCK_WIDTH 3 289#define BLOCK_WIDTH 3
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 3038a06bee..41519f66e1 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -82,7 +82,8 @@ PLUGIN_HEADER
82#define ROCKPAINT_LEFT BUTTON_LEFT 82#define ROCKPAINT_LEFT BUTTON_LEFT
83#define ROCKPAINT_RIGHT BUTTON_RIGHT 83#define ROCKPAINT_RIGHT BUTTON_RIGHT
84 84
85#elif CONFIG_KEYPAD == SANSA_E200_PAD 85#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
86(CONFIG_KEYPAD == SANSA_C200_PAD)
86#define ROCKPAINT_QUIT BUTTON_POWER 87#define ROCKPAINT_QUIT BUTTON_POWER
87#define ROCKPAINT_DRAW BUTTON_SELECT 88#define ROCKPAINT_DRAW BUTTON_SELECT
88#define ROCKPAINT_MENU ( BUTTON_SELECT | BUTTON_POWER ) 89#define ROCKPAINT_MENU ( BUTTON_SELECT | BUTTON_POWER )
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index b819f354cc..17a96baf2a 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -77,7 +77,8 @@ PLUGIN_HEADER
77#define PUZZLE_SHUFFLE BUTTON_SELECT 77#define PUZZLE_SHUFFLE BUTTON_SELECT
78#define PUZZLE_PICTURE BUTTON_A 78#define PUZZLE_PICTURE BUTTON_A
79 79
80#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 80#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
81(CONFIG_KEYPAD == SANSA_C200_PAD)
81#define PUZZLE_QUIT BUTTON_POWER 82#define PUZZLE_QUIT BUTTON_POWER
82#define PUZZLE_UP BUTTON_UP 83#define PUZZLE_UP BUTTON_UP
83#define PUZZLE_DOWN BUTTON_DOWN 84#define PUZZLE_DOWN BUTTON_DOWN
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index eeca6bd547..2beeaa4c5b 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -83,7 +83,8 @@ PLUGIN_HEADER
83#define SNAKE_DOWN BUTTON_DOWN 83#define SNAKE_DOWN BUTTON_DOWN
84#define SNAKE_PLAYPAUSE BUTTON_SELECT 84#define SNAKE_PLAYPAUSE BUTTON_SELECT
85 85
86#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 86#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
87(CONFIG_KEYPAD == SANSA_C200_PAD)
87#define SNAKE_QUIT BUTTON_POWER 88#define SNAKE_QUIT BUTTON_POWER
88#define SNAKE_UP BUTTON_UP 89#define SNAKE_UP BUTTON_UP
89#define SNAKE_DOWN BUTTON_DOWN 90#define SNAKE_DOWN BUTTON_DOWN
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 385af159e4..1d13b0523b 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -232,7 +232,8 @@ PLUGIN_HEADER
232#define SNAKE2_PLAYPAUSE BUTTON_SELECT 232#define SNAKE2_PLAYPAUSE BUTTON_SELECT
233#define SNAKE2_PLAYPAUSE_TEXT "Select" 233#define SNAKE2_PLAYPAUSE_TEXT "Select"
234 234
235#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 235#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
236(CONFIG_KEYPAD == SANSA_C200_PAD)
236#define SNAKE2_UP BUTTON_UP 237#define SNAKE2_UP BUTTON_UP
237#define SNAKE2_DOWN BUTTON_DOWN 238#define SNAKE2_DOWN BUTTON_DOWN
238#define SNAKE2_QUIT BUTTON_POWER 239#define SNAKE2_QUIT BUTTON_POWER
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index c815471e11..6078f87708 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -46,7 +46,8 @@ PLUGIN_HEADER
46#define SNOW_QUIT BUTTON_POWER 46#define SNOW_QUIT BUTTON_POWER
47#elif CONFIG_KEYPAD == GIGABEAT_PAD 47#elif CONFIG_KEYPAD == GIGABEAT_PAD
48#define SNOW_QUIT BUTTON_POWER 48#define SNOW_QUIT BUTTON_POWER
49#elif CONFIG_KEYPAD == SANSA_E200_PAD 49#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
50(CONFIG_KEYPAD == SANSA_C200_PAD)
50#define SNOW_QUIT BUTTON_POWER 51#define SNOW_QUIT BUTTON_POWER
51#elif CONFIG_KEYPAD == IRIVER_H10_PAD 52#elif CONFIG_KEYPAD == IRIVER_H10_PAD
52#define SNOW_QUIT BUTTON_POWER 53#define SNOW_QUIT BUTTON_POWER
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 05ff25b721..ae1294cbc5 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -213,6 +213,25 @@ static struct plugin_api* rb;
213# define HK_CUR2STACK "DOUBLE SELECT" 213# define HK_CUR2STACK "DOUBLE SELECT"
214# define HK_REM2STACK "RIGHT" 214# define HK_REM2STACK "RIGHT"
215 215
216#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
217# define SOL_QUIT BUTTON_POWER
218# define SOL_UP BUTTON_UP
219# define SOL_DOWN BUTTON_DOWN
220# define SOL_LEFT BUTTON_LEFT
221# define SOL_RIGHT BUTTON_RIGHT
222# define SOL_MOVE_PRE BUTTON_SELECT
223# define SOL_MOVE (BUTTON_SELECT | BUTTON_REL)
224# define SOL_DRAW BUTTON_VOL_DOWN
225# define SOL_REM2CUR BUTTON_REC
226# define SOL_CUR2STACK_PRE BUTTON_SELECT
227# define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_REPEAT)
228# define SOL_REM2STACK BUTTON_VOL_UP
229# define HK_MOVE "SELECT"
230# define HK_DRAW "REC"
231# define HK_REM2CUR "LEFT"
232# define HK_CUR2STACK "DOUBLE SELECT"
233# define HK_REM2STACK "RIGHT"
234
216#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 235#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
217# define SOL_QUIT BUTTON_POWER 236# define SOL_QUIT BUTTON_POWER
218# define SOL_UP BUTTON_SCROLL_UP 237# define SOL_UP BUTTON_SCROLL_UP
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 1278a611ce..d98041da39 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -135,6 +135,19 @@ static struct plugin_api* rb; /* global api struct pointer */
135#define AST_FIRE BUTTON_SELECT 135#define AST_FIRE BUTTON_SELECT
136#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT) 136#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT)
137 137
138#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
139#define AST_PAUSE BUTTON_REC
140#define AST_QUIT BUTTON_POWER
141#define AST_THRUST_REP (BUTTON_UP | BUTTON_REPEAT)
142#define AST_THRUST BUTTON_UP
143#define AST_HYPERSPACE BUTTON_DOWN
144#define AST_LEFT BUTTON_LEFT
145#define AST_LEFT_REP (BUTTON_LEFT | BUTTON_REPEAT)
146#define AST_RIGHT BUTTON_RIGHT
147#define AST_RIGHT_REP (BUTTON_RIGHT | BUTTON_REPEAT)
148#define AST_FIRE BUTTON_SELECT
149#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT)
150
138#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 151#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
139#define AST_PAUSE BUTTON_PLAY 152#define AST_PAUSE BUTTON_PLAY
140#define AST_QUIT BUTTON_POWER 153#define AST_QUIT BUTTON_POWER
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index c9d31a6c9a..1c2501d6a4 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -144,7 +144,8 @@ PLUGIN_HEADER
144#define STAR_LEVEL_REPEAT BUTTON_A 144#define STAR_LEVEL_REPEAT BUTTON_A
145#define STAR_MENU_RUN BUTTON_SELECT 145#define STAR_MENU_RUN BUTTON_SELECT
146 146
147#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 147#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
148(CONFIG_KEYPAD == SANSA_C200_PAD)
148 149
149#define STAR_QUIT BUTTON_POWER 150#define STAR_QUIT BUTTON_POWER
150#define STAR_UP BUTTON_UP 151#define STAR_UP BUTTON_UP
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 278d24fbc7..333fd32fcd 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -57,7 +57,8 @@ static struct plugin_api* rb; /* global api struct pointer */
57#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT 57#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
58#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT 58#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
59#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT 59#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
60#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 60#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
61(CONFIG_KEYPAD == SANSA_C200_PAD)
61#define STARFIELD_QUIT BUTTON_POWER 62#define STARFIELD_QUIT BUTTON_POWER
62#define STARFIELD_INCREASE_ZMOVE BUTTON_UP 63#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
63#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN 64#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index a33331a429..03dc9fa038 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -53,7 +53,8 @@ static bool abort;
53#elif CONFIG_KEYPAD == GIGABEAT_PAD 53#elif CONFIG_KEYPAD == GIGABEAT_PAD
54#define STATS_STOP BUTTON_POWER 54#define STATS_STOP BUTTON_POWER
55 55
56#elif CONFIG_KEYPAD == SANSA_E200_PAD 56#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
57(CONFIG_KEYPAD == SANSA_C200_PAD)
57#define STATS_STOP BUTTON_POWER 58#define STATS_STOP BUTTON_POWER
58 59
59#elif CONFIG_KEYPAD == IRIVER_H10_PAD 60#elif CONFIG_KEYPAD == IRIVER_H10_PAD
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 6f18617d2d..d36a774447 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -100,10 +100,11 @@ PLUGIN_HEADER
100#define STOPWATCH_LAP_TIMER BUTTON_MENU 100#define STOPWATCH_LAP_TIMER BUTTON_MENU
101#define STOPWATCH_SCROLL_UP BUTTON_UP 101#define STOPWATCH_SCROLL_UP BUTTON_UP
102#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 102#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
103#elif CONFIG_KEYPAD == SANSA_E200_PAD 103#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
104(CONFIG_KEYPAD == SANSA_C200_PAD)
104#define STOPWATCH_QUIT BUTTON_POWER 105#define STOPWATCH_QUIT BUTTON_POWER
105#define STOPWATCH_START_STOP BUTTON_LEFT 106#define STOPWATCH_START_STOP BUTTON_RIGHT
106#define STOPWATCH_RESET_TIMER BUTTON_REC 107#define STOPWATCH_RESET_TIMER BUTTON_LEFT
107#define STOPWATCH_LAP_TIMER BUTTON_SELECT 108#define STOPWATCH_LAP_TIMER BUTTON_SELECT
108#define STOPWATCH_SCROLL_UP BUTTON_UP 109#define STOPWATCH_SCROLL_UP BUTTON_UP
109#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 110#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c
index 9485f2de23..1d548ace6d 100644
--- a/apps/plugins/sudoku/sudoku.c
+++ b/apps/plugins/sudoku/sudoku.c
@@ -108,6 +108,14 @@ static const char default_game[9][9] =
108#define CELL_HEIGHT 6 108#define CELL_HEIGHT 6
109#define SMALL_BOARD 109#define SMALL_BOARD
110 110
111#elif ((LCD_HEIGHT==80) && (LCD_WIDTH==132))
112/* C200, 9 cells @ 8x8 with 8 border lines */
113
114/* Internal dimensions of a cell */
115#define CELL_WIDTH 8
116#define CELL_HEIGHT 8
117#define SMALL_BOARD
118
111#elif (LCD_HEIGHT==110) && (LCD_WIDTH==138) 119#elif (LCD_HEIGHT==110) && (LCD_WIDTH==138)
112/* iPod Mini - 138x110, 9 cells @ 10x10 with 14 border lines */ 120/* iPod Mini - 138x110, 9 cells @ 10x10 with 14 border lines */
113 121
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index d41c0b879d..f888bd7090 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -122,6 +122,20 @@
122#define SUDOKU_BUTTON_MENU BUTTON_SELECT 122#define SUDOKU_BUTTON_MENU BUTTON_SELECT
123#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC 123#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
124 124
125#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
126#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
127#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
128#define SUDOKU_BUTTON_UP BUTTON_UP
129#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
130#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
131#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
132#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN
133#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP
134#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_SELECT
135#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER
136#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
137#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
138
125#elif 139#elif
126 #error SUDOKU: Unsupported keypad 140 #error SUDOKU: Unsupported keypad
127#endif 141#endif
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index 055ace08c5..7f87b7caa2 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -184,6 +184,18 @@ PLUGIN_HEADER
184#define VIEWER_LINE_UP BUTTON_SCROLL_UP 184#define VIEWER_LINE_UP BUTTON_SCROLL_UP
185#define VIEWER_LINE_DOWN BUTTON_SCROLL_DOWN 185#define VIEWER_LINE_DOWN BUTTON_SCROLL_DOWN
186 186
187/* Sansa C200 keys */
188#elif CONFIG_KEYPAD == SANSA_C200_PAD
189#define VIEWER_QUIT BUTTON_POWER
190#define VIEWER_PAGE_UP BUTTON_VOL_UP
191#define VIEWER_PAGE_DOWN BUTTON_VOL_DOWN
192#define VIEWER_SCREEN_LEFT BUTTON_LEFT
193#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
194#define VIEWER_MENU BUTTON_SELECT
195#define VIEWER_AUTOSCROLL BUTTON_REC
196#define VIEWER_LINE_UP BUTTON_UP
197#define VIEWER_LINE_DOWN BUTTON_DOWN
198
187/* iriver H10 keys */ 199/* iriver H10 keys */
188#elif CONFIG_KEYPAD == IRIVER_H10_PAD 200#elif CONFIG_KEYPAD == IRIVER_H10_PAD
189#define VIEWER_QUIT BUTTON_POWER 201#define VIEWER_QUIT BUTTON_POWER
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index f054a5946e..9175e1d4d3 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -94,6 +94,15 @@ PLUGIN_HEADER
94#define VUMETER_UP BUTTON_SCROLL_DOWN 94#define VUMETER_UP BUTTON_SCROLL_DOWN
95#define VUMETER_DOWN BUTTON_SCROLL_UP 95#define VUMETER_DOWN BUTTON_SCROLL_UP
96 96
97#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
98#define VUMETER_QUIT BUTTON_POWER
99#define VUMETER_HELP BUTTON_REC
100#define VUMETER_MENU BUTTON_SELECT
101#define VUMETER_MENU_EXIT BUTTON_SELECT
102#define VUMETER_MENU_EXIT2 BUTTON_POWER
103#define VUMETER_UP BUTTON_VOL_UP
104#define VUMETER_DOWN BUTTON_VOL_DOWN
105
97#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 106#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
98#define VUMETER_QUIT BUTTON_POWER 107#define VUMETER_QUIT BUTTON_POWER
99#define VUMETER_HELP BUTTON_PLAY 108#define VUMETER_HELP BUTTON_PLAY
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 1c78f33ad0..c05918e9b4 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -148,7 +148,8 @@ PLUGIN_HEADER
148#define WORMS_TEXT "Left/Right" 148#define WORMS_TEXT "Left/Right"
149 149
150 150
151#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 151#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
152(CONFIG_KEYPAD == SANSA_C200_PAD)
152 153
153#define BTN_DIR_UP BUTTON_UP 154#define BTN_DIR_UP BUTTON_UP
154#define BTN_DIR_DOWN BUTTON_DOWN 155#define BTN_DIR_DOWN BUTTON_DOWN
@@ -182,6 +183,11 @@ PLUGIN_HEADER
182#define ARGH_SIZE 4 183#define ARGH_SIZE 4
183#define SPEED 14 184#define SPEED 14
184#define MAX_WORM_SEGMENTS 128 185#define MAX_WORM_SEGMENTS 128
186#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
187#define FOOD_SIZE 3
188#define ARGH_SIZE 4
189#define SPEED 14
190#define MAX_WORM_SEGMENTS 128
185#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) 191#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
186#define FOOD_SIZE 4 192#define FOOD_SIZE 4
187#define ARGH_SIZE 5 193#define ARGH_SIZE 5
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index c91e20aedd..f51e98ecff 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -74,7 +74,8 @@ PLUGIN_HEADER
74#define DOWN BUTTON_DOWN 74#define DOWN BUTTON_DOWN
75#define PAUSE BUTTON_A 75#define PAUSE BUTTON_A
76 76
77#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 77#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
78(CONFIG_KEYPAD == SANSA_C200_PAD)
78 79
79#define QUIT BUTTON_POWER 80#define QUIT BUTTON_POWER
80#define LEFT BUTTON_LEFT 81#define LEFT BUTTON_LEFT
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index 603869d454..6af84719ff 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -77,7 +77,8 @@
77#define ZX_UP BUTTON_SCROLL_UP 77#define ZX_UP BUTTON_SCROLL_UP
78#define ZX_DOWN BUTTON_SCROLL_DOWN 78#define ZX_DOWN BUTTON_SCROLL_DOWN
79 79
80#elif CONFIG_KEYPAD == SANSA_E200_PAD 80#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
81(CONFIG_KEYPAD == SANSA_C200_PAD)
81#define ZX_SELECT BUTTON_SELECT 82#define ZX_SELECT BUTTON_SELECT
82#define ZX_MENU BUTTON_POWER 83#define ZX_MENU BUTTON_POWER
83#define ZX_LEFT BUTTON_LEFT 84#define ZX_LEFT BUTTON_LEFT
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index 5bea491a51..2b1d171c11 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -101,7 +101,8 @@
101#define KBD_UP BUTTON_SCROLL_UP 101#define KBD_UP BUTTON_SCROLL_UP
102#define KBD_DOWN BUTTON_SCROLL_DOWN 102#define KBD_DOWN BUTTON_SCROLL_DOWN
103 103
104#elif CONFIG_KEYPAD == SANSA_E200_PAD 104#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
105(CONFIG_KEYPAD == SANSA_C200_PAD)
105 106
106/* TODO: Check keyboard mappings */ 107/* TODO: Check keyboard mappings */
107 108