summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2018-02-22 23:42:29 +0100
committerSebastian Leonhardt <sebastian.leonhardt@web.de>2018-04-03 11:34:01 +0200
commit0486e5b93e422d0bd240439f02a8509a6c5bcbc5 (patch)
treec0da5e6a86d5f352e89cedaed515c3ce201481b9 /apps/plugins
parentfb3f7651fd68bf3b8c7e4dbd62dbb2b3505f929a (diff)
downloadrockbox-0486e5b93e422d0bd240439f02a8509a6c5bcbc5.zip
rockbox-0486e5b93e422d0bd240439f02a8509a6c5bcbc5.tar.gz
rockbox-0486e5b93e422d0bd240439f02a8509a6c5bcbc5.tar.bz2
rockbox-0486e5b93e422d0bd240439f02a8509a6c5bcbc5.tar.xz
Zen XFi2: Enable Plugins
Keymaps aren't tested, there may be room for improvement. Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/battery_bench.c6
-rw-r--r--apps/plugins/blackjack.c4
-rw-r--r--apps/plugins/brickmania.c5
-rw-r--r--apps/plugins/calculator.c4
-rw-r--r--apps/plugins/calendar.c5
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h3
-rw-r--r--apps/plugins/chessclock.c7
-rw-r--r--apps/plugins/chip8.c12
-rw-r--r--apps/plugins/clix.c10
-rw-r--r--apps/plugins/cube.c3
-rw-r--r--apps/plugins/doom/i_video.c5
-rw-r--r--apps/plugins/flipit.c5
-rw-r--r--apps/plugins/fractals/fractal.h3
-rw-r--r--apps/plugins/imageviewer/imageviewer_button.h4
-rw-r--r--apps/plugins/invadrox.c5
-rw-r--r--apps/plugins/jewels.c4
-rw-r--r--apps/plugins/lib/keymaps.h9
-rw-r--r--apps/plugins/midi/midiplay.c3
-rw-r--r--apps/plugins/minesweeper.c3
-rw-r--r--apps/plugins/mp3_encoder.c4
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c3
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c5
-rw-r--r--apps/plugins/oscilloscope.c6
-rw-r--r--apps/plugins/pacbox/pacbox.h3
-rw-r--r--apps/plugins/pegbox.c7
-rw-r--r--apps/plugins/pong.c4
-rw-r--r--apps/plugins/reversi/reversi-gui.h4
-rw-r--r--apps/plugins/rockblox.c4
-rw-r--r--apps/plugins/rockboy/rockboy.c3
-rw-r--r--apps/plugins/rockpaint.c4
-rw-r--r--apps/plugins/sliding_puzzle.c6
-rw-r--r--apps/plugins/snake.c4
-rw-r--r--apps/plugins/snake2.c5
-rw-r--r--apps/plugins/sokoban.c4
-rw-r--r--apps/plugins/solitaire.c3
-rw-r--r--apps/plugins/spacerocks.c3
-rw-r--r--apps/plugins/star.c6
-rw-r--r--apps/plugins/sudoku/sudoku.h4
-rw-r--r--apps/plugins/test_touchscreen.c3
-rw-r--r--apps/plugins/text_viewer/tv_button.h5
-rw-r--r--apps/plugins/vu_meter.c6
-rw-r--r--apps/plugins/wormlet.c5
-rw-r--r--apps/plugins/xobox.c4
-rw-r--r--apps/plugins/zxbox/keymaps.h3
44 files changed, 205 insertions, 3 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index 437e777..2cdf510 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -267,6 +267,12 @@
#define BATTERY_OFF_TXT "Power Long"
#define BATTERY_ON_TXT "Play - start"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define BATTERY_ON BUTTON_MENU
+#define BATTERY_OFF BUTTON_POWER
+#define BATTERY_OFF_TXT "Power"
+#define BATTERY_ON_TXT "Menu - start"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 8f1a2cd..bd89d5a 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -555,6 +555,10 @@ enum {
#define BJACK_QUIT_NAME "Power"
#define BJACK_DOUBLE_NAME "Right"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define BJACK_QUIT BUTTON_POWER
+#define BJACK_QUIT_NAME "Power"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 0a57cf3..34a8338 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -319,6 +319,11 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
#define UP BUTTON_VOL_UP
#define DOWN BUTTON_VOL_DOWN
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define QUIT BUTTON_POWER
+#define SELECT BUTTON_MENU
+#define CONTINUE_TEXT "Press MENU To Continue"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 375758f..25128d6 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -511,6 +511,10 @@ F3: equal to "="
#elif CONFIG_KEYPAD == DX50_PAD
#define CALCULATOR_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define CALCULATOR_QUIT BUTTON_POWER
+#define CALCULATOR_INPUT BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index c04f6c1..65c2974 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -398,6 +398,11 @@
#define CALENDAR_PREV_MONTH BUTTON_BOTTOMLEFT
#define CALENDAR_EVENT_MENU_NAME "play"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define CALENDAR_QUIT BUTTON_POWER
+#define CALENDAR_SELECT BUTTON_MENU
+#define CALENDAR_EVENT_MENU_NAME "menu"
+
#else
#error "No keypad setting."
#endif
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 65e9767..34f68cb 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -541,6 +541,9 @@
#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define CB_MENU BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 363eaa1..7473c47 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -398,6 +398,10 @@
#define CHC_SETTINGS_DEC BUTTON_VOL_DOWN
#define CHC_SETTINGS_CANCEL BUTTON_RIGHT
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define CHC_QUIT BUTTON_POWER
+#define CHC_STARTSTOP BUTTON_MENU
+
#else
#error No keymap defined!
#endif
@@ -406,6 +410,9 @@
#ifndef CHC_SETTINGS_OK
#define CHC_SETTINGS_OK BUTTON_CENTER
#endif
+#ifndef CHC_SETTINGS_CANCEL
+#define CHC_SETTINGS_CANCEL BUTTON_TOPLEFT
+#endif
#ifndef CHC_STARTSTOP
#define CHC_STARTSTOP BUTTON_CENTER
#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 4f55685..316852c 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1263,6 +1263,18 @@ CONFIG_KEYPAD == MROBE500_PAD
#elif (CONFIG_KEYPAD == DX50_PAD)
#define CHIP8_OFF BUTTON_POWER
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define CHIP8_OFF BUTTON_POWER
+#define CHIP8_KEY1 BUTTON_TOPLEFT
+#define CHIP8_KEY2 BUTTON_TOPMIDDLE
+#define CHIP8_KEY3 BUTTON_TOPRIGHT
+#define CHIP8_KEY4 BUTTON_MIDLEFT
+#define CHIP8_KEY5 BUTTON_CENTER
+#define CHIP8_KEY6 BUTTON_MIDRIGHT
+#define CHIP8_KEY7 BUTTON_BOTTOMLEFT
+#define CHIP8_KEY8 BUTTON_BOTTOMMIDDLE
+#define CHIP8_KEY9 BUTTON_BOTTOMRIGHT
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index 9c67111..5ad556d 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -256,6 +256,16 @@
#elif (CONFIG_KEYPAD == DX50_PAD)
#define CLIX_BUTTON_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define CLIX_BUTTON_QUIT BUTTON_POWER
+#define CLIX_BUTTON_UP BUTTON_TOPMIDDLE
+#define CLIX_BUTTON_DOWN BUTTON_BOTTOMMIDDLE
+#define CLIX_BUTTON_SCROLL_FWD BUTTON_TOPRIGHT
+#define CLIX_BUTTON_SCROLL_BACK BUTTON_TOPLEFT
+#define CLIX_BUTTON_LEFT BUTTON_MIDLEFT
+#define CLIX_BUTTON_RIGHT BUTTON_MIDRIGHT
+#define CLIX_BUTTON_CLICK BUTTON_CENTER
+
#else
#error "no keymap"
#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index d95cb01..53f0d7d 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -400,6 +400,9 @@
#define CUBE_DEC BUTTON_VOL_DOWN
#define CUBE_MODE BUTTON_PLAY
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define CUBE_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 3e5fd15..2a68687 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -538,6 +538,11 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_WEAPON BUTTON_VOL_DOWN
#define DOOMBUTTON_MAP BUTTON_PLAY
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define DOOMBUTTON_ESC BUTTON_POWER
+#define DOOMBUTTON_SHOOT BUTTON_MENU
+#define DOOMBUTTON_MAP BUTTON_TOPLEFT
+
#else
#error Keymap not defined!
#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 8b19fe4..158d69d 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -465,6 +465,11 @@
#define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_POWER)
#define FLIPIT_TOGGLE BUTTON_PLAY
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+
+#define FLIPIT_QUIT BUTTON_POWER
+#define FLIPIT_TOGGLE BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index 7a56c11..d9c4a88 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -469,6 +469,9 @@
#elif CONFIG_KEYPAD == DX50_PAD
#define FRACTAL_QUIT (BUTTON_POWER|BUTTON_REL)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define FRACTAL_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index dcacbeb..1350236 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -479,6 +479,10 @@
#define IMGVIEW_QUIT (BUTTON_POWER|BUTTON_REL)
#define IMGVIEW_MENU (BUTTON_PLAY|BUTTON_REL)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define IMGVIEW_QUIT BUTTON_POWER
+#define IMGVIEW_MENU BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index b58114e..72c3b57 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -267,6 +267,11 @@ CONFIG_KEYPAD == MROBE500_PAD
#define RIGHT BUTTON_PLAY
#define FIRE BUTTON_RIGHT
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+
+#define QUIT BUTTON_POWER
+#define FIRE BUTTON_MENU
+
#else
#error INVADROX: Unsupported keypad
#endif
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 2aef757..9fd5787 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -363,6 +363,10 @@ CONFIG_KEYPAD == MROBE500_PAD
#define JEWELS_CANCEL BUTTON_POWER
#define HK_CANCEL "Power"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define JEWELS_CANCEL BUTTON_POWER
+#define HK_CANCEL "Power"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/lib/keymaps.h b/apps/plugins/lib/keymaps.h
index b61a7b6..c079a90 100644
--- a/apps/plugins/lib/keymaps.h
+++ b/apps/plugins/lib/keymaps.h
@@ -42,7 +42,6 @@
#if (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \
(CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) || \
(CONFIG_KEYPAD == PHILIPS_SA9200_PAD) || \
- (CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD) || \
(CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD) || \
(CONFIG_KEYPAD == SANSA_CONNECT_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
@@ -91,7 +90,6 @@
#endif
#if (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \
- (CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD) || \
(CONFIG_KEYPAD == SANSA_CONNECT_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD) || \
(CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) || \
@@ -208,6 +206,10 @@
#define BTN_FIRE BUTTON_BOTTOMLEFT
#define BTN_PAUSE BUTTON_TOPLEFT
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define BTN_FIRE BUTTON_MENU
+#define BTN_PAUSE BUTTON_POWER
+
#else
#error Unsupported keypad
#endif
@@ -224,7 +226,8 @@
#elif (CONFIG_KEYPAD != COWON_D2_PAD) && \
(CONFIG_KEYPAD != DX50_PAD) && \
- (CONFIG_KEYPAD != ONDAVX777_PAD)
+ (CONFIG_KEYPAD != ONDAVX777_PAD) && \
+ (CONFIG_KEYPAD != CREATIVE_ZENXFI2_PAD)
#define BTN_FIRE BUTTON_BOTTOMLEFT
#define BTN_PAUSE BUTTON_TOPLEFT
#endif
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 2fac06f..5e329ce 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -282,6 +282,9 @@
#define MIDI_VOL_UP BUTTON_VOL_UP
#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define MIDI_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index acd3345..d83a243 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -391,6 +391,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#elif (CONFIG_KEYPAD == DX50_PAD)
# define MINESWP_QUIT (BUTTON_POWER|BUTTON_REL)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+# define MINESWP_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index 884a3b0..c9be9e4 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2546,6 +2546,10 @@ CONFIG_KEYPAD == MROBE500_PAD
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_PLAY
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define MP3ENC_DONE BUTTON_POWER
+#define MP3ENC_SELECT BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index f152696..d6b926b 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -295,6 +295,9 @@ struct mpeg_settings settings;
#define MPEG_START_TIME_UP BUTTON_VOL_UP
#define MPEG_START_TIME_DOWN BUTTON_VOL_DOWN
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define MPEG_START_TIME_EXIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 37a8456..056b46c 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -427,6 +427,11 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define MPEG_PAUSE BUTTON_PLAY
#define MPEG_STOP (BUTTON_PLAY|BUTTON_REPEAT)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define MPEG_MENU BUTTON_POWER
+#define MPEG_PAUSE BUTTON_MENU
+#define MPEG_STOP (BUTTON_MENU|BUTTON_REPEAT)
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 8162a37..345a161 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -504,6 +504,12 @@
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define OSCILLOSCOPE_QUIT BUTTON_POWER
+#define OSCILLOSCOPE_PAUSE BUTTON_MENU
+#define OSCILLOSCOPE_ORIENTATION BUTTON_TOPLEFT
+#define OSCILLOSCOPE_GRAPHMODE BUTTON_BOTTOMLEFT
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 58838c7..9c4c305 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -351,6 +351,9 @@
#elif CONFIG_KEYPAD == DX50_PAD
#define PACMAN_MENU BUTTON_POWER
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define PACMAN_MENU BUTTON_MENU
+
#else
#error Keymap not defined!
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index e267b39..4692a1a 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -621,6 +621,13 @@ CONFIG_KEYPAD == MROBE500_PAD
#define QUIT_TEXT "Power"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define PEGBOX_QUIT BUTTON_POWER
+#define PEGBOX_SELECT BUTTON_MENU
+
+#define QUIT_TEXT "POWER"
+#define SELECT_TEXT "MENU"
+
#else
#error Unsupported keymap!
#endif
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 05af375..e097480 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -297,6 +297,10 @@ CONFIG_KEYPAD == MROBE500_PAD
#elif (CONFIG_KEYPAD == DX50_PAD)
#define PONG_QUIT (BUTTON_POWER|BUTTON_REL)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define PONG_QUIT BUTTON_POWER
+#define PONG_PAUSE BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 2bb349d..37833c1 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -316,6 +316,10 @@
#define REVERSI_BUTTON_QUIT BUTTON_POWER
#define REVERSI_BUTTON_MENU BUTTON_PLAY
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define REVERSI_BUTTON_QUIT BUTTON_POWER
+#define REVERSI_BUTTON_MENU BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 780da06..14ded91 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -466,6 +466,10 @@
#define ROCKBLOX_DROP BUTTON_VOL_DOWN
#define ROCKBLOX_RESTART BUTTON_VOL_UP
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define ROCKBLOX_OFF BUTTON_POWER
+#define ROCKBLOX_ROTATE BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 374eb85..bbcfde8 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -408,6 +408,9 @@ static void setoptions (void)
options.START = BUTTON_LEFT;
options.SELECT = BUTTON_RIGHT;
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+ options.MENU = BUTTON_POWER;
+
#else
#error No Keymap Defined!
#endif
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 80e4a6d..d2534f4 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -323,6 +323,10 @@
#elif ( CONFIG_KEYPAD == DX50_PAD )
#define ROCKPAINT_QUIT (BUTTON_POWER|BUTTON_REL)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define ROCKPAINT_QUIT BUTTON_POWER
+#define ROCKPAINT_MENU BUTTON_MENU
+
#else
#error "Please define keys for this keypad"
#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 9af0aa4..97a393c 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -316,6 +316,12 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PUZZLE_PICTURE BUTTON_RIGHT
#define PUZZLE_QUIT_TEXT "[Power]"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define PUZZLE_QUIT BUTTON_POWER
+#define PUZZLE_SHUFFLE BUTTON_MENU
+#define PUZZLE_QUIT_TEXT "[POWER]"
+#define PUZZLE_SHUFFLE_TEXT "[MENU]"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 38020b0..d457d3d 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -277,6 +277,10 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_DOWN BUTTON_VOL_DOWN
#define SNAKE_PLAYPAUSE BUTTON_RIGHT
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define SNAKE_QUIT BUTTON_POWER
+#define SNAKE_PLAYPAUSE BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 9cf3954..818dbfe 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -405,6 +405,11 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SNAKE2_PLAYPAUSE BUTTON_RIGHT
#define SNAKE2_PLAYPAUSE_TEXT "Right"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define SNAKE2_QUIT BUTTON_POWER
+#define SNAKE2_PLAYPAUSE BUTTON_MENU
+#define SNAKE2_PLAYPAUSE_TEXT "Menu"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index fc77267..4903e47 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -635,6 +635,10 @@
#define SOKOBAN_MENU_NAME "Power"
#define SOKOBAN_PAUSE_NAME "Play"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define SOKOBAN_MENU BUTTON_MENU
+#define SOKOBAN_MENU_NAME "[MENU]"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index b476fa1..affa4a3 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -667,6 +667,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#elif (CONFIG_KEYPAD == DX50_PAD)
# define SOL_QUIT (BUTTON_POWER | BUTTON_REL)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+# define SOL_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index b62b4d8..819ecf8 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -343,6 +343,9 @@
#define AST_RIGHT BUTTON_PLAY
#define AST_FIRE BUTTON_RIGHT
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define AST_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index c7e685e..3560c07 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -601,6 +601,12 @@
#define STAR_QUIT BUTTON_POWER
#define STAR_QUIT_NAME "Power"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define STAR_QUIT BUTTON_POWER
+#define STAR_QUIT_NAME "POWER"
+#define STAR_TOGGLE_CONTROL BUTTON_MENU
+#define STAR_TOGGLE_CONTROL_NAME "MENU"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 349eb8b..ca17399 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -410,6 +410,10 @@
#elif CONFIG_KEYPAD == DX50_PAD
#define SUDOKU_BUTTON_QUIT (BUTTON_POWER|BUTTON_REL)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define SUDOKU_BUTTON_QUIT BUTTON_POWER
+#define SUDOKU_BUTTON_MENU BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/test_touchscreen.c b/apps/plugins/test_touchscreen.c
index 762c63e..120ca8a 100644
--- a/apps/plugins/test_touchscreen.c
+++ b/apps/plugins/test_touchscreen.c
@@ -34,6 +34,9 @@
#elif (CONFIG_KEYPAD == ONDAVX777_PAD)
#define TOUCHSCREEN_QUIT BUTTON_POWER
#define TOUCHSCREEN_TOGGLE BUTTON_MENU
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define TOUCHSCREEN_QUIT BUTTON_POWER
+#define TOUCHSCREEN_TOGGLE BUTTON_MENU
#elif (CONFIG_KEYPAD == ANDROID_PAD)
#define TOUCHSCREEN_QUIT BUTTON_BACK
#define TOUCHSCREEN_TOGGLE BUTTON_MENU
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index 73f5377..3ea4161 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -535,6 +535,11 @@
#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_PLAY)
#define TV_BOOKMARK (BUTTON_POWER | BUTTON_VOL_UP)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define TV_QUIT BUTTON_POWER
+#define TV_MENU BUTTON_MENU
+#define TV_BOOKMARK BUTTON_BOTTOMLEFT
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 222b57d..12cc127 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -403,6 +403,12 @@
#define LABEL_QUIT "Power"
#define LABEL_MENU "Play"
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define VUMETER_QUIT BUTTON_POWER
+#define VUMETER_MENU BUTTON_MENU
+#define LABEL_QUIT "Power"
+#define LABEL_MENU "Menu"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 76d87d0..33076df 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -379,6 +379,11 @@ CONFIG_KEYPAD == MROBE500_PAD
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET (BUTTON_PLAY|BUTTON_REPEAT)
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define BTN_QUIT BUTTON_POWER
+#define BTN_STARTPAUSE BUTTON_MENU
+#define BTN_STOPRESET (BUTTON_MENU|BUTTON_REPEAT)
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index cbb1743..ada33da 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -330,6 +330,10 @@ CONFIG_KEYPAD == MROBE500_PAD
#define DOWN BUTTON_VOL_DOWN
#define PAUSE BUTTON_PLAY
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define QUIT BUTTON_POWER
+#define PAUSE BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index b658e78..47ee8ed 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -271,6 +271,9 @@
#define ZX_LEFT BUTTON_LEFT
#define ZX_RIGHT BUTTON_RIGHT
+#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
+#define ZX_MENU BUTTON_MENU
+
#else
#error Keymap not defined!