summaryrefslogtreecommitdiffstats
path: root/apps
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
parentfb3f7651fd68bf3b8c7e4dbd62dbb2b3505f929a (diff)
downloadrockbox-0486e5b93e422d0bd240439f02a8509a6c5bcbc5.tar.gz
rockbox-0486e5b93e422d0bd240439f02a8509a6c5bcbc5.tar.bz2
rockbox-0486e5b93e422d0bd240439f02a8509a6c5bcbc5.zip
Zen XFi2: Enable Plugins
Keymaps aren't tested, there may be room for improvement. Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
Diffstat (limited to 'apps')
-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 437e777976..2cdf510b3a 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 8f1a2cd237..bd89d5a985 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 0a57cf37a4..34a8338e65 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 375758fd36..25128d69be 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 c04f6c1b82..65c29742e8 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 65e97679d7..34f68cb325 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 363eaa1889..7473c47024 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 4f556850c0..316852c14f 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 9c67111544..5ad556d2ce 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 d95cb01120..53f0d7d949 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 3e5fd1537a..2a6868778b 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 8b19fe441c..158d69da8d 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 7a56c11118..d9c4a88bdf 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 dcacbeb35b..13502369ee 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 b58114ef47..72c3b57338 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 2aef75712d..9fd57873f0 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 b61a7b6b24..c079a9080b 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 2fac06f9c5..5e329cef06 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 acd33451c8..d83a24370b 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 884a3b0269..c9be9e4260 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 f15269689a..d6b926b585 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 37a8456d55..056b46c7a1 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 8162a37bf8..345a161b66 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 58838c7be3..9c4c305539 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 e267b395d2..4692a1a766 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 05af3753a9..e097480e85 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 2bb349d198..37833c10f1 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 780da06c6a..14ded91961 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 374eb8528d..bbcfde8442 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 80e4a6d561..d2534f4aa6 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 9af0aa4c3e..97a393c260 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 38020b07a8..d457d3dbd6 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 9cf3954fc2..818dbfedf2 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 fc77267e4b..4903e47cf5 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 b476fa11b4..affa4a314d 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 b62b4d894c..819ecf87f2 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 c7e685e2c5..3560c077f5 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 349eb8bf7c..ca17399e8b 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 762c63e774..120ca8ac34 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 73f5377a2a..3ea41614a3 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 222b57d792..12cc127002 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 76d87d07d6..33076df57e 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 cbb17434f8..ada33dafdd 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 b658e78009..47ee8ed1e1 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!