summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/plugins/battery_bench.c9
-rw-r--r--apps/plugins/blackjack.c2
-rw-r--r--apps/plugins/bounce.c11
-rw-r--r--apps/plugins/brickmania.c16
-rw-r--r--apps/plugins/calculator.c31
-rw-r--r--apps/plugins/calendar.c13
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h2
-rw-r--r--apps/plugins/chessclock.c13
-rw-r--r--apps/plugins/chopper.c8
-rw-r--r--apps/plugins/cube.c13
-rw-r--r--apps/plugins/dict.c3
-rw-r--r--apps/plugins/doom/i_video.c8
-rw-r--r--apps/plugins/fireworks.c2
-rw-r--r--apps/plugins/flipit.c2
-rw-r--r--apps/plugins/goban/goban.h4
-rw-r--r--apps/plugins/invadrox.c10
-rw-r--r--apps/plugins/jewels.c14
-rw-r--r--apps/plugins/jpeg/jpeg.h2
-rw-r--r--apps/plugins/lib/pluginlib_actions.c9
-rw-r--r--apps/plugins/logo.c7
-rw-r--r--apps/plugins/mandelbrot.c2
-rw-r--r--apps/plugins/matrix.c2
-rw-r--r--apps/plugins/midi/midiplay.c11
-rw-r--r--apps/plugins/minesweeper.c2
-rw-r--r--apps/plugins/mosaique.c8
-rw-r--r--apps/plugins/oscilloscope.c2
-rw-r--r--apps/plugins/pacbox/pacbox.h2
-rw-r--r--apps/plugins/pegbox.c6
-rw-r--r--apps/plugins/plasma.c8
-rw-r--r--apps/plugins/pong.c11
-rw-r--r--apps/plugins/reversi/reversi-gui.h12
-rw-r--r--apps/plugins/robotfindskitten.c2
-rw-r--r--apps/plugins/rockblox.c6
-rw-r--r--apps/plugins/rockblox1d.c7
-rw-r--r--apps/plugins/rockboy/rockboy.c4
-rw-r--r--apps/plugins/rockpaint.c5
-rw-r--r--apps/plugins/sliding_puzzle.c4
-rw-r--r--apps/plugins/snake.c11
-rw-r--r--apps/plugins/snake2.c2
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c2
-rw-r--r--apps/plugins/solitaire.c2
-rw-r--r--apps/plugins/spacerocks.c4
-rw-r--r--apps/plugins/star.c20
-rw-r--r--apps/plugins/starfield.c11
-rw-r--r--apps/plugins/stats.c4
-rw-r--r--apps/plugins/stopwatch.c2
-rw-r--r--apps/plugins/sudoku/sudoku.h16
-rw-r--r--apps/plugins/superdom.c11
-rw-r--r--apps/plugins/viewer.c2
-rw-r--r--apps/plugins/vu_meter.c6
-rw-r--r--apps/plugins/wormlet.c17
-rw-r--r--apps/plugins/xobox.c13
-rw-r--r--apps/plugins/zxbox/keymaps.h11
-rw-r--r--docs/CREDITS1
55 files changed, 294 insertions, 116 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index 74fc39a693..ed7eaab7de 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -99,13 +99,18 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define BATTERY_ON BUTTON_SELECT
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "SELECT - start"
#define BATTERY_OFF_TXT "POWER"
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define BATTERY_ON BUTTON_SELECT
+#define BATTERY_OFF (BUTTON_HOME|BUTTON_REPEAT)
+#define BATTERY_ON_TXT "SELECT - start"
+#define BATTERY_OFF_TXT "Hold HOME"
+
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define BATTERY_ON BUTTON_PLAY
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 10782f75b1..1424a0130e 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -177,7 +177,7 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
#define BJACK_START BUTTON_SELECT
-#define BJACK_QUIT BUTTON_POWER
+#define BJACK_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define BJACK_MAX (BUTTON_SELECT|BUTTON_UP)
#define BJACK_MIN (BUTTON_SELECT|BUTTON_DOWN)
#define BJACK_HIT (BUTTON_SELECT|BUTTON_REL)
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index 83b56debe5..e7a214dcbb 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -92,8 +92,7 @@ PLUGIN_HEADER
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_A
-#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
#define BOUNCE_LEFT BUTTON_LEFT
#define BOUNCE_RIGHT BUTTON_RIGHT
#define BOUNCE_UP BUTTON_SCROLL_BACK
@@ -101,6 +100,14 @@ PLUGIN_HEADER
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_SELECT
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define BOUNCE_LEFT BUTTON_LEFT
+#define BOUNCE_RIGHT BUTTON_RIGHT
+#define BOUNCE_UP BUTTON_SCROLL_BACK
+#define BOUNCE_DOWN BUTTON_SCROLL_FWD
+#define BOUNCE_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define BOUNCE_MODE BUTTON_SELECT
+
#elif CONFIG_KEYPAD == SANSA_C200_PAD || \
CONFIG_KEYPAD == SANSA_CLIP_PAD || \
CONFIG_KEYPAD == SANSA_M200_PAD
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 6d667323c2..96098a1f31 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -103,8 +103,7 @@ PLUGIN_HEADER
#define DOWN BUTTON_DOWN
-#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
#define QUIT BUTTON_POWER
#define LEFT BUTTON_LEFT
@@ -117,6 +116,19 @@ PLUGIN_HEADER
#define SCROLL_BACK(x) ((x) & BUTTON_SCROLL_BACK)
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+
+#define QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define LEFT BUTTON_LEFT
+#define RIGHT BUTTON_RIGHT
+#define SELECT BUTTON_SELECT
+#define UP BUTTON_SCROLL_BACK
+#define DOWN BUTTON_SCROLL_FWD
+
+#define SCROLL_FWD(x) ((x) & BUTTON_SCROLL_FWD)
+#define SCROLL_BACK(x) ((x) & BUTTON_SCROLL_BACK)
+
+
#elif CONFIG_KEYPAD == SANSA_C200_PAD || \
CONFIG_KEYPAD == SANSA_CLIP_PAD || \
CONFIG_KEYPAD == SANSA_M200_PAD
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index df9fb9b18b..6414de645c 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -192,27 +192,40 @@ PLUGIN_HEADER
#define CALCULATOR_CALC BUTTON_MENU
#define CALCULATOR_CLEAR BUTTON_A
-#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
- (CONFIG_KEYPAD == SANSA_C200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
#define CALCULATOR_LEFT BUTTON_LEFT
#define CALCULATOR_RIGHT BUTTON_RIGHT
#define CALCULATOR_UP BUTTON_UP
#define CALCULATOR_DOWN BUTTON_DOWN
-#if defined(HAVE_SCROLLWHEEL)
-/* c200 does not have a scroll wheel */
#define CALCULATOR_UP_W_SHIFT BUTTON_SCROLL_BACK
#define CALCULATOR_DOWN_W_SHIFT BUTTON_SCROLL_FWD
-#endif
#define CALCULATOR_QUIT BUTTON_POWER
#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL)
#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT)
-#if (CONFIG_KEYPAD == SANSA_E200_PAD)
#define CALCULATOR_CLEAR BUTTON_REC
+
+#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
+#define CALCULATOR_LEFT BUTTON_LEFT
+#define CALCULATOR_RIGHT BUTTON_RIGHT
+#define CALCULATOR_UP BUTTON_UP
+#define CALCULATOR_DOWN BUTTON_DOWN
+#define CALCULATOR_QUIT BUTTON_POWER
+#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
+#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL)
+#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT)
+
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define CALCULATOR_CLEAR BUTTON_HOME
-#endif
+#define CALCULATOR_LEFT BUTTON_LEFT
+#define CALCULATOR_RIGHT BUTTON_RIGHT
+#define CALCULATOR_UP BUTTON_UP
+#define CALCULATOR_DOWN BUTTON_DOWN
+#define CALCULATOR_UP_W_SHIFT BUTTON_SCROLL_BACK
+#define CALCULATOR_DOWN_W_SHIFT BUTTON_SCROLL_FWD
+#define CALCULATOR_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define CALCULATOR_INPUT_CALC_PRE BUTTON_SELECT
+#define CALCULATOR_INPUT (BUTTON_SELECT|BUTTON_REL)
+#define CALCULATOR_CALC (BUTTON_SELECT|BUTTON_REPEAT)
#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index f0537e204f..5bcb6afc4b 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -90,8 +90,7 @@ PLUGIN_HEADER
#define CALENDAR_NEXT_MONTH BUTTON_VOL_DOWN
#define CALENDAR_PREV_MONTH BUTTON_VOL_UP
-#elif CONFIG_KEYPAD == SANSA_E200_PAD || \
- CONFIG_KEYPAD == SANSA_FUZE_PAD
+#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define CALENDAR_QUIT BUTTON_POWER
#define CALENDAR_SELECT BUTTON_SELECT
#define CALENDAR_NEXT_WEEK BUTTON_SCROLL_FWD
@@ -101,6 +100,16 @@ PLUGIN_HEADER
#define CALENDAR_NEXT_MONTH BUTTON_DOWN
#define CALENDAR_PREV_MONTH BUTTON_UP
+#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
+#define CALENDAR_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define CALENDAR_SELECT BUTTON_SELECT
+#define CALENDAR_NEXT_WEEK BUTTON_SCROLL_FWD
+#define CALENDAR_PREV_WEEK BUTTON_SCROLL_BACK
+#define CALENDAR_NEXT_DAY BUTTON_RIGHT
+#define CALENDAR_PREV_DAY BUTTON_LEFT
+#define CALENDAR_NEXT_MONTH BUTTON_DOWN
+#define CALENDAR_PREV_MONTH BUTTON_UP
+
#elif CONFIG_KEYPAD == SANSA_C200_PAD || \
CONFIG_KEYPAD == SANSA_CLIP_PAD || \
CONFIG_KEYPAD == SANSA_M200_PAD
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 3e36c815bd..16358e1a40 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -210,7 +210,7 @@
#define CB_PLAY (BUTTON_SELECT | BUTTON_RIGHT)
#define CB_LEVEL (BUTTON_SELECT|BUTTON_LEFT)
#define CB_RESTART (BUTTON_SELECT | BUTTON_REPEAT)
-#define CB_MENU BUTTON_POWER
+#define CB_MENU (BUTTON_HOME|BUTTON_REPEAT)
#define CB_SCROLL_UP (BUTTON_SCROLL_UP|BUTTON_REPEAT)
#define CB_SCROLL_DOWN (BUTTON_SCROLL_DOWN|BUTTON_REPEAT)
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 53180fe271..f3210f29c8 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -124,8 +124,7 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define CHC_QUIT BUTTON_POWER
#define CHC_STARTSTOP BUTTON_SELECT
#define CHC_RESET BUTTON_DOWN
@@ -135,6 +134,16 @@ PLUGIN_HEADER
#define CHC_SETTINGS_OK BUTTON_SELECT
#define CHC_SETTINGS_CANCEL BUTTON_POWER
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define CHC_QUIT BUTTON_POWER
+#define CHC_STARTSTOP BUTTON_SELECT
+#define CHC_RESET BUTTON_DOWN
+#define CHC_MENU BUTTON_UP
+#define CHC_SETTINGS_INC BUTTON_RIGHT
+#define CHC_SETTINGS_DEC BUTTON_LEFT
+#define CHC_SETTINGS_OK BUTTON_SELECT
+#define CHC_SETTINGS_CANCEL (BUTTON_HOME|BUTTON_REPEAT)
+
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define CHC_QUIT BUTTON_POWER
#define CHC_STARTSTOP BUTTON_PLAY
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index e3bf0205f3..9997d204d8 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -70,12 +70,16 @@ Still To do:
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define QUIT BUTTON_POWER
#define ACTION BUTTON_SELECT
#define ACTIONTEXT "SELECT"
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define ACTION BUTTON_SELECT
+#define ACTIONTEXT "SELECT"
+
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define QUIT BUTTON_MENU
#define ACTION BUTTON_SELECT
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 2f100b2f79..1cd8740b1a 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -130,8 +130,7 @@ PLUGIN_HEADER
#define CUBE_PAUSE BUTTON_SELECT
#define CUBE_HIGHSPEED BUTTON_A
-#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
#define CUBE_QUIT BUTTON_POWER
#define CUBE_NEXT BUTTON_RIGHT
#define CUBE_PREV BUTTON_LEFT
@@ -141,6 +140,16 @@ PLUGIN_HEADER
#define CUBE_PAUSE BUTTON_UP
#define CUBE_HIGHSPEED BUTTON_SELECT
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define CUBE_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define CUBE_NEXT BUTTON_RIGHT
+#define CUBE_PREV BUTTON_LEFT
+#define CUBE_INC BUTTON_SCROLL_FWD
+#define CUBE_DEC BUTTON_SCROLL_BACK
+#define CUBE_MODE BUTTON_DOWN
+#define CUBE_PAUSE BUTTON_UP
+#define CUBE_HIGHSPEED BUTTON_SELECT
+
#elif (CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
(CONFIG_KEYPAD == SANSA_M200_PAD)
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index aa35fb628d..5c57f7b2a5 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -121,8 +121,7 @@ long reverse (long N) {
(CONFIG_KEYPAD == SANSA_M200_PAD)
#define LP_QUIT BUTTON_POWER
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-/* TODO: #define LP_QUIT BUTTOM_HOME */
-#define LP_QUIT BUTTON_POWER
+#define LP_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define LP_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == MROBE500_PAD
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 418fcd4404..2f0c9b42fd 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -207,10 +207,10 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_DOWN BUTTON_DOWN
#define DOOMBUTTON_LEFT BUTTON_LEFT
#define DOOMBUTTON_RIGHT BUTTON_RIGHT
-#define DOOMBUTTON_SHOOT BUTTON_SELECT
-#define DOOMBUTTON_OPEN BUTTON_HOME
-#define DOOMBUTTON_ESC BUTTON_POWER
-#define DOOMBUTTON_ENTER BUTTON_SELECT
+#define DOOMBUTTON_SHOOT (BUTTON_SELECT | BUTTON_REL)
+#define DOOMBUTTON_OPEN (BUTTON_SELECT | BUTTON_HOME)
+#define DOOMBUTTON_ESC (BUTTON_HOME|BUTTON_REPEAT)
+#define DOOMBUTTON_ENTER (BUTTON_SELECT | BUTTON_REL)
#define DOOMBUTTON_WEAPON DOOMBUTTON_SCROLLWHEEL_CW
#elif CONFIG_KEYPAD == SANSA_C200_PAD
#define DOOMBUTTON_UP BUTTON_UP
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index f1a30e7b50..726b3eb381 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -74,7 +74,7 @@ PLUGIN_HEADER
#define BTN_FIRE BUTTON_SELECT
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define BTN_MENU BUTTON_DOWN
+#define BTN_MENU (BUTTON_HOME|BUTTON_REPEAT)
#define BTN_FIRE BUTTON_SELECT
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 77c197e3aa..3c7d543882 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -152,7 +152,7 @@ PLUGIN_HEADER
#define FLIPIT_DOWN BUTTON_DOWN
#define FLIPIT_NEXT BUTTON_SCROLL_FWD
#define FLIPIT_PREV BUTTON_SCROLL_BACK
-#define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_UP)
+#define FLIPIT_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define FLIPIT_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT)
#define FLIPIT_SOLVE (BUTTON_SELECT | BUTTON_DOWN)
#define FLIPIT_STEP_BY_STEP (BUTTON_SELECT | BUTTON_RIGHT)
diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h
index 8c7ca9a603..9a77221586 100644
--- a/apps/plugins/goban/goban.h
+++ b/apps/plugins/goban/goban.h
@@ -97,10 +97,10 @@
#define GBN_BUTTON_RIGHT BUTTON_RIGHT
#define GBN_BUTTON_RETREAT BUTTON_SCROLL_BACK
#define GBN_BUTTON_ADVANCE BUTTON_SCROLL_FWD
-#define GBN_BUTTON_MENU BUTTON_POWER
+#define GBN_BUTTON_MENU (BUTTON_HOME|BUTTON_REPEAT)
#define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
#define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
-#define GBN_BUTTON_NEXT_VAR BUTTON_HOME
+/* No next var */
#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
#define GBN_BUTTON_UP BUTTON_UP
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index 1526409687..6c3d52206e 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -93,14 +93,20 @@ PLUGIN_HEADER
#define RIGHT BUTTON_RIGHT
#define FIRE BUTTON_SELECT
-#elif CONFIG_KEYPAD == SANSA_E200_PAD || \
- CONFIG_KEYPAD == SANSA_FUZE_PAD
+#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_LEFT
#define RIGHT BUTTON_RIGHT
#define FIRE BUTTON_SELECT
+#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
+
+#define QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define LEFT BUTTON_LEFT
+#define RIGHT BUTTON_RIGHT
+#define FIRE BUTTON_SELECT
+
#elif CONFIG_KEYPAD == ELIO_TPJ1022_PAD
/* TODO: Figure out which buttons to use for Tatung Elio TPJ-1022 */
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 0c5fb49546..922f32dd8b 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -98,8 +98,7 @@ PLUGIN_HEADER
#define JEWELS_SELECT BUTTON_SELECT
#define JEWELS_CANCEL BUTTON_POWER
-#elif CONFIG_KEYPAD == SANSA_E200_PAD || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define JEWELS_SCROLLWHEEL
#define JEWELS_UP BUTTON_UP
#define JEWELS_DOWN BUTTON_DOWN
@@ -110,6 +109,17 @@ PLUGIN_HEADER
#define JEWELS_SELECT BUTTON_SELECT
#define JEWELS_CANCEL BUTTON_POWER
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define JEWELS_SCROLLWHEEL
+#define JEWELS_UP BUTTON_UP
+#define JEWELS_DOWN BUTTON_DOWN
+#define JEWELS_LEFT BUTTON_LEFT
+#define JEWELS_RIGHT BUTTON_RIGHT
+#define JEWELS_PREV BUTTON_SCROLL_BACK
+#define JEWELS_NEXT BUTTON_SCROLL_FWD
+#define JEWELS_SELECT BUTTON_SELECT
+#define JEWELS_CANCEL (BUTTON_HOME|BUTTON_REPEAT)
+
#elif CONFIG_KEYPAD == SANSA_C200_PAD || \
CONFIG_KEYPAD == SANSA_CLIP_PAD || \
CONFIG_KEYPAD == SANSA_M200_PAD
diff --git a/apps/plugins/jpeg/jpeg.h b/apps/plugins/jpeg/jpeg.h
index 0947b576e9..e9c9b2d383 100644
--- a/apps/plugins/jpeg/jpeg.h
+++ b/apps/plugins/jpeg/jpeg.h
@@ -141,7 +141,7 @@
#define JPEG_DOWN BUTTON_DOWN
#define JPEG_LEFT BUTTON_LEFT
#define JPEG_RIGHT BUTTON_RIGHT
-#define JPEG_MENU BUTTON_POWER
+#define JPEG_MENU (BUTTON_HOME|BUTTON_REPEAT)
#define JPEG_NEXT BUTTON_SCROLL_FWD
#define JPEG_NEXT_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
#define JPEG_PREVIOUS BUTTON_SCROLL_BACK
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 5b4aa60c73..773b1032bd 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -375,13 +375,18 @@ const struct button_mapping generic_actions[] =
#elif CONFIG_KEYPAD == SANSA_E200_PAD || \
CONFIG_KEYPAD == SANSA_C200_PAD || \
CONFIG_KEYPAD == SANSA_CLIP_PAD || \
- CONFIG_KEYPAD == SANSA_M200_PAD || \
- CONFIG_KEYPAD == SANSA_FUZE_PAD
+ CONFIG_KEYPAD == SANSA_M200_PAD
{PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
{PLA_START, BUTTON_UP, BUTTON_NONE},
{PLA_MENU, BUTTON_DOWN, BUTTON_NONE},
{PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
{PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
+#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
+ {PLA_QUIT, (BUTTON_HOME|BUTTON_REPEAT), BUTTON_NONE},
+ {PLA_START, BUTTON_UP, BUTTON_NONE},
+ {PLA_MENU, BUTTON_DOWN, BUTTON_NONE},
+ {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
+ {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
{PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
{PLA_START, BUTTON_PLAY, BUTTON_NONE},
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index 5438ca7b8d..2ec1b38271 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -106,6 +106,13 @@ const unsigned char rockbox16x7[] = {
#define LP_DEC_Y BUTTON_DOWN
#define LP_INC_Y BUTTON_UP
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define LP_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define LP_DEC_X BUTTON_LEFT
+#define LP_INC_X BUTTON_RIGHT
+#define LP_DEC_Y BUTTON_DOWN
+#define LP_INC_Y BUTTON_UP
+
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define LP_QUIT BUTTON_POWER
#define LP_DEC_X BUTTON_LEFT
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 931777632e..82d694e293 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -139,7 +139,7 @@ PLUGIN_HEADER
#define MANDELBROT_RESET BUTTON_REC
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
-#define MANDELBROT_QUIT BUTTON_POWER
+#define MANDELBROT_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define MANDELBROT_UP BUTTON_UP
#define MANDELBROT_DOWN BUTTON_DOWN
#define MANDELBROT_LEFT BUTTON_LEFT
diff --git a/apps/plugins/matrix.c b/apps/plugins/matrix.c
index 5559c0091c..060dd2efe6 100644
--- a/apps/plugins/matrix.c
+++ b/apps/plugins/matrix.c
@@ -89,7 +89,7 @@ extern const fb_data matrix_normal[];
#define MATRIX_PAUSE BUTTON_SELECT
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
-#define MATRIX_EXIT BUTTON_DOWN
+#define MATRIX_EXIT (BUTTON_HOME|BUTTON_REPEAT)
#define MATRIX_SLEEP_MORE BUTTON_SCROLL_BACK|BUTTON_REPEAT
#define MATRIX_SLEEP_LESS BUTTON_SCROLL_FWD|BUTTON_REPEAT
#define MATRIX_PAUSE BUTTON_SELECT
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index fea5e99aab..fe9bc230c9 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -66,8 +66,7 @@ PLUGIN_IRAM_DECLARE
#define BTN_PLAY BUTTON_PLAY
-#elif (CONFIG_KEYPAD == SANSA_E200_PAD) \
- || (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
#define BTN_QUIT BUTTON_POWER
#define BTN_RIGHT BUTTON_RIGHT
#define BTN_LEFT BUTTON_LEFT
@@ -75,6 +74,14 @@ PLUGIN_IRAM_DECLARE
#define BTN_DOWN BUTTON_SCROLL_BACK
#define BTN_PLAY BUTTON_UP
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define BTN_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define BTN_RIGHT BUTTON_RIGHT
+#define BTN_LEFT BUTTON_LEFT
+#define BTN_UP BUTTON_SCROLL_FWD
+#define BTN_DOWN BUTTON_SCROLL_BACK
+#define BTN_PLAY BUTTON_UP
+
#elif (CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index a29900ced3..e4eaacbbdc 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -141,7 +141,7 @@ enum minesweeper_status {
# define MINESWP_RIGHT BUTTON_RIGHT
# define MINESWP_UP BUTTON_UP
# define MINESWP_DOWN BUTTON_DOWN
-# define MINESWP_QUIT BUTTON_POWER
+# define MINESWP_QUIT (BUTTON_HOME|BUTTON_REPEAT)
# define MINESWP_TOGGLE BUTTON_SCROLL_FWD
# define MINESWP_DISCOVER BUTTON_SELECT
# define MINESWP_INFO BUTTON_SCROLL_BACK
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index dcbbf523ec..de2a6c441f 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -96,12 +96,16 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define MOSAIQUE_QUIT BUTTON_POWER
#define MOSAIQUE_SPEED BUTTON_DOWN
#define MOSAIQUE_RESTART BUTTON_SELECT
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define MOSAIQUE_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define MOSAIQUE_SPEED BUTTON_DOWN
+#define MOSAIQUE_RESTART BUTTON_SELECT
+
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define MOSAIQUE_QUIT BUTTON_POWER
#define MOSAIQUE_SPEED BUTTON_FF
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 5b6d83e022..6e69c3ccf0 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -112,7 +112,7 @@ PLUGIN_HEADER
#define OSCILLOSCOPE_VOL_DOWN BUTTON_SCROLL_BACK
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define OSCILLOSCOPE_QUIT BUTTON_DOWN
+#define OSCILLOSCOPE_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define OSCILLOSCOPE_DRAWMODE (BUTTON_SELECT | BUTTON_REL)
#define OSCILLOSCOPE_ADVMODE (BUTTON_SELECT | BUTTON_RIGHT)
#define OSCILLOSCOPE_ORIENTATION (BUTTON_SELECT | BUTTON_LEFT)
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 593179c44e..66bc9bee93 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -121,7 +121,7 @@
#define PACMAN_1UP BUTTON_SELECT
#define PACMAN_COIN_PRE BUTTON_SELECT
#define PACMAN_COIN (BUTTON_SELECT | BUTTON_DOWN)
-#define PACMAN_MENU BUTTON_POWER
+#define PACMAN_MENU (BUTTON_HOME|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index b1e1738999..137b2e36f8 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -194,9 +194,7 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
#define PEGBOX_SAVE BUTTON_SELECT|BUTTON_REL
-#define PEGBOX_QUIT BUTTON_POWER
-/* FIXME:
-#define PEGBOX_RESTART BUTTON_HOME */
+#define PEGBOX_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define PEGBOX_RESTART BUTTON_SELECT|BUTTON_LEFT
#define PEGBOX_LVL_UP BUTTON_SCROLL_BACK
#define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD
@@ -206,7 +204,7 @@ PLUGIN_HEADER
#define PEGBOX_LEFT BUTTON_LEFT
#define SAVE_TEXT "SELECT"
-#define QUIT_TEXT "POWER"
+#define QUIT_TEXT "HOME"
#define RESTART_TEXT "SELECT & LEFT"
#define LVL_UP_TEXT "SCROLL BACK"
#define LVL_DOWN_TEXT "SCROLL FWD"
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index 44c7add0dd..2a3e43e6b8 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -69,12 +69,16 @@ static int plasma_frequency;
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define PLASMA_QUIT BUTTON_POWER
#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define PLASMA_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
+#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
+
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define PLASMA_QUIT BUTTON_POWER
#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index ae6a1b5f1c..e2b4befe82 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -104,8 +104,7 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define PONG_QUIT BUTTON_POWER
#define PONG_PAUSE BUTTON_SELECT
#define PONG_LEFT_UP BUTTON_LEFT
@@ -113,6 +112,14 @@ PLUGIN_HEADER
#define PONG_RIGHT_UP BUTTON_UP
#define PONG_RIGHT_DOWN BUTTON_RIGHT
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define PONG_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define PONG_PAUSE BUTTON_SELECT
+#define PONG_LEFT_UP BUTTON_LEFT
+#define PONG_LEFT_DOWN BUTTON_DOWN
+#define PONG_RIGHT_UP BUTTON_UP
+#define PONG_RIGHT_DOWN BUTTON_RIGHT
+
#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
#define PONG_QUIT BUTTON_POWER
#define PONG_PAUSE BUTTON_SELECT
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 7dd04bf464..99ab130108 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -109,8 +109,7 @@
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
-(CONFIG_KEYPAD == SANSA_M200_PAD) || \
-(CONFIG_KEYPAD == SANSA_FUZE_PAD)
+(CONFIG_KEYPAD == SANSA_M200_PAD)
#define REVERSI_BUTTON_QUIT BUTTON_POWER
#define REVERSI_BUTTON_UP BUTTON_UP
#define REVERSI_BUTTON_DOWN BUTTON_DOWN
@@ -119,6 +118,15 @@
#define REVERSI_BUTTON_MAKE_MOVE (BUTTON_SELECT|BUTTON_REL)
#define REVERSI_BUTTON_MENU (BUTTON_SELECT|BUTTON_REPEAT)
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define REVERSI_BUTTON_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define REVERSI_BUTTON_UP BUTTON_UP
+#define REVERSI_BUTTON_DOWN BUTTON_DOWN
+#define REVERSI_BUTTON_LEFT BUTTON_LEFT
+#define REVERSI_BUTTON_RIGHT BUTTON_RIGHT
+#define REVERSI_BUTTON_MAKE_MOVE (BUTTON_SELECT|BUTTON_REL)
+#define REVERSI_BUTTON_MENU (BUTTON_SELECT|BUTTON_REPEAT)
+
#elif CONFIG_KEYPAD == MROBE500_PAD
#define REVERSI_QUIT BUTTON_POWER
#define REVERSI_BUTTON_UP BUTTON_RC_PLAY
diff --git a/apps/plugins/robotfindskitten.c b/apps/plugins/robotfindskitten.c
index 7ae572152a..1010531951 100644
--- a/apps/plugins/robotfindskitten.c
+++ b/apps/plugins/robotfindskitten.c
@@ -485,7 +485,7 @@ static char* messages[] =
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
# undef __PLUGINLIB_ACTIONS_H__
-# define RFK_QUIT (BUTTON_SELECT | BUTTON_REPEAT)
+# define RFK_QUIT (BUTTON_HOME|BUTTON_REPEAT)
# define RFK_RIGHT BUTTON_RIGHT
# define RFK_LEFT BUTTON_LEFT
# define RFK_UP BUTTON_UP
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index cea5e8a3c7..1c23663cdb 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -124,15 +124,15 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
-#define ROCKBLOX_OFF BUTTON_POWER
+#define ROCKBLOX_OFF (BUTTON_HOME|BUTTON_REPEAT)
#define ROCKBLOX_ROTATE_RIGHT BUTTON_SCROLL_BACK
#define ROCKBLOX_ROTATE_RIGHT2 BUTTON_UP
#define ROCKBLOX_ROTATE_LEFT BUTTON_SCROLL_FWD
#define ROCKBLOX_DOWN BUTTON_DOWN
#define ROCKBLOX_LEFT BUTTON_LEFT
#define ROCKBLOX_RIGHT BUTTON_RIGHT
-#define ROCKBLOX_DROP BUTTON_SELECT
-#define ROCKBLOX_RESTART BUTTON_HOME
+#define ROCKBLOX_DROP (BUTTON_SELECT | BUTTON_REL)
+#define ROCKBLOX_RESTART (BUTTON_SELECT | BUTTON_UP)
#elif CONFIG_KEYPAD == SANSA_C200_PAD
diff --git a/apps/plugins/rockblox1d.c b/apps/plugins/rockblox1d.c
index f024a004a7..6b745fbb73 100644
--- a/apps/plugins/rockblox1d.c
+++ b/apps/plugins/rockblox1d.c
@@ -61,11 +61,14 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == SANSA_E200_PAD || \
CONFIG_KEYPAD == SANSA_C200_PAD || \
CONFIG_KEYPAD == SANSA_CLIP_PAD || \
- CONFIG_KEYPAD == SANSA_M200_PAD || \
- CONFIG_KEYPAD == SANSA_FUZE_PAD
+ CONFIG_KEYPAD == SANSA_M200_PAD
#define ONEDROCKBLOX_DOWN BUTTON_SELECT
#define ONEDROCKBLOX_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
+#define ONEDROCKBLOX_DOWN BUTTON_SELECT
+#define ONEDROCKBLOX_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define ONEDROCKBLOX_DOWN BUTTON_PLAY
#define ONEDROCKBLOX_QUIT BUTTON_POWER
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 26b05c41df..38f4fe1aa1 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -158,10 +158,10 @@ static void setoptions (void)
options.DOWN=BUTTON_DOWN;
options.A=BUTTON_SELECT;
- options.B=BUTTON_HOME;
+ options.B=BUTTON_LEFT;
options.START=BUTTON_SCROLL_BACK;
options.SELECT=BUTTON_SCROLL_FWD;
- options.MENU=BUTTON_POWER;
+ options.MENU=BUTTON_HOME;
#elif CONFIG_KEYPAD == SANSA_C200_PAD
options.UP=BUTTON_UP;
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 3027141dbd..4db36a085c 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -96,12 +96,9 @@ PLUGIN_HEADER
#define ROCKPAINT_RIGHT BUTTON_RIGHT
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define ROCKPAINT_QUIT BUTTON_POWER
+#define ROCKPAINT_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define ROCKPAINT_DRAW BUTTON_SELECT
#define ROCKPAINT_MENU ( BUTTON_SELECT | BUTTON_DOWN )
-/* FIXME:
-#define ROCKPAINT_TOOLBAR BUTTON_HOME
-#define ROCKPAINT_TOOLBAR2 ( BUTTON_HOME | BUTTON_LEFT ) */
#define ROCKPAINT_TOOLBAR ( BUTTON_SELECT | BUTTON_LEFT )
#define ROCKPAINT_TOOLBAR2 ( BUTTON_SELECT | BUTTON_RIGHT )
#define ROCKPAINT_UP BUTTON_UP
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index f9288d5488..994b8fc15b 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -104,13 +104,11 @@ PLUGIN_HEADER
#define PUZZLE_PICTURE BUTTON_SELECT
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define PUZZLE_QUIT BUTTON_POWER
+#define PUZZLE_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define PUZZLE_LEFT BUTTON_LEFT
#define PUZZLE_RIGHT BUTTON_RIGHT
#define PUZZLE_UP BUTTON_UP
#define PUZZLE_DOWN BUTTON_DOWN
-/* FIXME:
-#define PUZZLE_SHUFFLE BUTTON_HOME */
#define PUZZLE_SHUFFLE BUTTON_SELECT|BUTTON_DOWN
#define PUZZLE_PICTURE BUTTON_SELECT
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 488de00586..5def0df1f4 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -102,8 +102,7 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_LEFT
#define SNAKE_RIGHT BUTTON_RIGHT
@@ -111,6 +110,14 @@ PLUGIN_HEADER
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define SNAKE_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
+#define SNAKE_UP BUTTON_UP
+#define SNAKE_DOWN BUTTON_DOWN
+#define SNAKE_PLAYPAUSE BUTTON_SELECT
+
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_LEFT
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 9ebe4afc8d..eb2746ab7f 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -254,7 +254,7 @@ PLUGIN_HEADER
#define SNAKE2_RIGHT BUTTON_RIGHT
#define SNAKE2_UP BUTTON_UP
#define SNAKE2_DOWN BUTTON_DOWN
-#define SNAKE2_QUIT BUTTON_POWER
+#define SNAKE2_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define SNAKE2_LEVEL_UP BUTTON_UP
#define SNAKE2_LEVEL_DOWN BUTTON_DOWN
#define SNAKE2_MAZE_NEXT BUTTON_RIGHT
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index 05a5637f7e..63db9ab453 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -54,7 +54,7 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == SANSA_M200_PAD)
#define SNOW_QUIT BUTTON_POWER
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define SNOW_QUIT BUTTON_DOWN
+#define SNOW_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define SNOW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == MROBE500_PAD
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index ea104eca39..d027794127 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -225,7 +225,7 @@ PLUGIN_HEADER
#define SOKOBAN_RIGHT BUTTON_RIGHT
#define SOKOBAN_UP BUTTON_UP
#define SOKOBAN_DOWN BUTTON_DOWN
-#define SOKOBAN_MENU BUTTON_POWER
+#define SOKOBAN_MENU (BUTTON_HOME|BUTTON_REPEAT)
#define SOKOBAN_UNDO_PRE BUTTON_SELECT
#define SOKOBAN_UNDO (BUTTON_SELECT | BUTTON_REL)
#define SOKOBAN_REDO (BUTTON_SELECT | BUTTON_LEFT)
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index a2b4cb84a2..619051fb92 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -201,7 +201,7 @@ PLUGIN_HEADER
# define HK_REM2STACK "RIGHT"
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-# define SOL_QUIT BUTTON_POWER
+# define SOL_QUIT (BUTTON_HOME|BUTTON_REPEAT)
# define SOL_UP BUTTON_UP
# define SOL_DOWN BUTTON_DOWN
# define SOL_LEFT BUTTON_SCROLL_BACK
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 44f6272199..6277c57524 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -135,8 +135,8 @@ PLUGIN_HEADER
#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT)
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define AST_PAUSE BUTTON_HOME
-#define AST_QUIT BUTTON_POWER
+#define AST_PAUSE (BUTTON_SELECT | BUTTON_UP)
+#define AST_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define AST_THRUST_REP (BUTTON_UP | BUTTON_REPEAT)
#define AST_THRUST BUTTON_UP
#define AST_HYPERSPACE BUTTON_DOWN
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 9a6dff134f..d7524516f4 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -160,13 +160,27 @@ PLUGIN_HEADER
#define STAR_LEVEL_REPEAT BUTTON_A
#define STAR_MENU_RUN BUTTON_SELECT
+
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
-(CONFIG_KEYPAD == SANSA_M200_PAD) || \
-(CONFIG_KEYPAD == SANSA_FUZE_PAD)
+(CONFIG_KEYPAD == SANSA_M200_PAD)
+
+#define STAR_QUIT BUTTON_POWER
+#define STAR_LEFT BUTTON_LEFT
+#define STAR_RIGHT BUTTON_RIGHT
+#define STAR_UP BUTTON_UP
+#define STAR_DOWN BUTTON_DOWN
+#define STAR_TOGGLE_CONTROL BUTTON_SELECT
+#define STAR_LEVEL_UP (BUTTON_SELECT | BUTTON_RIGHT)
+#define STAR_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT)
+#define STAR_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_DOWN)
+#define STAR_MENU_RUN BUTTON_SELECT
+
+
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define STAR_QUIT BUTTON_POWER
+#define STAR_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define STAR_LEFT BUTTON_LEFT
#define STAR_RIGHT BUTTON_RIGHT
#define STAR_UP BUTTON_UP
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 1153689fed..5c714b59ee 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -64,8 +64,7 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
@@ -73,6 +72,14 @@ PLUGIN_HEADER
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define STARFIELD_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
+#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
+#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
+#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
+#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
+
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define STARFIELD_QUIT BUTTON_BACK
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index 5675458f24..659f3e6763 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -61,9 +61,7 @@ static bool abort;
#define STATS_STOP BUTTON_POWER
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-/* FIXME:
-#define STATS_STOP BUTTON_HOME */
-#define STATS_STOP BUTTON_DOWN
+#define STATS_STOP BUTTON_HOME
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define STATS_STOP BUTTON_POWER
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 1b6a148caa..19ccc5006d 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -123,7 +123,7 @@ PLUGIN_HEADER
#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define STOPWATCH_QUIT BUTTON_POWER
+#define STOPWATCH_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define STOPWATCH_START_STOP BUTTON_RIGHT
#define STOPWATCH_RESET_TIMER BUTTON_LEFT
#define STOPWATCH_LAP_TIMER BUTTON_SELECT
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 1524416342..0a2197c1f0 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -135,15 +135,15 @@
#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-#define SUDOKU_BUTTON_QUIT BUTTON_POWER
-#define SUDOKU_BUTTON_UP BUTTON_UP
-#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
-#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
-#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
+#define SUDOKU_BUTTON_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define SUDOKU_BUTTON_UP BUTTON_UP
+#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
+#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
+#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_SCROLL_BACK
-#define SUDOKU_BUTTON_TOGGLE BUTTON_SCROLL_FWD
-#define SUDOKU_BUTTON_MENU BUTTON_SELECT
-#define SUDOKU_BUTTON_POSSIBLE BUTTON_HOME
+#define SUDOKU_BUTTON_TOGGLE BUTTON_SCROLL_FWD
+#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
+#define SUDOKU_BUTTON_POSSIBLE (BUTTON_SELECT | BUTTON_UP)
#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c
index 87621861d9..a3e671cd8b 100644
--- a/apps/plugins/superdom.c
+++ b/apps/plugins/superdom.c
@@ -113,8 +113,7 @@ char buf[255];
#define SUPERDOM_RIGHT BUTTON_RIGHT
#define SUPERDOM_CANCEL BUTTON_POWER
-#elif CONFIG_KEYPAD == SANSA_E200_PAD || \
- CONFIG_KEYPAD == SANSA_FUZE_PAD
+#elif CONFIG_KEYPAD == SANSA_E200_PAD
#define SUPERDOM_OK BUTTON_SELECT
#define SUPERDOM_UP BUTTON_SCROLL_BACK
#define SUPERDOM_DOWN BUTTON_SCROLL_FWD
@@ -122,6 +121,14 @@ char buf[255];
#define SUPERDOM_RIGHT BUTTON_RIGHT
#define SUPERDOM_CANCEL BUTTON_POWER
+#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
+#define SUPERDOM_OK BUTTON_SELECT
+#define SUPERDOM_UP BUTTON_SCROLL_BACK
+#define SUPERDOM_DOWN BUTTON_SCROLL_FWD
+#define SUPERDOM_LEFT BUTTON_LEFT
+#define SUPERDOM_RIGHT BUTTON_RIGHT
+#define SUPERDOM_CANCEL (BUTTON_HOME|BUTTON_REPEAT)
+
#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
#define SUPERDOM_OK BUTTON_SELECT
#define SUPERDOM_UP BUTTON_UP
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index 403213ef80..e17033fcd1 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -187,7 +187,7 @@ PLUGIN_HEADER
/* Sansa Fuze keys */
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
-#define VIEWER_QUIT BUTTON_POWER
+#define VIEWER_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define VIEWER_PAGE_UP BUTTON_UP
#define VIEWER_PAGE_DOWN BUTTON_DOWN
#define VIEWER_SCREEN_LEFT BUTTON_LEFT
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 4124b94563..b5e9afa5bf 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -124,9 +124,7 @@ PLUGIN_HEADER
#define LABEL_VOLUME "Wheel"
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
-/* FIXME:
-#define VUMETER_QUIT BUTTON_HOME */
-#define VUMETER_QUIT BUTTON_DOWN
+#define VUMETER_QUIT (BUTTON_HOME|BUTTON_REPEAT)
#define VUMETER_HELP BUTTON_SELECT|BUTTON_REPEAT
#define VUMETER_MENU BUTTON_SELECT|BUTTON_REL
#define VUMETER_MENU_EXIT BUTTON_SELECT
@@ -134,7 +132,7 @@ PLUGIN_HEADER
#define VUMETER_UP BUTTON_SCROLL_FWD
#define VUMETER_DOWN BUTTON_SCROLL_BACK
#define LABEL_HELP "Hold Select"
-#define LABEL_QUIT "Down"
+#define LABEL_QUIT "HOME"
#define LABEL_MENU "Select"
#define LABEL_VOLUME "Scrollwheel"
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 52b7566e40..cc8bf07d91 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -165,9 +165,7 @@ PLUGIN_HEADER
#define PLAYERS_TEXT "Up/Down"
#define WORMS_TEXT "Left/Right"
-
-#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
#define BTN_DIR_UP BUTTON_UP
#define BTN_DIR_DOWN BUTTON_DOWN
@@ -180,6 +178,19 @@ PLUGIN_HEADER
#define PLAYERS_TEXT "Up/Down"
#define WORMS_TEXT "Left/Right"
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+
+#define BTN_DIR_UP BUTTON_UP
+#define BTN_DIR_DOWN BUTTON_DOWN
+#define BTN_DIR_LEFT BUTTON_LEFT
+#define BTN_DIR_RIGHT BUTTON_RIGHT
+#define BTN_STARTPAUSE BUTTON_SELECT
+#define BTN_QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define BTN_STOPRESET (BUTTON_SELECT | BUTTON_UP)
+
+#define PLAYERS_TEXT "Up/Down"
+#define WORMS_TEXT "Left/Right"
+
#elif (CONFIG_KEYPAD == SANSA_M200_PAD)
#define BTN_DIR_UP BUTTON_UP
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index 704ffb0df0..96a68b1447 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -87,9 +87,7 @@ PLUGIN_HEADER
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_REC
-
-#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
#define QUIT BUTTON_POWER
#define LEFT BUTTON_LEFT
@@ -98,6 +96,15 @@ PLUGIN_HEADER
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_HOME
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+
+#define QUIT (BUTTON_HOME|BUTTON_REPEAT)
+#define LEFT BUTTON_LEFT
+#define RIGHT BUTTON_RIGHT
+#define UP BUTTON_UP
+#define DOWN BUTTON_DOWN
+#define PAUSE BUTTON_SELECT
+
#elif (CONFIG_KEYPAD == SANSA_M200_PAD)
#define QUIT BUTTON_POWER
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index ab5073fb7a..965cfea048 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -89,8 +89,7 @@
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
- (CONFIG_KEYPAD == SANSA_M200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+ (CONFIG_KEYPAD == SANSA_M200_PAD)
#define ZX_SELECT BUTTON_SELECT
#define ZX_MENU BUTTON_POWER
#define ZX_LEFT BUTTON_LEFT
@@ -98,6 +97,14 @@
#define ZX_UP BUTTON_UP
#define ZX_DOWN BUTTON_DOWN
+#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
+#define ZX_SELECT BUTTON_SELECT
+#define ZX_MENU (BUTTON_HOME|BUTTON_REPEAT)
+#define ZX_LEFT BUTTON_LEFT
+#define ZX_RIGHT BUTTON_RIGHT
+#define ZX_UP BUTTON_UP
+#define ZX_DOWN BUTTON_DOWN
+
#elif CONFIG_KEYPAD == MROBE500_PAD
#define ZX_UP BUTTON_RC_PLAY
#define ZX_DOWN BUTTON_RC_DOWN
diff --git a/docs/CREDITS b/docs/CREDITS
index 3db0a792df..a6479b7513 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -459,6 +459,7 @@ Michaƫl Burtin
Sasha Khamkov
Kai Posadowsky
Jack Halpin
+Johannes Schwarz
The libmad team
The wavpack team