summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/SOURCES.app_build6
-rw-r--r--apps/plugins/SUBDIRS2
-rw-r--r--apps/plugins/SUBDIRS.app_build10
-rw-r--r--apps/plugins/battery_bench.c3
-rw-r--r--apps/plugins/blackjack.c16
-rw-r--r--apps/plugins/bounce.c3
-rw-r--r--apps/plugins/brickmania.c3
-rw-r--r--apps/plugins/calculator.c11
-rw-r--r--apps/plugins/calendar.c10
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h10
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/chip8.c12
-rw-r--r--apps/plugins/chopper.c3
-rw-r--r--apps/plugins/clix.c3
-rw-r--r--apps/plugins/cube.c10
-rw-r--r--apps/plugins/doom/i_video.c11
-rw-r--r--apps/plugins/fft/fft.c9
-rw-r--r--apps/plugins/fireworks.c3
-rw-r--r--apps/plugins/flipit.c12
-rw-r--r--apps/plugins/fractals/fractal.h12
-rw-r--r--apps/plugins/goban/goban.h10
-rw-r--r--apps/plugins/imageviewer/imageviewer_button.h12
-rw-r--r--apps/plugins/invadrox.c3
-rw-r--r--apps/plugins/jewels.c3
-rw-r--r--apps/plugins/lamp.c3
-rw-r--r--apps/plugins/lib/pluginlib_actions.c6
-rw-r--r--apps/plugins/lib/simple_viewer.c1
-rw-r--r--apps/plugins/logo.c3
-rw-r--r--apps/plugins/lua/strcspn.c1
-rw-r--r--apps/plugins/lua/strpbrk.c1
-rw-r--r--apps/plugins/matrix.c3
-rw-r--r--apps/plugins/midi/midiplay.c8
-rw-r--r--apps/plugins/minesweeper.c10
-rw-r--r--apps/plugins/mosaique.c3
-rw-r--r--apps/plugins/mp3_encoder.c3
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c8
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c9
-rw-r--r--apps/plugins/oscilloscope.c11
-rw-r--r--apps/plugins/pacbox/pacbox.h11
-rw-r--r--apps/plugins/pdbox/pdbox.h19
-rw-r--r--apps/plugins/pegbox.c18
-rw-r--r--apps/plugins/pong.c8
-rw-r--r--apps/plugins/reversi/reversi-gui.h9
-rw-r--r--apps/plugins/rockblox.c12
-rw-r--r--apps/plugins/rockblox1d.c3
-rw-r--r--apps/plugins/rockboy/rockboy.c12
-rw-r--r--apps/plugins/rockboy/rockmacros.h2
-rw-r--r--apps/plugins/rockpaint.c11
-rw-r--r--apps/plugins/sliding_puzzle.c6
-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/sokoban.c15
-rw-r--r--apps/plugins/solitaire.c18
-rw-r--r--apps/plugins/spacerocks.c9
-rw-r--r--apps/plugins/star.c17
-rw-r--r--apps/plugins/starfield.c3
-rw-r--r--apps/plugins/stats.c3
-rw-r--r--apps/plugins/stopwatch.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h10
-rw-r--r--apps/plugins/superdom.c3
-rw-r--r--apps/plugins/test_codec.c2
-rw-r--r--apps/plugins/test_fps.c2
-rw-r--r--apps/plugins/test_gfx.c6
-rw-r--r--apps/plugins/text_viewer/tv_button.h10
-rw-r--r--apps/plugins/vu_meter.c11
-rw-r--r--apps/plugins/wormlet.c3
-rw-r--r--apps/plugins/xobox.c9
-rw-r--r--apps/plugins/zxbox/keymaps.h12
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c9
70 files changed, 492 insertions, 35 deletions
diff --git a/apps/plugins/SOURCES.app_build b/apps/plugins/SOURCES.app_build
index ddac2b9ba8..e374062536 100644
--- a/apps/plugins/SOURCES.app_build
+++ b/apps/plugins/SOURCES.app_build
@@ -1,3 +1,7 @@
1#ifndef HAVE_TOUCHSCREEN
2/* In devices running RockBox as an application, but having a keypad */
3#include "SOURCES"
4#else
1/* plugins common to all models */ 5/* plugins common to all models */
2credits.c 6credits.c
3properties.c 7properties.c
@@ -39,3 +43,5 @@ test_sampr.c
39#endif 43#endif
40test_viewports.c 44test_viewports.c
41#endif /* HAVE_TEST_PLUGINS */ 45#endif /* HAVE_TEST_PLUGINS */
46
47#endif /* HAVE_TOUCHSCREEN */
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index c497c49b14..d2feb721d4 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -73,7 +73,7 @@ mikmod
73#if defined(IRIVER_H300_SERIES) || defined(IRIVER_H100_SERIES) || \ 73#if defined(IRIVER_H300_SERIES) || defined(IRIVER_H100_SERIES) || \
74 (CONFIG_KEYPAD == SANSA_FUZE_PAD) || (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 74 (CONFIG_KEYPAD == SANSA_FUZE_PAD) || (CONFIG_KEYPAD == SANSA_E200_PAD) || \
75 (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 75 (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
76 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 76 (CONFIG_KEYPAD == IPOD_1G2G_PAD || CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
77/* PDBox is confirmed to run on these player models. */ 77/* PDBox is confirmed to run on these player models. */
78pdbox 78pdbox
79#endif 79#endif
diff --git a/apps/plugins/SUBDIRS.app_build b/apps/plugins/SUBDIRS.app_build
index dbf4382b62..23b840fd87 100644
--- a/apps/plugins/SUBDIRS.app_build
+++ b/apps/plugins/SUBDIRS.app_build
@@ -1,4 +1,11 @@
1/* For all targets with a bitmap display */ 1#ifndef HAVE_TOUCHSCREEN
2/* This is for devices having a keypad, running RockBox as an application */
3#include "SUBDIRS"
4
5#else
6/* For all targets with a bitmap display and a touchscreen
7 * In fact, most of the plugins aren't supposed to be used on a touch(mouse) device
8 */
2#ifdef HAVE_LCD_BITMAP 9#ifdef HAVE_LCD_BITMAP
3 10
4#ifdef HAVE_TAGCACHE 11#ifdef HAVE_TAGCACHE
@@ -15,3 +22,4 @@ mikmod
15#endif 22#endif
16 23
17#endif /* CONFIG_CODEC == SWCODEC */ 24#endif /* CONFIG_CODEC == SWCODEC */
25#endif /* HAVE_TOUCHSCREEN */ \ No newline at end of file
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index a16302e8b0..be509cffcb 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -125,7 +125,8 @@
125#define BATTERY_ON_TXT "SELECT - start" 125#define BATTERY_ON_TXT "SELECT - start"
126#define BATTERY_OFF_TXT "POWER" 126#define BATTERY_OFF_TXT "POWER"
127 127
128#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 128#elif CONFIG_KEYPAD == GIGABEAT_S_PAD \
129 || CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
129 130
130#define BATTERY_ON BUTTON_SELECT 131#define BATTERY_ON BUTTON_SELECT
131#define BATTERY_OFF BUTTON_BACK 132#define BATTERY_OFF BUTTON_BACK
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 0c35306cfc..ab4da37b0a 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -466,6 +466,22 @@ enum {
466#define BJACK_RIGHT BUTTON_RIGHT 466#define BJACK_RIGHT BUTTON_RIGHT
467#define BJACK_LEFT BUTTON_LEFT 467#define BJACK_LEFT BUTTON_LEFT
468 468
469#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
470#define BJACK_SELECT_NAME "SELECT"
471#define BJACK_STAY_NAME "MENU"
472#define BJACK_QUIT_NAME "BACK"
473#define BJACK_DOUBLE_NAME "USER"
474#define BJACK_SELECT BUTTON_SELECT
475#define BJACK_QUIT BUTTON_BACK
476#define BJACK_MAX (BUTTON_LEFT|BUTTON_UP)
477#define BJACK_MIN (BUTTON_RIGHT|BUTTON_DOWN)
478#define BJACK_STAY BUTTON_MENU
479#define BJACK_DOUBLEDOWN BUTTON_USER
480#define BJACK_UP BUTTON_UP
481#define BJACK_DOWN BUTTON_DOWN
482#define BJACK_RIGHT BUTTON_RIGHT
483#define BJACK_LEFT BUTTON_LEFT
484
469#else 485#else
470#error No keymap defined! 486#error No keymap defined!
471#endif 487#endif
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index 6880e269e2..5bd81b7fed 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -127,7 +127,8 @@
127#define BOUNCE_QUIT BUTTON_POWER 127#define BOUNCE_QUIT BUTTON_POWER
128#define BOUNCE_MODE BUTTON_PLAY 128#define BOUNCE_MODE BUTTON_PLAY
129 129
130#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 130#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) \
131 || (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
131#define BOUNCE_LEFT BUTTON_LEFT 132#define BOUNCE_LEFT BUTTON_LEFT
132#define BOUNCE_RIGHT BUTTON_RIGHT 133#define BOUNCE_RIGHT BUTTON_RIGHT
133#define BOUNCE_UP BUTTON_UP 134#define BOUNCE_UP BUTTON_UP
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index c362ffe702..dd3903eb26 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -158,7 +158,8 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
158#define UP BUTTON_SCROLL_UP 158#define UP BUTTON_SCROLL_UP
159#define DOWN BUTTON_SCROLL_DOWN 159#define DOWN BUTTON_SCROLL_DOWN
160 160
161#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 161#elif CONFIG_KEYPAD == GIGABEAT_S_PAD \
162 || CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
162#define QUIT BUTTON_BACK 163#define QUIT BUTTON_BACK
163#define LEFT BUTTON_LEFT 164#define LEFT BUTTON_LEFT
164#define RIGHT BUTTON_RIGHT 165#define RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 8288f34c28..77c7a5588d 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -431,6 +431,17 @@ F3: equal to "="
431#define CALCULATOR_CALC BUTTON_NEXT 431#define CALCULATOR_CALC BUTTON_NEXT
432#define CALCULATOR_CLEAR BUTTON_PREV 432#define CALCULATOR_CLEAR BUTTON_PREV
433 433
434#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
435
436#define CALCULATOR_LEFT BUTTON_LEFT
437#define CALCULATOR_RIGHT BUTTON_RIGHT
438#define CALCULATOR_UP BUTTON_UP
439#define CALCULATOR_DOWN BUTTON_DOWN
440#define CALCULATOR_QUIT BUTTON_BACK
441#define CALCULATOR_INPUT BUTTON_SELECT
442#define CALCULATOR_CALC BUTTON_MENU
443#define CALCULATOR_CLEAR BUTTON_USER
444
434#else 445#else
435#error No keymap defined! 446#error No keymap defined!
436#endif 447#endif
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index d8d8f1ad12..d498b97ffb 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -308,6 +308,16 @@
308#define CALENDAR_NEXT_MONTH BUTTON_NEXT 308#define CALENDAR_NEXT_MONTH BUTTON_NEXT
309#define CALENDAR_PREV_MONTH BUTTON_PREV 309#define CALENDAR_PREV_MONTH BUTTON_PREV
310 310
311#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
312#define CALENDAR_QUIT BUTTON_BACK
313#define CALENDAR_SELECT BUTTON_SELECT
314#define CALENDAR_NEXT_WEEK BUTTON_DOWN
315#define CALENDAR_PREV_WEEK BUTTON_UP
316#define CALENDAR_NEXT_DAY BUTTON_RIGHT
317#define CALENDAR_PREV_DAY BUTTON_LEFT
318#define CALENDAR_NEXT_MONTH BUTTON_POWER
319#define CALENDAR_PREV_MONTH BUTTON_USER
320
311#else 321#else
312#error "No keypad setting." 322#error "No keypad setting."
313#endif 323#endif
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 1627426cef..765e52ec8c 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -422,6 +422,16 @@
422#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) 422#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
423#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) 423#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
424 424
425#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
426#define CB_SELECT BUTTON_SELECT
427#define CB_UP BUTTON_UP
428#define CB_DOWN BUTTON_DOWN
429#define CB_LEFT BUTTON_LEFT
430#define CB_RIGHT BUTTON_RIGHT
431#define CB_PLAY BUTTON_USER
432#define CB_LEVEL BUTTON_BACK
433#define CB_MENU BUTTON_MENU
434
425#else 435#else
426#error No keymap defined! 436#error No keymap defined!
427#endif 437#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index dca5c4040e..94f069d0a0 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -326,6 +326,16 @@
326#define CHC_SETTINGS_OK BUTTON_SELECT 326#define CHC_SETTINGS_OK BUTTON_SELECT
327#define CHC_SETTINGS_CANCEL BUTTON_LEFT 327#define CHC_SETTINGS_CANCEL BUTTON_LEFT
328 328
329#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
330#define CHC_QUIT BUTTON_BACK
331#define CHC_STARTSTOP BUTTON_SELECT
332#define CHC_RESET BUTTON_USER
333#define CHC_MENU BUTTON_MENU
334#define CHC_SETTINGS_INC BUTTON_UP
335#define CHC_SETTINGS_DEC BUTTON_DOWN
336#define CHC_SETTINGS_OK BUTTON_SELECT
337#define CHC_SETTINGS_CANCEL BUTTON_BACK
338
329#else 339#else
330#error No keymap defined! 340#error No keymap defined!
331#endif 341#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 97d8351fe9..470a8e4c89 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1193,6 +1193,18 @@ CONFIG_KEYPAD == MROBE500_PAD
1193#define CHIP8_KEY8 BUTTON_VOL_DOWN 1193#define CHIP8_KEY8 BUTTON_VOL_DOWN
1194#define CHIP8_KEY9 BUTTON_VOL_UP 1194#define CHIP8_KEY9 BUTTON_VOL_UP
1195 1195
1196#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
1197#define CHIP8_OFF (BUTTON_BACK|BUTTON_REPEAT)
1198#define CHIP8_KEY1 BUTTON_MENU
1199#define CHIP8_KEY2 BUTTON_UP
1200#define CHIP8_KEY3 BUTTON_DOWN
1201#define CHIP8_KEY4 BUTTON_LEFT
1202#define CHIP8_KEY5 BUTTON_SELECT
1203#define CHIP8_KEY6 BUTTON_RIGHT
1204#define CHIP8_KEY7 BUTTON_BACK
1205#define CHIP8_KEY8 BUTTON_POWER
1206#define CHIP8_KEY9 BUTTON_USER
1207
1196#else 1208#else
1197#error No keymap defined! 1209#error No keymap defined!
1198#endif 1210#endif
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 71ea8f835f..d819da421b 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -97,7 +97,8 @@ Still To do:
97#define ACTION2 BUTTON_MENU 97#define ACTION2 BUTTON_MENU
98#define ACTIONTEXT "UP" 98#define ACTIONTEXT "UP"
99 99
100#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 100#elif CONFIG_KEYPAD == GIGABEAT_S_PAD \
101 || CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
101#define QUIT BUTTON_BACK 102#define QUIT BUTTON_BACK
102#define ACTION BUTTON_SELECT 103#define ACTION BUTTON_SELECT
103#define ACTION2 BUTTON_MENU 104#define ACTION2 BUTTON_MENU
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index 378e9813e6..06fe0d84e0 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -83,7 +83,8 @@
83#define CLIX_BUTTON_UP BUTTON_UP 83#define CLIX_BUTTON_UP BUTTON_UP
84#define CLIX_BUTTON_DOWN BUTTON_DOWN 84#define CLIX_BUTTON_DOWN BUTTON_DOWN
85 85
86#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 86#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
87 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
87#define CLIX_BUTTON_QUIT BUTTON_BACK 88#define CLIX_BUTTON_QUIT BUTTON_BACK
88#define CLIX_BUTTON_LEFT BUTTON_LEFT 89#define CLIX_BUTTON_LEFT BUTTON_LEFT
89#define CLIX_BUTTON_RIGHT BUTTON_RIGHT 90#define CLIX_BUTTON_RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 7e97eaf569..cecb10e1f2 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -329,6 +329,16 @@
329#define CUBE_PAUSE BUTTON_DOWN 329#define CUBE_PAUSE BUTTON_DOWN
330#define CUBE_HIGHSPEED BUTTON_LEFT 330#define CUBE_HIGHSPEED BUTTON_LEFT
331 331
332#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
333#define CUBE_QUIT BUTTON_BACK
334#define CUBE_NEXT BUTTON_RIGHT
335#define CUBE_PREV BUTTON_LEFT
336#define CUBE_INC BUTTON_UP
337#define CUBE_DEC BUTTON_DOWN
338#define CUBE_MODE BUTTON_MENU
339#define CUBE_PAUSE BUTTON_USER
340#define CUBE_HIGHSPEED BUTTON_SELECT
341
332#else 342#else
333#error No keymap defined! 343#error No keymap defined!
334#endif 344#endif
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index d12799cac4..9009acc67f 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -424,6 +424,17 @@ void I_ShutdownGraphics(void)
424#define DOOMBUTTON_ENTER BUTTON_NEXT 424#define DOOMBUTTON_ENTER BUTTON_NEXT
425#define DOOMBUTTON_WEAPON BUTTON_PREV 425#define DOOMBUTTON_WEAPON BUTTON_PREV
426 426
427#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
428#define DOOMBUTTON_UP BUTTON_UP
429#define DOOMBUTTON_DOWN BUTTON_DOWN
430#define DOOMBUTTON_LEFT BUTTON_LEFT
431#define DOOMBUTTON_RIGHT BUTTON_RIGHT
432#define DOOMBUTTON_SHOOT BUTTON_SELECT
433#define DOOMBUTTON_OPEN BUTTON_MENU
434#define DOOMBUTTON_ESC BUTTON_BACK
435#define DOOMBUTTON_ENTER BUTTON_POWER
436#define DOOMBUTTON_WEAPON BUTTON_USER
437
427#else 438#else
428#error Keymap not defined! 439#error Keymap not defined!
429#endif 440#endif
diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c
index 89205503e7..b2ef8d8e33 100644
--- a/apps/plugins/fft/fft.c
+++ b/apps/plugins/fft/fft.c
@@ -257,6 +257,15 @@ GREY_INFO_STRUCT
257# define FFT_FREQ_SCALE BUTTON_DOWN 257# define FFT_FREQ_SCALE BUTTON_DOWN
258# define FFT_QUIT BUTTON_POWER 258# define FFT_QUIT BUTTON_POWER
259 259
260#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
261# define FFT_PREV_GRAPH BUTTON_LEFT
262# define FFT_NEXT_GRAPH BUTTON_RIGHT
263# define FFT_ORIENTATION BUTTON_USER
264# define FFT_WINDOW BUTTON_MENU
265# define FFT_AMP_SCALE BUTTON_SELECT
266# define FFT_FREQ_SCALE BUTTON_DOWN
267# define FFT_QUIT BUTTON_BACK
268
260#else 269#else
261#error No keymap defined! 270#error No keymap defined!
262#endif 271#endif
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index e3a391035a..52b11b7079 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -63,7 +63,8 @@
63 63
64#elif (CONFIG_KEYPAD == GIGABEAT_PAD) || \ 64#elif (CONFIG_KEYPAD == GIGABEAT_PAD) || \
65 (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ 65 (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
66 (CONFIG_KEYPAD == MROBE100_PAD) 66 (CONFIG_KEYPAD == MROBE100_PAD) || \
67 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
67#define BTN_MENU BUTTON_MENU 68#define BTN_MENU BUTTON_MENU
68#define BTN_FIRE BUTTON_SELECT 69#define BTN_FIRE BUTTON_SELECT
69 70
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index ffc691c720..da5a9e8c6b 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -380,6 +380,18 @@
380#define FLIPIT_STEP_BY_STEP BUTTON_NEXT 380#define FLIPIT_STEP_BY_STEP BUTTON_NEXT
381#define FLIPIT_TOGGLE BUTTON_SELECT 381#define FLIPIT_TOGGLE BUTTON_SELECT
382 382
383#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
384
385#define FLIPIT_LEFT BUTTON_LEFT
386#define FLIPIT_RIGHT BUTTON_RIGHT
387#define FLIPIT_UP BUTTON_UP
388#define FLIPIT_DOWN BUTTON_DOWN
389#define FLIPIT_QUIT BUTTON_BACK
390#define FLIPIT_SHUFFLE BUTTON_MENU
391#define FLIPIT_SOLVE BUTTON_USER
392#define FLIPIT_STEP_BY_STEP BUTTON_POWER
393#define FLIPIT_TOGGLE BUTTON_SELECT
394
383#else 395#else
384#error No keymap defined! 396#error No keymap defined!
385#endif 397#endif
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index 76f3229399..0d1aff3078 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -378,6 +378,18 @@
378#define FRACTAL_PRECISION_DEC BUTTON_VOL_DOWN 378#define FRACTAL_PRECISION_DEC BUTTON_VOL_DOWN
379#define FRACTAL_RESET BUTTON_PREV 379#define FRACTAL_RESET BUTTON_PREV
380 380
381#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
382#define FRACTAL_QUIT BUTTON_BACK
383#define FRACTAL_UP BUTTON_UP
384#define FRACTAL_DOWN BUTTON_DOWN
385#define FRACTAL_LEFT BUTTON_LEFT
386#define FRACTAL_RIGHT BUTTON_RIGHT
387#define FRACTAL_ZOOM_IN (BUTTON_MENU|BUTTON_REL)
388#define FRACTAL_ZOOM_OUT (BUTTON_USER|BUTTON_REL)
389#define FRACTAL_PRECISION_INC (BUTTON_MENU|BUTTON_REPEAT)
390#define FRACTAL_PRECISION_DEC (BUTTON_USER|BUTTON_REPEAT)
391#define FRACTAL_RESET BUTTON_POWER
392
381#else 393#else
382#error No keymap defined! 394#error No keymap defined!
383#endif 395#endif
diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h
index d03bc82474..20940d74f0 100644
--- a/apps/plugins/goban/goban.h
+++ b/apps/plugins/goban/goban.h
@@ -364,6 +364,16 @@
364#define GBN_BUTTON_PLAY BUTTON_SELECT 364#define GBN_BUTTON_PLAY BUTTON_SELECT
365#define GBN_BUTTON_MENU BUTTON_POWER 365#define GBN_BUTTON_MENU BUTTON_POWER
366 366
367#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
368#define GBN_BUTTON_UP BUTTON_UP
369#define GBN_BUTTON_DOWN BUTTON_DOWN
370#define GBN_BUTTON_LEFT BUTTON_LEFT
371#define GBN_BUTTON_RIGHT BUTTON_RIGHT
372#define GBN_BUTTON_RETREAT BUTTON_BACK
373#define GBN_BUTTON_ADVANCE BUTTON_USER
374#define GBN_BUTTON_PLAY BUTTON_SELECT
375#define GBN_BUTTON_MENU BUTTON_MENU
376
367#else 377#else
368#error Unsupported keypad 378#error Unsupported keypad
369#endif 379#endif
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index 9f345d83f3..10d239922e 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -379,6 +379,18 @@
379#define IMGVIEW_MENU BUTTON_POWER 379#define IMGVIEW_MENU BUTTON_POWER
380#define IMGVIEW_SLIDE_SHOW BUTTON_NEXT 380#define IMGVIEW_SLIDE_SHOW BUTTON_NEXT
381 381
382#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
383#define IMGVIEW_ZOOM_IN BUTTON_POWER
384#define IMGVIEW_ZOOM_OUT BUTTON_USER
385#define IMGVIEW_UP BUTTON_UP
386#define IMGVIEW_DOWN BUTTON_DOWN
387#define IMGVIEW_LEFT BUTTON_LEFT
388#define IMGVIEW_RIGHT BUTTON_RIGHT
389#define IMGVIEW_NEXT BUTTON_SELECT
390#define IMGVIEW_PREVIOUS 0xFFFFFFA //not used
391#define IMGVIEW_MENU BUTTON_MENU
392#define IMGVIEW_QUIT BUTTON_BACK
393
382#else 394#else
383#error No keymap defined! 395#error No keymap defined!
384#endif 396#endif
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index 96e04a976f..c52208d3c6 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -122,7 +122,8 @@
122#define RIGHT BUTTON_RIGHT 122#define RIGHT BUTTON_RIGHT
123#define FIRE BUTTON_SELECT 123#define FIRE BUTTON_SELECT
124 124
125#elif CONFIG_KEYPAD == GIGABEAT_PAD 125#elif CONFIG_KEYPAD == GIGABEAT_PAD \
126 || CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
126 127
127#define QUIT BUTTON_POWER 128#define QUIT BUTTON_POWER
128#define LEFT BUTTON_LEFT 129#define LEFT BUTTON_LEFT
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 4d5a5b6ce9..7d80a536dd 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -172,7 +172,8 @@ CONFIG_KEYPAD == SANSA_M200_PAD
172#define HK_SELECT "PLAY" 172#define HK_SELECT "PLAY"
173#define HK_CANCEL "POWER" 173#define HK_CANCEL "POWER"
174 174
175#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 175#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
176 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
176#define JEWELS_UP BUTTON_UP 177#define JEWELS_UP BUTTON_UP
177#define JEWELS_DOWN BUTTON_DOWN 178#define JEWELS_DOWN BUTTON_DOWN
178#define JEWELS_LEFT BUTTON_LEFT 179#define JEWELS_LEFT BUTTON_LEFT
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c
index d9ad70b946..583e2753fa 100644
--- a/apps/plugins/lamp.c
+++ b/apps/plugins/lamp.c
@@ -57,7 +57,8 @@
57# define LAMP_UP BUTTON_UP 57# define LAMP_UP BUTTON_UP
58# define LAMP_DOWN BUTTON_DOWN 58# define LAMP_DOWN BUTTON_DOWN
59 59
60#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 60#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
61 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
61# define LAMP_LEFT BUTTON_LEFT 62# define LAMP_LEFT BUTTON_LEFT
62# define LAMP_RIGHT BUTTON_RIGHT 63# define LAMP_RIGHT BUTTON_RIGHT
63# define LAMP_UP BUTTON_UP 64# define LAMP_UP BUTTON_UP
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 0a2f12da50..44a2cd8c03 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -116,7 +116,8 @@ const struct button_mapping pla_main_ctx[] =
116 || (CONFIG_KEYPAD == SANSA_FUZE_PAD) \ 116 || (CONFIG_KEYPAD == SANSA_FUZE_PAD) \
117 || (CONFIG_KEYPAD == SAMSUNG_YH_PAD) \ 117 || (CONFIG_KEYPAD == SAMSUNG_YH_PAD) \
118 || (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) \ 118 || (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) \
119 || (CONFIG_KEYPAD == SANSA_CONNECT_PAD)) 119 || (CONFIG_KEYPAD == SANSA_CONNECT_PAD) \
120 || (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD))
120 { PLA_UP, BUTTON_UP, BUTTON_NONE }, 121 { PLA_UP, BUTTON_UP, BUTTON_NONE },
121 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE }, 122 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE },
122 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, 123 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -278,7 +279,8 @@ const struct button_mapping pla_main_ctx[] =
278 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, 279 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
279 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, 280 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
280 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 281 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
281#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 282#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) \
283 || (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
282 {PLA_CANCEL, BUTTON_BACK, BUTTON_NONE}, 284 {PLA_CANCEL, BUTTON_BACK, BUTTON_NONE},
283 {PLA_EXIT, BUTTON_MENU, BUTTON_NONE}, 285 {PLA_EXIT, BUTTON_MENU, BUTTON_NONE},
284 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, 286 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
diff --git a/apps/plugins/lib/simple_viewer.c b/apps/plugins/lib/simple_viewer.c
index 16cbcb35de..06cc9c1a71 100644
--- a/apps/plugins/lib/simple_viewer.c
+++ b/apps/plugins/lib/simple_viewer.c
@@ -25,6 +25,7 @@
25#include "simple_viewer.h" 25#include "simple_viewer.h"
26#include <ctype.h> 26#include <ctype.h>
27 27
28
28struct view_info { 29struct view_info {
29#ifdef HAVE_LCD_BITMAP 30#ifdef HAVE_LCD_BITMAP
30 struct font* pf; 31 struct font* pf;
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index d651c2f634..be163f566e 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -123,7 +123,8 @@ const unsigned char rockbox16x7[] = {
123#elif CONFIG_KEYPAD == MROBE500_PAD 123#elif CONFIG_KEYPAD == MROBE500_PAD
124#define LP_QUIT BUTTON_POWER 124#define LP_QUIT BUTTON_POWER
125 125
126#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 126#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
127 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
127#define LP_QUIT BUTTON_BACK 128#define LP_QUIT BUTTON_BACK
128#define LP_DEC_X BUTTON_LEFT 129#define LP_DEC_X BUTTON_LEFT
129#define LP_INC_X BUTTON_RIGHT 130#define LP_INC_X BUTTON_RIGHT
diff --git a/apps/plugins/lua/strcspn.c b/apps/plugins/lua/strcspn.c
index 7af6f693eb..0a19eaebf2 100644
--- a/apps/plugins/lua/strcspn.c
+++ b/apps/plugins/lua/strcspn.c
@@ -1,5 +1,6 @@
1#include "rocklibc.h" 1#include "rocklibc.h"
2 2
3#undef strcspn
3size_t strcspn(const char *s, const char *reject) 4size_t strcspn(const char *s, const char *reject)
4{ 5{
5 size_t l=0; 6 size_t l=0;
diff --git a/apps/plugins/lua/strpbrk.c b/apps/plugins/lua/strpbrk.c
index f416f391ae..1e0491f779 100644
--- a/apps/plugins/lua/strpbrk.c
+++ b/apps/plugins/lua/strpbrk.c
@@ -1,5 +1,6 @@
1#include "rocklibc.h" 1#include "rocklibc.h"
2 2
3#undef strpbrk
3char *strpbrk(const char *s, const char *accept) { 4char *strpbrk(const char *s, const char *accept) {
4 register int i,l=strlen(accept); 5 register int i,l=strlen(accept);
5 for (; *s; s++) 6 for (; *s; s++)
diff --git a/apps/plugins/matrix.c b/apps/plugins/matrix.c
index 1a1008073c..10b8ce578d 100644
--- a/apps/plugins/matrix.c
+++ b/apps/plugins/matrix.c
@@ -101,7 +101,8 @@
101#define MATRIX_SLEEP_LESS BUTTON_DOWN 101#define MATRIX_SLEEP_LESS BUTTON_DOWN
102#define MATRIX_PAUSE BUTTON_SELECT 102#define MATRIX_PAUSE BUTTON_SELECT
103 103
104#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 104#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
105 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
105#define MATRIX_EXIT BUTTON_BACK 106#define MATRIX_EXIT BUTTON_BACK
106#define MATRIX_SLEEP_MORE BUTTON_UP 107#define MATRIX_SLEEP_MORE BUTTON_UP
107#define MATRIX_SLEEP_LESS BUTTON_DOWN 108#define MATRIX_SLEEP_LESS BUTTON_DOWN
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 1b5d18465b..ace7290a12 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -233,6 +233,14 @@
233#define BTN_DOWN BUTTON_DOWN 233#define BTN_DOWN BUTTON_DOWN
234#define BTN_PLAY BUTTON_SELECT 234#define BTN_PLAY BUTTON_SELECT
235 235
236#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
237#define BTN_QUIT BUTTON_BACK
238#define BTN_RIGHT BUTTON_RIGHT
239#define BTN_LEFT BUTTON_LEFT
240#define BTN_UP BUTTON_UP
241#define BTN_DOWN BUTTON_DOWN
242#define BTN_PLAY BUTTON_USER
243
236#else 244#else
237#error No keymap defined! 245#error No keymap defined!
238#endif 246#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index ad67b1dd67..e0da928b02 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -311,6 +311,16 @@ CONFIG_KEYPAD == MROBE500_PAD
311# define MINESWP_DISCOVER BUTTON_SELECT 311# define MINESWP_DISCOVER BUTTON_SELECT
312# define MINESWP_INFO BUTTON_PREV 312# define MINESWP_INFO BUTTON_PREV
313 313
314#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
315# define MINESWP_LEFT BUTTON_LEFT
316# define MINESWP_RIGHT BUTTON_RIGHT
317# define MINESWP_UP BUTTON_UP
318# define MINESWP_DOWN BUTTON_DOWN
319# define MINESWP_QUIT BUTTON_BACK
320# define MINESWP_TOGGLE BUTTON_USER
321# define MINESWP_DISCOVER BUTTON_SELECT
322# define MINESWP_INFO BUTTON_MENU
323
314#else 324#else
315#error No keymap defined! 325#error No keymap defined!
316#endif 326#endif
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index ec41c8c02b..87e664e102 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -113,7 +113,8 @@
113#elif CONFIG_KEYPAD == MROBE500_PAD 113#elif CONFIG_KEYPAD == MROBE500_PAD
114#define MOSAIQUE_QUIT BUTTON_POWER 114#define MOSAIQUE_QUIT BUTTON_POWER
115 115
116#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 116#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
117 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
117#define MOSAIQUE_QUIT BUTTON_BACK 118#define MOSAIQUE_QUIT BUTTON_BACK
118#define MOSAIQUE_SPEED BUTTON_SELECT 119#define MOSAIQUE_SPEED BUTTON_SELECT
119#define MOSAIQUE_RESTART BUTTON_MENU 120#define MOSAIQUE_RESTART BUTTON_MENU
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index a70e316f06..567ec5dbc8 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2394,7 +2394,8 @@ static void get_mp3_filename(const char *wav_name)
2394#define MP3ENC_DONE BUTTON_POWER 2394#define MP3ENC_DONE BUTTON_POWER
2395#define MP3ENC_SELECT BUTTON_SELECT 2395#define MP3ENC_SELECT BUTTON_SELECT
2396 2396
2397#elif CONFIG_KEYPAD == GIGABEAT_PAD 2397#elif CONFIG_KEYPAD == GIGABEAT_PAD || \
2398 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
2398#define MP3ENC_PREV BUTTON_UP 2399#define MP3ENC_PREV BUTTON_UP
2399#define MP3ENC_NEXT BUTTON_DOWN 2400#define MP3ENC_NEXT BUTTON_DOWN
2400#define MP3ENC_DONE BUTTON_POWER 2401#define MP3ENC_DONE BUTTON_POWER
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 90b547893e..e9b1c01680 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -248,6 +248,14 @@ struct mpeg_settings settings;
248#define MPEG_START_TIME_DOWN BUTTON_DOWN 248#define MPEG_START_TIME_DOWN BUTTON_DOWN
249#define MPEG_START_TIME_EXIT BUTTON_POWER 249#define MPEG_START_TIME_EXIT BUTTON_POWER
250 250
251#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
252#define MPEG_START_TIME_SELECT BUTTON_SELECT
253#define MPEG_START_TIME_LEFT BUTTON_LEFT
254#define MPEG_START_TIME_RIGHT BUTTON_RIGHT
255#define MPEG_START_TIME_UP BUTTON_UP
256#define MPEG_START_TIME_DOWN BUTTON_DOWN
257#define MPEG_START_TIME_EXIT BUTTON_BACK
258
251#else 259#else
252#error No keymap defined! 260#error No keymap defined!
253#endif 261#endif
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index e3d9865e12..f73e5f2090 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -362,6 +362,15 @@ CONFIG_KEYPAD == SANSA_M200_PAD
362#define MPEG_RW BUTTON_LEFT 362#define MPEG_RW BUTTON_LEFT
363#define MPEG_FF BUTTON_RIGHT 363#define MPEG_FF BUTTON_RIGHT
364 364
365#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
366#define MPEG_MENU BUTTON_MENU
367#define MPEG_PAUSE BUTTON_SELECT
368#define MPEG_STOP BUTTON_POWER
369#define MPEG_VOLDOWN BUTTON_DOWN
370#define MPEG_VOLUP BUTTON_UP
371#define MPEG_RW BUTTON_LEFT
372#define MPEG_FF BUTTON_RIGHT
373
365#else 374#else
366#error No keymap defined! 375#error No keymap defined!
367#endif 376#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 4469a92e12..0b1687da5c 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -342,6 +342,17 @@
342#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP 342#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
343#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN 343#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
344 344
345#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
346#define OSCILLOSCOPE_QUIT BUTTON_BACK
347#define OSCILLOSCOPE_DRAWMODE BUTTON_USER
348#define OSCILLOSCOPE_ADVMODE BUTTON_MENU
349#define OSCILLOSCOPE_ORIENTATION BUTTON_POWER
350#define OSCILLOSCOPE_PAUSE BUTTON_SELECT
351#define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT
352#define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT
353#define OSCILLOSCOPE_VOL_UP BUTTON_UP
354#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
355
345#else 356#else
346#error No keymap defined! 357#error No keymap defined!
347#endif 358#endif
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 3c906ac0aa..0183b0c3f6 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -265,6 +265,17 @@
265#define PACMAN_COIN BUTTON_VOL_DOWN 265#define PACMAN_COIN BUTTON_VOL_DOWN
266#define PACMAN_MENU BUTTON_POWER 266#define PACMAN_MENU BUTTON_POWER
267 267
268#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
269
270#define PACMAN_UP BUTTON_UP
271#define PACMAN_DOWN BUTTON_DOWN
272#define PACMAN_LEFT BUTTON_LEFT
273#define PACMAN_RIGHT BUTTON_RIGHT
274#define PACMAN_1UP BUTTON_SELECT
275#define PACMAN_2UP BUTTON_POWER
276#define PACMAN_COIN BUTTON_USER
277#define PACMAN_MENU BUTTON_MENU
278
268#else 279#else
269 280
270#error Keymap not defined! 281#error Keymap not defined!
diff --git a/apps/plugins/pdbox/pdbox.h b/apps/plugins/pdbox/pdbox.h
index 56ad568a3b..b53e15f94e 100644
--- a/apps/plugins/pdbox/pdbox.h
+++ b/apps/plugins/pdbox/pdbox.h
@@ -89,7 +89,9 @@ float rb_atan(float);
89float rb_atan2(float, float); 89float rb_atan2(float, float);
90float rb_sinh(float); 90float rb_sinh(float);
91float rb_tan(float); 91float rb_tan(float);
92#ifndef SIMULATOR 92//#ifndef SIMULATOR
93/*FIXME: is it a correct replacement??? */
94#if !(CONFIG_PLATFORM & PLATFORM_HOSTED)
93typedef struct 95typedef struct
94{ 96{
95 int quot; 97 int quot;
@@ -163,9 +165,12 @@ void pd_init(void);
163#define atoi rb->atoi 165#define atoi rb->atoi
164#define write rb->write 166#define write rb->write
165 167
168#undef strncat
166#define strncat rb_strncat 169#define strncat rb_strncat
167 170
168#ifndef SIMULATOR 171//#ifndef SIMULATOR
172/*FIXME: is it a correct replacement??? */
173#if !(CONFIG_PLATFORM & PLATFORM_HOSTED)
169#define floor rb_floor 174#define floor rb_floor
170#define atof rb_atof 175#define atof rb_atof
171#define atol rb_atol 176#define atol rb_atol
@@ -186,6 +191,7 @@ void pd_init(void);
186#endif 191#endif
187 192
188#define ftoan rb_ftoan 193#define ftoan rb_ftoan
194#undef strtok_r
189#define strtok_r rb->strtok_r 195#define strtok_r rb->strtok_r
190#define strstr rb->strcasestr 196#define strstr rb->strcasestr
191 197
@@ -282,6 +288,15 @@ enum pd_key_id
282 #define PDPOD_WHEELLEFT (BUTTON_SCROLL_BACK) 288 #define PDPOD_WHEELLEFT (BUTTON_SCROLL_BACK)
283 #define PDPOD_WHEELRIGHT (BUTTON_SCROLL_FWD) 289 #define PDPOD_WHEELRIGHT (BUTTON_SCROLL_FWD)
284 #define PDPOD_ACTION (BUTTON_SELECT) 290 #define PDPOD_ACTION (BUTTON_SELECT)
291#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
292 #define PDPOD_QUIT BUTTON_BACK
293 #define PDPOD_PLAY BUTTON_USER
294 #define PDPOD_PREVIOUS BUTTON_LEFT
295 #define PDPOD_NEXT BUTTON_RIGHT
296 #define PDPOD_MENU BUTTON_MENU
297 #define PDPOD_WHEELLEFT BUTTON_UP
298 #define PDPOD_WHEELRIGHT BUTTON_DOWN
299 #define PDPOD_ACTION BUTTON_SELECT
285#else 300#else
286 #warning "No keys defined for this architecture!" 301 #warning "No keys defined for this architecture!"
287#endif 302#endif
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index 3eb6008f76..479f7c5ec2 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -510,6 +510,24 @@ CONFIG_KEYPAD == MROBE500_PAD
510#define LVL_DOWN_TEXT "PREV" 510#define LVL_DOWN_TEXT "PREV"
511#define SELECT_TEXT "SELECT" 511#define SELECT_TEXT "SELECT"
512 512
513#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
514#define PEGBOX_SELECT BUTTON_SELECT
515#define PEGBOX_QUIT BUTTON_BACK
516#define PEGBOX_RESTART BUTTON_MENU
517#define PEGBOX_LVL_UP BUTTON_USER
518#define PEGBOX_LVL_DOWN BUTTON_POWER
519#define PEGBOX_UP BUTTON_UP
520#define PEGBOX_DOWN BUTTON_DOWN
521#define PEGBOX_RIGHT BUTTON_RIGHT
522#define PEGBOX_LEFT BUTTON_LEFT
523
524#define SAVE_TEXT "PLAYPAUSE"
525#define QUIT_TEXT "POWER"
526#define RESTART_TEXT "BACK"
527#define LVL_UP_TEXT "Vol+"
528#define LVL_DOWN_TEXT "Vol-"
529#define SELECT_TEXT "SELECT"
530
513#else 531#else
514#error Unsupported keymap! 532#error Unsupported keymap!
515#endif 533#endif
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index d3875f39e4..430b688f1f 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -244,6 +244,14 @@ CONFIG_KEYPAD == MROBE500_PAD
244#define PONG_RIGHT_UP BUTTON_UP 244#define PONG_RIGHT_UP BUTTON_UP
245#define PONG_RIGHT_DOWN BUTTON_RIGHT 245#define PONG_RIGHT_DOWN BUTTON_RIGHT
246 246
247#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
248#define PONG_QUIT BUTTON_BACK
249#define PONG_PAUSE BUTTON_SELECT
250#define PONG_LEFT_UP BUTTON_UP
251#define PONG_LEFT_DOWN BUTTON_DOWN
252#define PONG_RIGHT_UP BUTTON_MENU
253#define PONG_RIGHT_DOWN BUTTON_POWER
254
247#else 255#else
248#error No keymap defined! 256#error No keymap defined!
249#endif 257#endif
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index a36efe51cb..c0d6183c2f 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -252,6 +252,15 @@
252#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAYPAUSE 252#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAYPAUSE
253#define REVERSI_BUTTON_MENU BUTTON_BACK 253#define REVERSI_BUTTON_MENU BUTTON_BACK
254 254
255#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
256#define REVERSI_BUTTON_QUIT BUTTON_BACK
257#define REVERSI_BUTTON_UP BUTTON_UP
258#define REVERSI_BUTTON_DOWN BUTTON_DOWN
259#define REVERSI_BUTTON_LEFT BUTTON_LEFT
260#define REVERSI_BUTTON_RIGHT BUTTON_RIGHT
261#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
262#define REVERSI_BUTTON_MENU BUTTON_MENU
263
255#else 264#else
256#error No keymap defined! 265#error No keymap defined!
257#endif 266#endif
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 674b14ed83..c23c6b11cb 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -379,6 +379,18 @@
379#define ROCKBLOX_DROP BUTTON_SELECT 379#define ROCKBLOX_DROP BUTTON_SELECT
380#define ROCKBLOX_RESTART BUTTON_VOL_DOWN 380#define ROCKBLOX_RESTART BUTTON_VOL_DOWN
381 381
382#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
383
384#define ROCKBLOX_OFF BUTTON_BACK
385#define ROCKBLOX_ROTATE_CCW BUTTON_POWER
386#define ROCKBLOX_ROTATE_CW BUTTON_MENU
387#define ROCKBLOX_ROTATE BUTTON_UP
388#define ROCKBLOX_DOWN BUTTON_DOWN
389#define ROCKBLOX_LEFT BUTTON_LEFT
390#define ROCKBLOX_RIGHT BUTTON_RIGHT
391#define ROCKBLOX_DROP BUTTON_SELECT
392#define ROCKBLOX_RESTART BUTTON_USER
393
382#else 394#else
383#error No keymap defined! 395#error No keymap defined!
384#endif 396#endif
diff --git a/apps/plugins/rockblox1d.c b/apps/plugins/rockblox1d.c
index 49219c2eba..5b6e812abf 100644
--- a/apps/plugins/rockblox1d.c
+++ b/apps/plugins/rockblox1d.c
@@ -69,7 +69,8 @@
69#define ONEDROCKBLOX_DOWN BUTTON_PLAY 69#define ONEDROCKBLOX_DOWN BUTTON_PLAY
70#define ONEDROCKBLOX_QUIT BUTTON_POWER 70#define ONEDROCKBLOX_QUIT BUTTON_POWER
71 71
72#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 72#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
73 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
73#define ONEDROCKBLOX_DOWN BUTTON_SELECT 74#define ONEDROCKBLOX_DOWN BUTTON_SELECT
74#define ONEDROCKBLOX_QUIT BUTTON_BACK 75#define ONEDROCKBLOX_QUIT BUTTON_BACK
75 76
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 37f0566b21..bc73abee92 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -342,6 +342,18 @@ static void setoptions (void)
342 options.SELECT = BUTTON_NEXT; 342 options.SELECT = BUTTON_NEXT;
343 options.MENU = BUTTON_SELECT; 343 options.MENU = BUTTON_SELECT;
344 344
345#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
346 options.UP = BUTTON_UP;
347 options.DOWN = BUTTON_DOWN;
348 options.LEFT = BUTTON_LEFT;
349 options.RIGHT = BUTTON_RIGHT;
350
351 options.A = BUTTON_SELECT;
352 options.B = BUTTON_BACK;
353 options.START = BUTTON_POWER;
354 options.SELECT = BUTTON_USER;
355 options.MENU = BUTTON_MENU;
356
345#else 357#else
346#error No Keymap Defined! 358#error No Keymap Defined!
347#endif 359#endif
diff --git a/apps/plugins/rockboy/rockmacros.h b/apps/plugins/rockboy/rockmacros.h
index 724a0fb96d..87e570b55a 100644
--- a/apps/plugins/rockboy/rockmacros.h
+++ b/apps/plugins/rockboy/rockmacros.h
@@ -23,8 +23,6 @@
23 23
24#include "plugin.h" 24#include "plugin.h"
25 25
26#include "autoconf.h"
27
28#define malloc(a) my_malloc(a) 26#define malloc(a) my_malloc(a)
29void *my_malloc(size_t size); 27void *my_malloc(size_t size);
30 28
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 7f16bf2763..eeca916d1d 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -243,6 +243,17 @@
243#define ROCKPAINT_LEFT BUTTON_LEFT 243#define ROCKPAINT_LEFT BUTTON_LEFT
244#define ROCKPAINT_RIGHT BUTTON_RIGHT 244#define ROCKPAINT_RIGHT BUTTON_RIGHT
245 245
246#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
247#define ROCKPAINT_QUIT BUTTON_BACK
248#define ROCKPAINT_DRAW BUTTON_SELECT
249#define ROCKPAINT_MENU BUTTON_MENU
250#define ROCKPAINT_TOOLBAR BUTTON_USER
251#define ROCKPAINT_TOOLBAR2 ( BUTTON_USER | BUTTON_REPEAT )
252#define ROCKPAINT_UP BUTTON_UP
253#define ROCKPAINT_DOWN BUTTON_DOWN
254#define ROCKPAINT_LEFT BUTTON_LEFT
255#define ROCKPAINT_RIGHT BUTTON_RIGHT
256
246#else 257#else
247#error "Please define keys for this keypad" 258#error "Please define keys for this keypad"
248#endif 259#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 653099a547..a176f75c91 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -136,7 +136,8 @@
136#define PUZZLE_SHUFFLE BUTTON_REW 136#define PUZZLE_SHUFFLE BUTTON_REW
137#define PUZZLE_PICTURE BUTTON_PLAY 137#define PUZZLE_PICTURE BUTTON_PLAY
138 138
139#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 139#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
140 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
140#define PUZZLE_QUIT BUTTON_BACK 141#define PUZZLE_QUIT BUTTON_BACK
141#define PUZZLE_LEFT BUTTON_LEFT 142#define PUZZLE_LEFT BUTTON_LEFT
142#define PUZZLE_RIGHT BUTTON_RIGHT 143#define PUZZLE_RIGHT BUTTON_RIGHT
@@ -784,7 +785,8 @@ enum plugin_status plugin_start(
784 rb->lcd_putsxy(0, 18, "[OFF] to stop"); 785 rb->lcd_putsxy(0, 18, "[OFF] to stop");
785 rb->lcd_putsxy(0, 28, "[REW] shuffle"); 786 rb->lcd_putsxy(0, 28, "[REW] shuffle");
786 rb->lcd_putsxy(0, 38, "[PLAY] change pic"); 787 rb->lcd_putsxy(0, 38, "[PLAY] change pic");
787#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 788#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
789 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
788 rb->lcd_putsxy(0, 18, "[BACK] to stop"); 790 rb->lcd_putsxy(0, 18, "[BACK] to stop");
789 rb->lcd_putsxy(0, 28, "[SELECT] shuffle"); 791 rb->lcd_putsxy(0, 28, "[SELECT] shuffle");
790 rb->lcd_putsxy(0, 38, "[MENU] change pic"); 792 rb->lcd_putsxy(0, 38, "[MENU] change pic");
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 09e72a5fff..a20376742f 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -130,7 +130,8 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
130#define SNAKE_DOWN BUTTON_SCROLL_DOWN 130#define SNAKE_DOWN BUTTON_SCROLL_DOWN
131#define SNAKE_PLAYPAUSE BUTTON_PLAY 131#define SNAKE_PLAYPAUSE BUTTON_PLAY
132 132
133#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 133#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
134 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
134#define SNAKE_QUIT BUTTON_BACK 135#define SNAKE_QUIT BUTTON_BACK
135#define SNAKE_LEFT BUTTON_LEFT 136#define SNAKE_LEFT BUTTON_LEFT
136#define SNAKE_RIGHT BUTTON_RIGHT 137#define SNAKE_RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 0e7b499271..bd0257d2be 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -238,7 +238,8 @@ Head and Tail are stored
238#define SNAKE2_PLAYPAUSE BUTTON_FF 238#define SNAKE2_PLAYPAUSE BUTTON_FF
239#define SNAKE2_PLAYPAUSE_TEXT "FF" 239#define SNAKE2_PLAYPAUSE_TEXT "FF"
240 240
241#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 241#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
242 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
242#define SNAKE2_LEFT BUTTON_LEFT 243#define SNAKE2_LEFT BUTTON_LEFT
243#define SNAKE2_RIGHT BUTTON_RIGHT 244#define SNAKE2_RIGHT BUTTON_RIGHT
244#define SNAKE2_UP BUTTON_UP 245#define SNAKE2_UP BUTTON_UP
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index 8a2de39707..6371a697da 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -67,7 +67,8 @@
67#define SNOW_QUIT (BUTTON_HOME|BUTTON_REPEAT) 67#define SNOW_QUIT (BUTTON_HOME|BUTTON_REPEAT)
68 68
69#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ 69#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
70(CONFIG_KEYPAD == CREATIVEZVM_PAD) 70(CONFIG_KEYPAD == CREATIVEZVM_PAD) || \
71(CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
71#define SNOW_QUIT BUTTON_BACK 72#define SNOW_QUIT BUTTON_BACK
72 73
73#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \ 74#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index ddc95290da..942b101d4c 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -526,6 +526,21 @@
526#define BUTTON_SAVE (BUTTON_SELECT|BUTTON_REPEAT) 526#define BUTTON_SAVE (BUTTON_SELECT|BUTTON_REPEAT)
527#define BUTTON_SAVE_NAME "SELECT LONG" 527#define BUTTON_SAVE_NAME "SELECT LONG"
528 528
529#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
530#define SOKOBAN_LEFT BUTTON_LEFT
531#define SOKOBAN_RIGHT BUTTON_RIGHT
532#define SOKOBAN_UP BUTTON_UP
533#define SOKOBAN_DOWN BUTTON_DOWN
534#define SOKOBAN_MENU BUTTON_MENU
535#define SOKOBAN_UNDO BUTTON_BACK
536#define SOKOBAN_REDO BUTTON_USER
537//#define SOKOBAN_LEVEL_DOWN (BUTTON_POWER|BUTTON_REL)
538//#define SOKOBAN_LEVEL_REPEAT (BUTTON_CENTER|BUTTON_REPEAT)
539//#define SOKOBAN_LEVEL_UP (BUTTON_MENU|BUTTON_REPEAT)
540#define SOKOBAN_PAUSE BUTTON_SELECT
541#define BUTTON_SAVE BUTTON_SELECT
542#define BUTTON_SAVE_NAME "SELECT"
543
529#else 544#else
530#error No keymap defined! 545#error No keymap defined!
531#endif 546#endif
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 91ef346221..a1e8b7694b 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -544,6 +544,24 @@ CONFIG_KEYPAD == MROBE500_PAD
544# define HK_CUR2STACK "NEXT" 544# define HK_CUR2STACK "NEXT"
545# define HK_REM2STACK "PREV" 545# define HK_REM2STACK "PREV"
546 546
547#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
548# define SOL_QUIT BUTTON_BACK
549# define SOL_UP BUTTON_UP
550# define SOL_DOWN BUTTON_DOWN
551# define SOL_LEFT BUTTON_LEFT
552# define SOL_RIGHT BUTTON_RIGHT
553# define SOL_MOVE_PRE BUTTON_SELECT
554# define SOL_MOVE (BUTTON_SELECT | BUTTON_REL)
555# define SOL_DRAW BUTTON_MENU
556# define SOL_REM2CUR (BUTTON_USER | BUTTON_REPEAT)
557# define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_REPEAT)
558# define SOL_REM2STACK BUTTON_POWER
559# define HK_MOVE "Select"
560# define HK_DRAW "Menu"
561# define HK_REM2CUR "Long User"
562# define HK_CUR2STACK "Long Select.."
563# define HK_REM2STACK "Power"
564
547#else 565#else
548#error No keymap defined! 566#error No keymap defined!
549#endif 567#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 0c03a3183b..946d97d075 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -278,6 +278,15 @@
278#define AST_RIGHT BUTTON_RIGHT 278#define AST_RIGHT BUTTON_RIGHT
279#define AST_FIRE BUTTON_SELECT 279#define AST_FIRE BUTTON_SELECT
280 280
281#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
282#define AST_PAUSE BUTTON_MENU
283#define AST_QUIT BUTTON_BACK
284#define AST_THRUST BUTTON_UP
285#define AST_HYPERSPACE BUTTON_DOWN
286#define AST_LEFT BUTTON_LEFT
287#define AST_RIGHT BUTTON_RIGHT
288#define AST_FIRE BUTTON_SELECT
289
281#else 290#else
282#error No keymap defined! 291#error No keymap defined!
283#endif 292#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 620cddf77e..cf04e02edc 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -480,6 +480,23 @@
480#define STAR_LEVEL_DOWN_NAME "Vol-" 480#define STAR_LEVEL_DOWN_NAME "Vol-"
481#define STAR_LEVEL_REPEAT_NAME "PREV LONG" 481#define STAR_LEVEL_REPEAT_NAME "PREV LONG"
482 482
483#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
484
485#define STAR_QUIT BUTTON_BACK
486#define STAR_LEFT BUTTON_LEFT
487#define STAR_RIGHT BUTTON_RIGHT
488#define STAR_UP BUTTON_UP
489#define STAR_DOWN BUTTON_DOWN
490#define STAR_TOGGLE_CONTROL BUTTON_SELECT
491#define STAR_LEVEL_UP BUTTON_MENU
492#define STAR_LEVEL_DOWN BUTTON_POWER
493#define STAR_LEVEL_REPEAT BUTTON_USER
494#define STAR_TOGGLE_CONTROL_NAME "Select"
495#define STAR_QUIT_NAME "Back"
496#define STAR_LEVEL_UP_NAME "Menu"
497#define STAR_LEVEL_DOWN_NAME "Power"
498#define STAR_LEVEL_REPEAT_NAME "User"
499
483#else 500#else
484#error No keymap defined! 501#error No keymap defined!
485#endif 502#endif
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index e3b5634978..c996da9234 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -78,7 +78,8 @@
78#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT 78#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
79#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT 79#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
80 80
81#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 81#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
82 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
82#define STARFIELD_QUIT BUTTON_BACK 83#define STARFIELD_QUIT BUTTON_BACK
83#define STARFIELD_INCREASE_ZMOVE BUTTON_UP 84#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
84#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN 85#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index c5ff31e2bd..da231b772c 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -72,7 +72,8 @@ static bool cancel;
72#define STATS_STOP BUTTON_POWER 72#define STATS_STOP BUTTON_POWER
73#define STATS_STOP_REMOTE BUTTON_RC_DOWN 73#define STATS_STOP_REMOTE BUTTON_RC_DOWN
74 74
75#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 75#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
76 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
76#define STATS_STOP BUTTON_BACK 77#define STATS_STOP BUTTON_BACK
77 78
78#elif CONFIG_KEYPAD == MROBE100_PAD 79#elif CONFIG_KEYPAD == MROBE100_PAD
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 94785dc352..fd33bb7c03 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -263,6 +263,14 @@
263#define STOPWATCH_SCROLL_UP BUTTON_UP 263#define STOPWATCH_SCROLL_UP BUTTON_UP
264#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 264#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
265 265
266#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
267#define STOPWATCH_QUIT BUTTON_BACK
268#define STOPWATCH_START_STOP BUTTON_SELECT
269#define STOPWATCH_RESET_TIMER BUTTON_MENU
270#define STOPWATCH_LAP_TIMER BUTTON_USER
271#define STOPWATCH_SCROLL_UP BUTTON_UP
272#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
273
266#else 274#else
267#error No keymap defined! 275#error No keymap defined!
268#endif 276#endif
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 456e4fd9ee..07147185ae 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -329,6 +329,16 @@
329#define SUDOKU_BUTTON_MENU BUTTON_SELECT 329#define SUDOKU_BUTTON_MENU BUTTON_SELECT
330#define SUDOKU_BUTTON_POSSIBLE BUTTON_VOL_DOWN 330#define SUDOKU_BUTTON_POSSIBLE BUTTON_VOL_DOWN
331 331
332#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
333#define SUDOKU_BUTTON_QUIT BUTTON_BACK
334#define SUDOKU_BUTTON_UP BUTTON_UP
335#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
336#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
337#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
338#define SUDOKU_BUTTON_MENU BUTTON_MENU
339#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
340#define SUDOKU_BUTTON_POSSIBLE BUTTON_USER
341
332#else 342#else
333#error No keymap defined! 343#error No keymap defined!
334#endif 344#endif
diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c
index b4e25afdb1..135a6ae445 100644
--- a/apps/plugins/superdom.c
+++ b/apps/plugins/superdom.c
@@ -120,7 +120,8 @@ char buf[255];
120#define SUPERDOM_RIGHT BUTTON_RIGHT 120#define SUPERDOM_RIGHT BUTTON_RIGHT
121#define SUPERDOM_CANCEL (BUTTON_HOME|BUTTON_REPEAT) 121#define SUPERDOM_CANCEL (BUTTON_HOME|BUTTON_REPEAT)
122 122
123#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 123#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
124 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
124#define SUPERDOM_OK BUTTON_SELECT 125#define SUPERDOM_OK BUTTON_SELECT
125#define SUPERDOM_UP BUTTON_UP 126#define SUPERDOM_UP BUTTON_UP
126#define SUPERDOM_DOWN BUTTON_DOWN 127#define SUPERDOM_DOWN BUTTON_DOWN
diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c
index 6e1b3b6f9e..849b40de42 100644
--- a/apps/plugins/test_codec.c
+++ b/apps/plugins/test_codec.c
@@ -39,6 +39,8 @@
39#define TESTCODEC_EXITBUTTON (BUTTON_REC | BUTTON_REPEAT) 39#define TESTCODEC_EXITBUTTON (BUTTON_REC | BUTTON_REPEAT)
40#elif CONFIG_KEYPAD == RK27XX_GENERIC_PAD 40#elif CONFIG_KEYPAD == RK27XX_GENERIC_PAD
41#define TESTCODEC_EXITBUTTON (BUTTON_M | BUTTON_REPEAT) 41#define TESTCODEC_EXITBUTTON (BUTTON_M | BUTTON_REPEAT)
42#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
43#define TESTCODEC_EXITBUTTON BUTTON_BACK
42#elif defined(HAVE_TOUCHSCREEN) 44#elif defined(HAVE_TOUCHSCREEN)
43#define TESTCODEC_EXITBUTTON BUTTON_TOPLEFT 45#define TESTCODEC_EXITBUTTON BUTTON_TOPLEFT
44#else 46#else
diff --git a/apps/plugins/test_fps.c b/apps/plugins/test_fps.c
index da4684f60a..4514aa61bb 100644
--- a/apps/plugins/test_fps.c
+++ b/apps/plugins/test_fps.c
@@ -37,6 +37,8 @@
37#define FPS_QUIT (BUTTON_REC|BUTTON_REPEAT) 37#define FPS_QUIT (BUTTON_REC|BUTTON_REPEAT)
38#elif CONFIG_KEYPAD == RK27XX_GENERIC_PAD 38#elif CONFIG_KEYPAD == RK27XX_GENERIC_PAD
39#define FPS_QUIT (BUTTON_M|BUTTON_REPEAT) 39#define FPS_QUIT (BUTTON_M|BUTTON_REPEAT)
40#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
41#define FPS_QUIT BUTTON_BACK
40#elif defined(BUTTON_OFF) 42#elif defined(BUTTON_OFF)
41#define FPS_QUIT BUTTON_OFF 43#define FPS_QUIT BUTTON_OFF
42#else 44#else
diff --git a/apps/plugins/test_gfx.c b/apps/plugins/test_gfx.c
index cde77c55fe..4081e64d13 100644
--- a/apps/plugins/test_gfx.c
+++ b/apps/plugins/test_gfx.c
@@ -402,7 +402,7 @@ static void time_text(void) /* tests mono_bitmap performance */
402/* plugin entry point */ 402/* plugin entry point */
403enum plugin_status plugin_start(const void* parameter) 403enum plugin_status plugin_start(const void* parameter)
404{ 404{
405#ifndef SIMULATOR 405#ifdef HAVE_ADJUSTABLE_CPU_FREQ
406 int cpu_freq; 406 int cpu_freq;
407#endif 407#endif
408 408
@@ -447,7 +447,7 @@ enum plugin_status plugin_start(const void* parameter)
447 6*4*DURATION/HZ); 447 6*4*DURATION/HZ);
448 init_rand_table(); 448 init_rand_table();
449 449
450#ifndef SIMULATOR 450#ifdef HAVE_ADJUSTABLE_CPU_FREQ
451 cpu_freq = *rb->cpu_frequency; /* remember CPU frequency */ 451 cpu_freq = *rb->cpu_frequency; /* remember CPU frequency */
452#endif 452#endif
453 453
@@ -458,7 +458,7 @@ enum plugin_status plugin_start(const void* parameter)
458 time_fillrect(); 458 time_fillrect();
459 time_text(); 459 time_text();
460 460
461#ifndef SIMULATOR 461#ifdef HAVE_ADJUSTABLE_CPU_FREQ
462 if (*rb->cpu_frequency != cpu_freq) 462 if (*rb->cpu_frequency != cpu_freq)
463 rb->fdprintf(log_fd, "\nCPU: %s\n", "clock changed!"); 463 rb->fdprintf(log_fd, "\nCPU: %s\n", "clock changed!");
464 else 464 else
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index 697076e643..fe16b5f8ce 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -436,6 +436,16 @@
436#define TV_LINE_DOWN BUTTON_SCROLL_FWD 436#define TV_LINE_DOWN BUTTON_SCROLL_FWD
437#define TV_BOOKMARK (BUTTON_DOWN|BUTTON_SELECT) 437#define TV_BOOKMARK (BUTTON_DOWN|BUTTON_SELECT)
438 438
439#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
440#define TV_QUIT BUTTON_BACK
441#define TV_SCROLL_UP BUTTON_UP
442#define TV_SCROLL_DOWN BUTTON_DOWN
443#define TV_SCREEN_LEFT BUTTON_LEFT
444#define TV_SCREEN_RIGHT BUTTON_RIGHT
445#define TV_MENU BUTTON_MENU
446#define TV_AUTOSCROLL BUTTON_USER
447#define TV_BOOKMARK BUTTON_SELECT
448
439#else 449#else
440#error No keymap defined! 450#error No keymap defined!
441#endif 451#endif
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index cf66070c6b..7ca7b43726 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -338,6 +338,17 @@
338#define LABEL_MENU "PREV" 338#define LABEL_MENU "PREV"
339#define LABEL_VOLUME "VOL+/VOL-" 339#define LABEL_VOLUME "VOL+/VOL-"
340 340
341#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
342#define VUMETER_QUIT BUTTON_BACK
343#define VUMETER_HELP BUTTON_USER
344#define VUMETER_MENU BUTTON_MENU
345#define VUMETER_UP BUTTON_UP
346#define VUMETER_DOWN BUTTON_DOWN
347#define LABEL_HELP "User"
348#define LABEL_QUIT "Back"
349#define LABEL_MENU "Menu"
350#define LABEL_VOLUME "Up/Down"
351
341#else 352#else
342#error No keymap defined! 353#error No keymap defined!
343#endif 354#endif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 016c4ad31b..f1834aade5 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -180,7 +180,8 @@ static long max_cycle;
180#define BTN_QUIT BUTTON_POWER 180#define BTN_QUIT BUTTON_POWER
181#define BTN_STOPRESET BUTTON_REW 181#define BTN_STOPRESET BUTTON_REW
182 182
183#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 183#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
184 (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
184 185
185#define BTN_DIR_UP BUTTON_UP 186#define BTN_DIR_UP BUTTON_UP
186#define BTN_DIR_DOWN BUTTON_DOWN 187#define BTN_DIR_DOWN BUTTON_DOWN
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index 8de0c8fe16..30fd5fde13 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -277,6 +277,15 @@ CONFIG_KEYPAD == MROBE500_PAD
277#define DOWN BUTTON_DOWN 277#define DOWN BUTTON_DOWN
278#define PAUSE BUTTON_SELECT 278#define PAUSE BUTTON_SELECT
279 279
280#elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
281
282#define QUIT BUTTON_BACK
283#define LEFT BUTTON_LEFT
284#define RIGHT BUTTON_RIGHT
285#define UP BUTTON_UP
286#define DOWN BUTTON_DOWN
287#define PAUSE BUTTON_SELECT
288
280#else 289#else
281#error No keymap defined! 290#error No keymap defined!
282#endif 291#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index 4e5d73a343..317e67cd9f 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -28,7 +28,8 @@
28#define ZX_SELECT BUTTON_SELECT 28#define ZX_SELECT BUTTON_SELECT
29#define ZX_MENU BUTTON_MENU 29#define ZX_MENU BUTTON_MENU
30 30
31#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 31#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
32 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
32 33
33#define ZX_UP BUTTON_UP 34#define ZX_UP BUTTON_UP
34#define ZX_DOWN BUTTON_DOWN 35#define ZX_DOWN BUTTON_DOWN
@@ -226,6 +227,15 @@
226#define ZX_LEFT BUTTON_LEFT 227#define ZX_LEFT BUTTON_LEFT
227#define ZX_RIGHT BUTTON_RIGHT 228#define ZX_RIGHT BUTTON_RIGHT
228 229
230#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
231
232#define ZX_MENU BUTTON_MENU
233#define ZX_UP BUTTON_UP
234#define ZX_DOWN BUTTON_DOWN
235#define ZX_SELECT BUTTON_CENTER
236#define ZX_LEFT BUTTON_LEFT
237#define ZX_RIGHT BUTTON_RIGHT
238
229#else 239#else
230#error Keymap not defined! 240#error Keymap not defined!
231 241
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index fc5ed41169..e8b5219de3 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -225,6 +225,15 @@
225 225
226#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD 226#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
227 227
228#define KBD_SELECT BUTTON_CENTER
229#define KBD_ABORT BUTTON_BACK
230#define KBD_LEFT BUTTON_LEFT
231#define KBD_RIGHT BUTTON_RIGHT
232#define KBD_UP BUTTON_UP
233#define KBD_DOWN BUTTON_DOWN
234
235#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
236
228#define KBD_SELECT BUTTON_SELECT 237#define KBD_SELECT BUTTON_SELECT
229#define KBD_ABORT BUTTON_BACK 238#define KBD_ABORT BUTTON_BACK
230#define KBD_LEFT BUTTON_LEFT 239#define KBD_LEFT BUTTON_LEFT