summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi2/button-target.h2
-rwxr-xr-xtools/configure2
46 files changed, 206 insertions, 6 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 @@
267#define BATTERY_OFF_TXT "Power Long" 267#define BATTERY_OFF_TXT "Power Long"
268#define BATTERY_ON_TXT "Play - start" 268#define BATTERY_ON_TXT "Play - start"
269 269
270#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
271#define BATTERY_ON BUTTON_MENU
272#define BATTERY_OFF BUTTON_POWER
273#define BATTERY_OFF_TXT "Power"
274#define BATTERY_ON_TXT "Menu - start"
275
270#else 276#else
271#error No keymap defined! 277#error No keymap defined!
272#endif 278#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 {
555#define BJACK_QUIT_NAME "Power" 555#define BJACK_QUIT_NAME "Power"
556#define BJACK_DOUBLE_NAME "Right" 556#define BJACK_DOUBLE_NAME "Right"
557 557
558#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
559#define BJACK_QUIT BUTTON_POWER
560#define BJACK_QUIT_NAME "Power"
561
558#else 562#else
559#error No keymap defined! 563#error No keymap defined!
560#endif 564#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
319#define UP BUTTON_VOL_UP 319#define UP BUTTON_VOL_UP
320#define DOWN BUTTON_VOL_DOWN 320#define DOWN BUTTON_VOL_DOWN
321 321
322#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
323#define QUIT BUTTON_POWER
324#define SELECT BUTTON_MENU
325#define CONTINUE_TEXT "Press MENU To Continue"
326
322#else 327#else
323#error No keymap defined! 328#error No keymap defined!
324#endif 329#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 "="
511#elif CONFIG_KEYPAD == DX50_PAD 511#elif CONFIG_KEYPAD == DX50_PAD
512#define CALCULATOR_QUIT BUTTON_POWER 512#define CALCULATOR_QUIT BUTTON_POWER
513 513
514#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
515#define CALCULATOR_QUIT BUTTON_POWER
516#define CALCULATOR_INPUT BUTTON_MENU
517
514#else 518#else
515#error No keymap defined! 519#error No keymap defined!
516#endif 520#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 @@
398#define CALENDAR_PREV_MONTH BUTTON_BOTTOMLEFT 398#define CALENDAR_PREV_MONTH BUTTON_BOTTOMLEFT
399#define CALENDAR_EVENT_MENU_NAME "play" 399#define CALENDAR_EVENT_MENU_NAME "play"
400 400
401#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
402#define CALENDAR_QUIT BUTTON_POWER
403#define CALENDAR_SELECT BUTTON_MENU
404#define CALENDAR_EVENT_MENU_NAME "menu"
405
401#else 406#else
402#error "No keypad setting." 407#error "No keypad setting."
403#endif 408#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 @@
541#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) 541#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
542#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) 542#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
543 543
544#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
545#define CB_MENU BUTTON_MENU
546
544#else 547#else
545#error No keymap defined! 548#error No keymap defined!
546#endif 549#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 @@
398#define CHC_SETTINGS_DEC BUTTON_VOL_DOWN 398#define CHC_SETTINGS_DEC BUTTON_VOL_DOWN
399#define CHC_SETTINGS_CANCEL BUTTON_RIGHT 399#define CHC_SETTINGS_CANCEL BUTTON_RIGHT
400 400
401#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
402#define CHC_QUIT BUTTON_POWER
403#define CHC_STARTSTOP BUTTON_MENU
404
401#else 405#else
402#error No keymap defined! 406#error No keymap defined!
403#endif 407#endif
@@ -406,6 +410,9 @@
406#ifndef CHC_SETTINGS_OK 410#ifndef CHC_SETTINGS_OK
407#define CHC_SETTINGS_OK BUTTON_CENTER 411#define CHC_SETTINGS_OK BUTTON_CENTER
408#endif 412#endif
413#ifndef CHC_SETTINGS_CANCEL
414#define CHC_SETTINGS_CANCEL BUTTON_TOPLEFT
415#endif
409#ifndef CHC_STARTSTOP 416#ifndef CHC_STARTSTOP
410#define CHC_STARTSTOP BUTTON_CENTER 417#define CHC_STARTSTOP BUTTON_CENTER
411#endif 418#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
1263#elif (CONFIG_KEYPAD == DX50_PAD) 1263#elif (CONFIG_KEYPAD == DX50_PAD)
1264#define CHIP8_OFF BUTTON_POWER 1264#define CHIP8_OFF BUTTON_POWER
1265 1265
1266#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
1267#define CHIP8_OFF BUTTON_POWER
1268#define CHIP8_KEY1 BUTTON_TOPLEFT
1269#define CHIP8_KEY2 BUTTON_TOPMIDDLE
1270#define CHIP8_KEY3 BUTTON_TOPRIGHT
1271#define CHIP8_KEY4 BUTTON_MIDLEFT
1272#define CHIP8_KEY5 BUTTON_CENTER
1273#define CHIP8_KEY6 BUTTON_MIDRIGHT
1274#define CHIP8_KEY7 BUTTON_BOTTOMLEFT
1275#define CHIP8_KEY8 BUTTON_BOTTOMMIDDLE
1276#define CHIP8_KEY9 BUTTON_BOTTOMRIGHT
1277
1266#else 1278#else
1267#error No keymap defined! 1279#error No keymap defined!
1268#endif 1280#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 @@
256#elif (CONFIG_KEYPAD == DX50_PAD) 256#elif (CONFIG_KEYPAD == DX50_PAD)
257#define CLIX_BUTTON_QUIT BUTTON_POWER 257#define CLIX_BUTTON_QUIT BUTTON_POWER
258 258
259#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
260#define CLIX_BUTTON_QUIT BUTTON_POWER
261#define CLIX_BUTTON_UP BUTTON_TOPMIDDLE
262#define CLIX_BUTTON_DOWN BUTTON_BOTTOMMIDDLE
263#define CLIX_BUTTON_SCROLL_FWD BUTTON_TOPRIGHT
264#define CLIX_BUTTON_SCROLL_BACK BUTTON_TOPLEFT
265#define CLIX_BUTTON_LEFT BUTTON_MIDLEFT
266#define CLIX_BUTTON_RIGHT BUTTON_MIDRIGHT
267#define CLIX_BUTTON_CLICK BUTTON_CENTER
268
259#else 269#else
260#error "no keymap" 270#error "no keymap"
261#endif 271#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 @@
400#define CUBE_DEC BUTTON_VOL_DOWN 400#define CUBE_DEC BUTTON_VOL_DOWN
401#define CUBE_MODE BUTTON_PLAY 401#define CUBE_MODE BUTTON_PLAY
402 402
403#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
404#define CUBE_QUIT BUTTON_POWER
405
403#else 406#else
404#error No keymap defined! 407#error No keymap defined!
405#endif 408#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)
538#define DOOMBUTTON_WEAPON BUTTON_VOL_DOWN 538#define DOOMBUTTON_WEAPON BUTTON_VOL_DOWN
539#define DOOMBUTTON_MAP BUTTON_PLAY 539#define DOOMBUTTON_MAP BUTTON_PLAY
540 540
541#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
542#define DOOMBUTTON_ESC BUTTON_POWER
543#define DOOMBUTTON_SHOOT BUTTON_MENU
544#define DOOMBUTTON_MAP BUTTON_TOPLEFT
545
541#else 546#else
542#error Keymap not defined! 547#error Keymap not defined!
543#endif 548#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 @@
465#define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_POWER) 465#define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_POWER)
466#define FLIPIT_TOGGLE BUTTON_PLAY 466#define FLIPIT_TOGGLE BUTTON_PLAY
467 467
468#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
469
470#define FLIPIT_QUIT BUTTON_POWER
471#define FLIPIT_TOGGLE BUTTON_MENU
472
468#else 473#else
469#error No keymap defined! 474#error No keymap defined!
470#endif 475#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 @@
469#elif CONFIG_KEYPAD == DX50_PAD 469#elif CONFIG_KEYPAD == DX50_PAD
470#define FRACTAL_QUIT (BUTTON_POWER|BUTTON_REL) 470#define FRACTAL_QUIT (BUTTON_POWER|BUTTON_REL)
471 471
472#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
473#define FRACTAL_QUIT BUTTON_POWER
474
472#else 475#else
473#error No keymap defined! 476#error No keymap defined!
474#endif 477#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 @@
479#define IMGVIEW_QUIT (BUTTON_POWER|BUTTON_REL) 479#define IMGVIEW_QUIT (BUTTON_POWER|BUTTON_REL)
480#define IMGVIEW_MENU (BUTTON_PLAY|BUTTON_REL) 480#define IMGVIEW_MENU (BUTTON_PLAY|BUTTON_REL)
481 481
482#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
483#define IMGVIEW_QUIT BUTTON_POWER
484#define IMGVIEW_MENU BUTTON_MENU
485
482#else 486#else
483#error No keymap defined! 487#error No keymap defined!
484#endif 488#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
267#define RIGHT BUTTON_PLAY 267#define RIGHT BUTTON_PLAY
268#define FIRE BUTTON_RIGHT 268#define FIRE BUTTON_RIGHT
269 269
270#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
271
272#define QUIT BUTTON_POWER
273#define FIRE BUTTON_MENU
274
270#else 275#else
271 #error INVADROX: Unsupported keypad 276 #error INVADROX: Unsupported keypad
272#endif 277#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
363#define JEWELS_CANCEL BUTTON_POWER 363#define JEWELS_CANCEL BUTTON_POWER
364#define HK_CANCEL "Power" 364#define HK_CANCEL "Power"
365 365
366#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
367#define JEWELS_CANCEL BUTTON_POWER
368#define HK_CANCEL "Power"
369
366#else 370#else
367#error No keymap defined! 371#error No keymap defined!
368#endif 372#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 @@
42#if (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \ 42#if (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \
43 (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) || \ 43 (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) || \
44 (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) || \ 44 (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) || \
45 (CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD) || \
46 (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD) || \ 45 (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD) || \
47 (CONFIG_KEYPAD == SANSA_CONNECT_PAD) || \ 46 (CONFIG_KEYPAD == SANSA_CONNECT_PAD) || \
48 (CONFIG_KEYPAD == SANSA_C200_PAD) || \ 47 (CONFIG_KEYPAD == SANSA_C200_PAD) || \
@@ -91,7 +90,6 @@
91#endif 90#endif
92 91
93#if (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \ 92#if (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \
94 (CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD) || \
95 (CONFIG_KEYPAD == SANSA_CONNECT_PAD) || \ 93 (CONFIG_KEYPAD == SANSA_CONNECT_PAD) || \
96 (CONFIG_KEYPAD == SANSA_C200_PAD) || \ 94 (CONFIG_KEYPAD == SANSA_C200_PAD) || \
97 (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) || \ 95 (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) || \
@@ -208,6 +206,10 @@
208#define BTN_FIRE BUTTON_BOTTOMLEFT 206#define BTN_FIRE BUTTON_BOTTOMLEFT
209#define BTN_PAUSE BUTTON_TOPLEFT 207#define BTN_PAUSE BUTTON_TOPLEFT
210 208
209#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
210#define BTN_FIRE BUTTON_MENU
211#define BTN_PAUSE BUTTON_POWER
212
211#else 213#else
212#error Unsupported keypad 214#error Unsupported keypad
213#endif 215#endif
@@ -224,7 +226,8 @@
224 226
225#elif (CONFIG_KEYPAD != COWON_D2_PAD) && \ 227#elif (CONFIG_KEYPAD != COWON_D2_PAD) && \
226 (CONFIG_KEYPAD != DX50_PAD) && \ 228 (CONFIG_KEYPAD != DX50_PAD) && \
227 (CONFIG_KEYPAD != ONDAVX777_PAD) 229 (CONFIG_KEYPAD != ONDAVX777_PAD) && \
230 (CONFIG_KEYPAD != CREATIVE_ZENXFI2_PAD)
228#define BTN_FIRE BUTTON_BOTTOMLEFT 231#define BTN_FIRE BUTTON_BOTTOMLEFT
229#define BTN_PAUSE BUTTON_TOPLEFT 232#define BTN_PAUSE BUTTON_TOPLEFT
230#endif 233#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 @@
282#define MIDI_VOL_UP BUTTON_VOL_UP 282#define MIDI_VOL_UP BUTTON_VOL_UP
283#define MIDI_VOL_DOWN BUTTON_VOL_DOWN 283#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
284 284
285#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
286#define MIDI_QUIT BUTTON_POWER
287
285#else 288#else
286#error No keymap defined! 289#error No keymap defined!
287#endif 290#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
391#elif (CONFIG_KEYPAD == DX50_PAD) 391#elif (CONFIG_KEYPAD == DX50_PAD)
392# define MINESWP_QUIT (BUTTON_POWER|BUTTON_REL) 392# define MINESWP_QUIT (BUTTON_POWER|BUTTON_REL)
393 393
394#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
395# define MINESWP_QUIT BUTTON_POWER
396
394#else 397#else
395#error No keymap defined! 398#error No keymap defined!
396#endif 399#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
2546#define MP3ENC_DONE BUTTON_POWER 2546#define MP3ENC_DONE BUTTON_POWER
2547#define MP3ENC_SELECT BUTTON_PLAY 2547#define MP3ENC_SELECT BUTTON_PLAY
2548 2548
2549#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
2550#define MP3ENC_DONE BUTTON_POWER
2551#define MP3ENC_SELECT BUTTON_MENU
2552
2549#else 2553#else
2550#error No keymap defined! 2554#error No keymap defined!
2551#endif 2555#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;
295#define MPEG_START_TIME_UP BUTTON_VOL_UP 295#define MPEG_START_TIME_UP BUTTON_VOL_UP
296#define MPEG_START_TIME_DOWN BUTTON_VOL_DOWN 296#define MPEG_START_TIME_DOWN BUTTON_VOL_DOWN
297 297
298#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
299#define MPEG_START_TIME_EXIT BUTTON_POWER
300
298#else 301#else
299#error No keymap defined! 302#error No keymap defined!
300#endif 303#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
427#define MPEG_PAUSE BUTTON_PLAY 427#define MPEG_PAUSE BUTTON_PLAY
428#define MPEG_STOP (BUTTON_PLAY|BUTTON_REPEAT) 428#define MPEG_STOP (BUTTON_PLAY|BUTTON_REPEAT)
429 429
430#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
431#define MPEG_MENU BUTTON_POWER
432#define MPEG_PAUSE BUTTON_MENU
433#define MPEG_STOP (BUTTON_MENU|BUTTON_REPEAT)
434
430#else 435#else
431#error No keymap defined! 436#error No keymap defined!
432#endif 437#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 @@
504#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP 504#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
505#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN 505#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
506 506
507#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
508#define OSCILLOSCOPE_QUIT BUTTON_POWER
509#define OSCILLOSCOPE_PAUSE BUTTON_MENU
510#define OSCILLOSCOPE_ORIENTATION BUTTON_TOPLEFT
511#define OSCILLOSCOPE_GRAPHMODE BUTTON_BOTTOMLEFT
512
507#else 513#else
508#error No keymap defined! 514#error No keymap defined!
509#endif 515#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 @@
351#elif CONFIG_KEYPAD == DX50_PAD 351#elif CONFIG_KEYPAD == DX50_PAD
352#define PACMAN_MENU BUTTON_POWER 352#define PACMAN_MENU BUTTON_POWER
353 353
354#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
355#define PACMAN_MENU BUTTON_MENU
356
354#else 357#else
355 358
356#error Keymap not defined! 359#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
621 621
622#define QUIT_TEXT "Power" 622#define QUIT_TEXT "Power"
623 623
624#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
625#define PEGBOX_QUIT BUTTON_POWER
626#define PEGBOX_SELECT BUTTON_MENU
627
628#define QUIT_TEXT "POWER"
629#define SELECT_TEXT "MENU"
630
624#else 631#else
625#error Unsupported keymap! 632#error Unsupported keymap!
626#endif 633#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
297#elif (CONFIG_KEYPAD == DX50_PAD) 297#elif (CONFIG_KEYPAD == DX50_PAD)
298#define PONG_QUIT (BUTTON_POWER|BUTTON_REL) 298#define PONG_QUIT (BUTTON_POWER|BUTTON_REL)
299 299
300#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
301#define PONG_QUIT BUTTON_POWER
302#define PONG_PAUSE BUTTON_MENU
303
300#else 304#else
301#error No keymap defined! 305#error No keymap defined!
302#endif 306#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 @@
316#define REVERSI_BUTTON_QUIT BUTTON_POWER 316#define REVERSI_BUTTON_QUIT BUTTON_POWER
317#define REVERSI_BUTTON_MENU BUTTON_PLAY 317#define REVERSI_BUTTON_MENU BUTTON_PLAY
318 318
319#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
320#define REVERSI_BUTTON_QUIT BUTTON_POWER
321#define REVERSI_BUTTON_MENU BUTTON_MENU
322
319#else 323#else
320#error No keymap defined! 324#error No keymap defined!
321#endif 325#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 @@
466#define ROCKBLOX_DROP BUTTON_VOL_DOWN 466#define ROCKBLOX_DROP BUTTON_VOL_DOWN
467#define ROCKBLOX_RESTART BUTTON_VOL_UP 467#define ROCKBLOX_RESTART BUTTON_VOL_UP
468 468
469#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
470#define ROCKBLOX_OFF BUTTON_POWER
471#define ROCKBLOX_ROTATE BUTTON_MENU
472
469#else 473#else
470#error No keymap defined! 474#error No keymap defined!
471#endif 475#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)
408 options.START = BUTTON_LEFT; 408 options.START = BUTTON_LEFT;
409 options.SELECT = BUTTON_RIGHT; 409 options.SELECT = BUTTON_RIGHT;
410 410
411#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
412 options.MENU = BUTTON_POWER;
413
411#else 414#else
412#error No Keymap Defined! 415#error No Keymap Defined!
413#endif 416#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 @@
323#elif ( CONFIG_KEYPAD == DX50_PAD ) 323#elif ( CONFIG_KEYPAD == DX50_PAD )
324#define ROCKPAINT_QUIT (BUTTON_POWER|BUTTON_REL) 324#define ROCKPAINT_QUIT (BUTTON_POWER|BUTTON_REL)
325 325
326#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
327#define ROCKPAINT_QUIT BUTTON_POWER
328#define ROCKPAINT_MENU BUTTON_MENU
329
326#else 330#else
327#error "Please define keys for this keypad" 331#error "Please define keys for this keypad"
328#endif 332#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
316#define PUZZLE_PICTURE BUTTON_RIGHT 316#define PUZZLE_PICTURE BUTTON_RIGHT
317#define PUZZLE_QUIT_TEXT "[Power]" 317#define PUZZLE_QUIT_TEXT "[Power]"
318 318
319#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
320#define PUZZLE_QUIT BUTTON_POWER
321#define PUZZLE_SHUFFLE BUTTON_MENU
322#define PUZZLE_QUIT_TEXT "[POWER]"
323#define PUZZLE_SHUFFLE_TEXT "[MENU]"
324
319#else 325#else
320#error No keymap defined! 326#error No keymap defined!
321#endif 327#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;
277#define SNAKE_DOWN BUTTON_VOL_DOWN 277#define SNAKE_DOWN BUTTON_VOL_DOWN
278#define SNAKE_PLAYPAUSE BUTTON_RIGHT 278#define SNAKE_PLAYPAUSE BUTTON_RIGHT
279 279
280#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
281#define SNAKE_QUIT BUTTON_POWER
282#define SNAKE_PLAYPAUSE BUTTON_MENU
283
280#else 284#else
281#error No keymap defined! 285#error No keymap defined!
282#endif 286#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
405#define SNAKE2_PLAYPAUSE BUTTON_RIGHT 405#define SNAKE2_PLAYPAUSE BUTTON_RIGHT
406#define SNAKE2_PLAYPAUSE_TEXT "Right" 406#define SNAKE2_PLAYPAUSE_TEXT "Right"
407 407
408#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
409#define SNAKE2_QUIT BUTTON_POWER
410#define SNAKE2_PLAYPAUSE BUTTON_MENU
411#define SNAKE2_PLAYPAUSE_TEXT "Menu"
412
408#else 413#else
409#error No keymap defined! 414#error No keymap defined!
410#endif 415#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 @@
635#define SOKOBAN_MENU_NAME "Power" 635#define SOKOBAN_MENU_NAME "Power"
636#define SOKOBAN_PAUSE_NAME "Play" 636#define SOKOBAN_PAUSE_NAME "Play"
637 637
638#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
639#define SOKOBAN_MENU BUTTON_MENU
640#define SOKOBAN_MENU_NAME "[MENU]"
641
638#else 642#else
639#error No keymap defined! 643#error No keymap defined!
640#endif 644#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
667#elif (CONFIG_KEYPAD == DX50_PAD) 667#elif (CONFIG_KEYPAD == DX50_PAD)
668# define SOL_QUIT (BUTTON_POWER | BUTTON_REL) 668# define SOL_QUIT (BUTTON_POWER | BUTTON_REL)
669 669
670#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
671# define SOL_QUIT BUTTON_POWER
672
670#else 673#else
671#error No keymap defined! 674#error No keymap defined!
672#endif 675#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 @@
343#define AST_RIGHT BUTTON_PLAY 343#define AST_RIGHT BUTTON_PLAY
344#define AST_FIRE BUTTON_RIGHT 344#define AST_FIRE BUTTON_RIGHT
345 345
346#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
347#define AST_QUIT BUTTON_POWER
348
346#else 349#else
347#error No keymap defined! 350#error No keymap defined!
348#endif 351#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 @@
601#define STAR_QUIT BUTTON_POWER 601#define STAR_QUIT BUTTON_POWER
602#define STAR_QUIT_NAME "Power" 602#define STAR_QUIT_NAME "Power"
603 603
604#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
605#define STAR_QUIT BUTTON_POWER
606#define STAR_QUIT_NAME "POWER"
607#define STAR_TOGGLE_CONTROL BUTTON_MENU
608#define STAR_TOGGLE_CONTROL_NAME "MENU"
609
604#else 610#else
605#error No keymap defined! 611#error No keymap defined!
606#endif 612#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 @@
410#elif CONFIG_KEYPAD == DX50_PAD 410#elif CONFIG_KEYPAD == DX50_PAD
411#define SUDOKU_BUTTON_QUIT (BUTTON_POWER|BUTTON_REL) 411#define SUDOKU_BUTTON_QUIT (BUTTON_POWER|BUTTON_REL)
412 412
413#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
414#define SUDOKU_BUTTON_QUIT BUTTON_POWER
415#define SUDOKU_BUTTON_MENU BUTTON_MENU
416
413#else 417#else
414#error No keymap defined! 418#error No keymap defined!
415#endif 419#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 @@
34#elif (CONFIG_KEYPAD == ONDAVX777_PAD) 34#elif (CONFIG_KEYPAD == ONDAVX777_PAD)
35#define TOUCHSCREEN_QUIT BUTTON_POWER 35#define TOUCHSCREEN_QUIT BUTTON_POWER
36#define TOUCHSCREEN_TOGGLE BUTTON_MENU 36#define TOUCHSCREEN_TOGGLE BUTTON_MENU
37#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
38#define TOUCHSCREEN_QUIT BUTTON_POWER
39#define TOUCHSCREEN_TOGGLE BUTTON_MENU
37#elif (CONFIG_KEYPAD == ANDROID_PAD) 40#elif (CONFIG_KEYPAD == ANDROID_PAD)
38#define TOUCHSCREEN_QUIT BUTTON_BACK 41#define TOUCHSCREEN_QUIT BUTTON_BACK
39#define TOUCHSCREEN_TOGGLE BUTTON_MENU 42#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 @@
535#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_PLAY) 535#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_PLAY)
536#define TV_BOOKMARK (BUTTON_POWER | BUTTON_VOL_UP) 536#define TV_BOOKMARK (BUTTON_POWER | BUTTON_VOL_UP)
537 537
538#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
539#define TV_QUIT BUTTON_POWER
540#define TV_MENU BUTTON_MENU
541#define TV_BOOKMARK BUTTON_BOTTOMLEFT
542
538#else 543#else
539#error No keymap defined! 544#error No keymap defined!
540#endif 545#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 @@
403#define LABEL_QUIT "Power" 403#define LABEL_QUIT "Power"
404#define LABEL_MENU "Play" 404#define LABEL_MENU "Play"
405 405
406#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
407#define VUMETER_QUIT BUTTON_POWER
408#define VUMETER_MENU BUTTON_MENU
409#define LABEL_QUIT "Power"
410#define LABEL_MENU "Menu"
411
406#else 412#else
407#error No keymap defined! 413#error No keymap defined!
408#endif 414#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
379#define BTN_QUIT BUTTON_POWER 379#define BTN_QUIT BUTTON_POWER
380#define BTN_STOPRESET (BUTTON_PLAY|BUTTON_REPEAT) 380#define BTN_STOPRESET (BUTTON_PLAY|BUTTON_REPEAT)
381 381
382#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
383#define BTN_QUIT BUTTON_POWER
384#define BTN_STARTPAUSE BUTTON_MENU
385#define BTN_STOPRESET (BUTTON_MENU|BUTTON_REPEAT)
386
382#else 387#else
383#error No keymap defined! 388#error No keymap defined!
384#endif 389#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
330#define DOWN BUTTON_VOL_DOWN 330#define DOWN BUTTON_VOL_DOWN
331#define PAUSE BUTTON_PLAY 331#define PAUSE BUTTON_PLAY
332 332
333#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
334#define QUIT BUTTON_POWER
335#define PAUSE BUTTON_MENU
336
333#else 337#else
334#error No keymap defined! 338#error No keymap defined!
335#endif 339#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 @@
271#define ZX_LEFT BUTTON_LEFT 271#define ZX_LEFT BUTTON_LEFT
272#define ZX_RIGHT BUTTON_RIGHT 272#define ZX_RIGHT BUTTON_RIGHT
273 273
274#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
275#define ZX_MENU BUTTON_MENU
276
274#else 277#else
275#error Keymap not defined! 278#error Keymap not defined!
276 279
diff --git a/firmware/target/arm/imx233/creative-zenxfi2/button-target.h b/firmware/target/arm/imx233/creative-zenxfi2/button-target.h
index 8f4cda85d8..d4dd3eb362 100644
--- a/firmware/target/arm/imx233/creative-zenxfi2/button-target.h
+++ b/firmware/target/arm/imx233/creative-zenxfi2/button-target.h
@@ -24,8 +24,6 @@
24#include <stdbool.h> 24#include <stdbool.h>
25#include "config.h" 25#include "config.h"
26 26
27void button_init_device(void);
28int button_read_device(int *data);
29bool button_debug_screen(void); 27bool button_debug_screen(void);
30 28
31/* Main unit's buttons */ 29/* Main unit's buttons */
diff --git a/tools/configure b/tools/configure
index cd38bc6e45..d86c78de3a 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2453,7 +2453,7 @@ fi
2453 output="rockbox.creative" 2453 output="rockbox.creative"
2454 bootoutput="bootloader-zenxfi2.creative" 2454 bootoutput="bootloader-zenxfi2.creative"
2455 appextra="gui:recorder:radio" 2455 appextra="gui:recorder:radio"
2456 plugins="" 2456 plugins="yes"
2457 swcodec="yes" 2457 swcodec="yes"
2458 toolset=$scramblebitmaptools 2458 toolset=$scramblebitmaptools
2459 t_cpu="arm" 2459 t_cpu="arm"