summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/keymaps/keymap-zenxfi3.c10
-rw-r--r--apps/plugins/beatbox/beatbox.c6
-rw-r--r--apps/plugins/blackjack.c16
-rw-r--r--apps/plugins/brickmania.c8
-rw-r--r--apps/plugins/calculator.c11
-rw-r--r--apps/plugins/calendar.c10
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h10
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/chip8.c10
-rw-r--r--apps/plugins/chopper.c6
-rw-r--r--apps/plugins/clix.c8
-rw-r--r--apps/plugins/cube.c10
-rw-r--r--apps/plugins/doom/i_video.c12
-rw-r--r--apps/plugins/fft/fft.c9
-rw-r--r--apps/plugins/flipit.c14
-rw-r--r--apps/plugins/fractals/fractal.h12
-rw-r--r--apps/plugins/goban/goban.h11
-rw-r--r--apps/plugins/imageviewer/imageviewer_button.h11
-rw-r--r--apps/plugins/invadrox.c7
-rw-r--r--apps/plugins/jewels.c10
-rw-r--r--apps/plugins/lib/pluginlib_actions.c10
-rw-r--r--apps/plugins/midi/midiplay.c8
-rw-r--r--apps/plugins/minesweeper.c11
-rw-r--r--apps/plugins/mp3_encoder.c6
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c8
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c9
-rw-r--r--apps/plugins/oscilloscope.c14
-rw-r--r--apps/plugins/pacbox/pacbox.h11
-rw-r--r--apps/plugins/pegbox.c11
-rw-r--r--apps/plugins/pictureflow/pictureflow.c2
-rw-r--r--apps/plugins/pong.c8
-rw-r--r--apps/plugins/reversi/reversi-gui.h9
-rw-r--r--apps/plugins/rockblox.c11
-rw-r--r--apps/plugins/rockboy/rockboy.c11
-rw-r--r--apps/plugins/rockpaint.c11
-rw-r--r--apps/plugins/sliding_puzzle.c9
-rw-r--r--apps/plugins/snake.c8
-rw-r--r--apps/plugins/snake2.c9
-rw-r--r--apps/plugins/sokoban.c15
-rw-r--r--apps/plugins/solitaire.c20
-rw-r--r--apps/plugins/spacerocks.c9
-rw-r--r--apps/plugins/star.c17
-rw-r--r--[-rwxr-xr-x]apps/plugins/stopwatch.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h11
-rw-r--r--apps/plugins/superdom.c8
-rw-r--r--apps/plugins/text_viewer/tv_button.h13
-rw-r--r--apps/plugins/vu_meter.c11
-rw-r--r--apps/plugins/wormlet.c10
-rw-r--r--apps/plugins/xobox.c8
-rw-r--r--apps/plugins/zxbox/keymaps.h8
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c9
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi3/button-target.h2
-rwxr-xr-xtools/configure2
53 files changed, 505 insertions, 13 deletions
diff --git a/apps/keymaps/keymap-zenxfi3.c b/apps/keymaps/keymap-zenxfi3.c
index 1a9be54a06..aa68a34f43 100644
--- a/apps/keymaps/keymap-zenxfi3.c
+++ b/apps/keymaps/keymap-zenxfi3.c
@@ -47,7 +47,7 @@ static const struct button_mapping button_context_standard[] = {
47 47
48 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, 48 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE },
49 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 49 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
50 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 50 { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
51 51
52 { ACTION_STD_KEYLOCK, BUTTON_POWER, BUTTON_NONE }, 52 { ACTION_STD_KEYLOCK, BUTTON_POWER, BUTTON_NONE },
53 53
@@ -79,8 +79,8 @@ static const struct button_mapping button_context_wps[] = {
79static const struct button_mapping button_context_keyboard[] = { 79static const struct button_mapping button_context_keyboard[] = {
80 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, 80 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE },
81 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 81 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
82 { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 82 { ACTION_KBD_RIGHT, BUTTON_PLAY, BUTTON_NONE },
83 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 83 { ACTION_KBD_RIGHT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
84 { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, 84 { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE },
85 { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 85 { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
86 { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, 86 { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE },
@@ -102,7 +102,7 @@ static const struct button_mapping button_context_quickscreen[] = {
102 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE }, 102 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
103 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 103 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
104 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 104 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
105 { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 105 { ACTION_QS_RIGHT, BUTTON_PLAY, BUTTON_NONE },
106 106
107 LAST_ITEM_IN_LIST 107 LAST_ITEM_IN_LIST
108}; /* button_context_quickscreen */ 108}; /* button_context_quickscreen */
@@ -149,7 +149,7 @@ static const struct button_mapping button_context_recscreen[] = {
149 149
150static const struct button_mapping button_context_settings[] = { 150static const struct button_mapping button_context_settings[] = {
151 /* we overwrite this to avoid select from std */ 151 /* we overwrite this to avoid select from std */
152 { ACTION_NONE, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 152 { ACTION_NONE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
153 153
154 { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, 154 { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE },
155 { ACTION_SETTINGS_INCREPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 155 { ACTION_SETTINGS_INCREPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
diff --git a/apps/plugins/beatbox/beatbox.c b/apps/plugins/beatbox/beatbox.c
index 8c7413cc99..bbe02de6fe 100644
--- a/apps/plugins/beatbox/beatbox.c
+++ b/apps/plugins/beatbox/beatbox.c
@@ -111,6 +111,12 @@
111#define BTN_UP BUTTON_UP 111#define BTN_UP BUTTON_UP
112#define BTN_DOWN BUTTON_DOWN 112#define BTN_DOWN BUTTON_DOWN
113 113
114#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
115#define BTN_QUIT BUTTON_PLAY
116#define BTN_RIGHT BUTTON_MENU
117#define BTN_UP BUTTON_UP
118#define BTN_DOWN BUTTON_DOWN
119
114#endif 120#endif
115 121
116 122
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index d65011c4b2..adb92e1986 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -315,6 +315,22 @@ enum {
315#define BJACK_RIGHT BUTTON_RIGHT 315#define BJACK_RIGHT BUTTON_RIGHT
316#define BJACK_LEFT BUTTON_LEFT 316#define BJACK_LEFT BUTTON_LEFT
317 317
318#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
319#define BJACK_SELECT_NAME "PLAY"
320#define BJACK_STAY_NAME "MENU"
321#define BJACK_QUIT_NAME "POWER"
322#define BJACK_DOUBLE_NAME "BACK"
323#define BJACK_SELECT BUTTON_PLAY
324#define BJACK_QUIT BUTTON_POWER
325#define BJACK_MAX BUTTON_VOL_UP
326#define BJACK_MIN BUTTON_VOL_DOWN
327#define BJACK_STAY BUTTON_MENU
328#define BJACK_DOUBLEDOWN BUTTON_BACK
329#define BJACK_UP BUTTON_UP
330#define BJACK_DOWN BUTTON_DOWN
331#define BJACK_RIGHT BUTTON_MENU
332#define BJACK_LEFT BUTTON_BACK
333
318#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 334#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
319#define BJACK_SELECT_NAME "SELECT" 335#define BJACK_SELECT_NAME "SELECT"
320#define BJACK_STAY_NAME "VOL-" 336#define BJACK_STAY_NAME "VOL-"
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 466b194895..369af78910 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -193,6 +193,14 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
193#define UP BUTTON_UP 193#define UP BUTTON_UP
194#define DOWN BUTTON_DOWN 194#define DOWN BUTTON_DOWN
195 195
196#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
197#define QUIT BUTTON_POWER
198#define LEFT BUTTON_BACK
199#define RIGHT BUTTON_MENU
200#define SELECT BUTTON_PLAY
201#define UP BUTTON_UP
202#define DOWN BUTTON_DOWN
203
196#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 204#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
197#define QUIT BUTTON_POWER 205#define QUIT BUTTON_POWER
198#define LEFT BUTTON_LEFT 206#define LEFT BUTTON_LEFT
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index ddc1609fba..77b00921e1 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -325,6 +325,17 @@ F3: equal to "="
325#define CALCULATOR_CALC BUTTON_MENU 325#define CALCULATOR_CALC BUTTON_MENU
326#define CALCULATOR_CLEAR BUTTON_PLAY 326#define CALCULATOR_CLEAR BUTTON_PLAY
327 327
328#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
329
330#define CALCULATOR_LEFT (BUTTON_BACK|BUTTON_REL)
331#define CALCULATOR_RIGHT BUTTON_MENU
332#define CALCULATOR_UP BUTTON_UP
333#define CALCULATOR_DOWN BUTTON_DOWN
334#define CALCULATOR_QUIT BUTTON_POWER
335#define CALCULATOR_INPUT (BUTTON_PLAY|BUTTON_REL)
336#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT)
337#define CALCULATOR_CLEAR (BUTTON_BACK|BUTTON_REPEAT)
338
328#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 339#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
329 340
330#define CALCULATOR_LEFT BUTTON_LEFT 341#define CALCULATOR_LEFT BUTTON_LEFT
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index 9f6d97096c..8e178c06c3 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -202,6 +202,16 @@
202#define CALENDAR_NEXT_MONTH BUTTON_CUSTOM 202#define CALENDAR_NEXT_MONTH BUTTON_CUSTOM
203#define CALENDAR_PREV_MONTH BUTTON_PLAY 203#define CALENDAR_PREV_MONTH BUTTON_PLAY
204 204
205#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
206#define CALENDAR_QUIT BUTTON_POWER
207#define CALENDAR_SELECT BUTTON_PLAY
208#define CALENDAR_NEXT_WEEK BUTTON_DOWN
209#define CALENDAR_PREV_WEEK BUTTON_UP
210#define CALENDAR_NEXT_DAY BUTTON_MENU
211#define CALENDAR_PREV_DAY BUTTON_BACK
212#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
213#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
214
205#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 215#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
206#define CALENDAR_QUIT BUTTON_POWER 216#define CALENDAR_QUIT BUTTON_POWER
207#define CALENDAR_SELECT BUTTON_SELECT 217#define CALENDAR_SELECT BUTTON_SELECT
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index a5868d04e0..56289025d7 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -313,6 +313,16 @@
313#define CB_LEVEL BUTTON_CUSTOM 313#define CB_LEVEL BUTTON_CUSTOM
314#define CB_MENU BUTTON_MENU 314#define CB_MENU BUTTON_MENU
315 315
316#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
317#define CB_SELECT (BUTTON_PLAY|BUTTON_REL)
318#define CB_UP BUTTON_UP
319#define CB_DOWN BUTTON_DOWN
320#define CB_LEFT BUTTON_BACK
321#define CB_RIGHT (BUTTON_MENU|BUTTON_REL)
322#define CB_PLAY (BUTTON_PLAY|BUTTON_REPEAT)
323#define CB_LEVEL (BUTTON_MENU|BUTTON_REPEAT)
324#define CB_MENU BUTTON_POWER
325
316#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 326#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
317#define CB_SELECT BUTTON_SELECT 327#define CB_SELECT BUTTON_SELECT
318#define CB_UP BUTTON_UP 328#define CB_UP BUTTON_UP
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 3a454b7714..7323a70705 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -224,6 +224,16 @@
224#define CHC_SETTINGS_OK BUTTON_SELECT 224#define CHC_SETTINGS_OK BUTTON_SELECT
225#define CHC_SETTINGS_CANCEL BUTTON_BACK 225#define CHC_SETTINGS_CANCEL BUTTON_BACK
226 226
227#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
228#define CHC_QUIT BUTTON_POWER
229#define CHC_STARTSTOP BUTTON_PLAY
230#define CHC_RESET (BUTTON_BACK|BUTTON_REPEAT)
231#define CHC_MENU BUTTON_MENU
232#define CHC_SETTINGS_INC BUTTON_UP
233#define CHC_SETTINGS_DEC BUTTON_DOWN
234#define CHC_SETTINGS_OK BUTTON_PLAY
235#define CHC_SETTINGS_CANCEL BUTTON_POWER
236
227#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 237#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
228#define CHC_QUIT BUTTON_POWER 238#define CHC_QUIT BUTTON_POWER
229#define CHC_STARTSTOP BUTTON_SELECT 239#define CHC_STARTSTOP BUTTON_SELECT
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index e7f874db3b..6b42078817 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1090,6 +1090,16 @@ CONFIG_KEYPAD == SANSA_M200_PAD
1090#define CHIP8_KEY6 BUTTON_RIGHT 1090#define CHIP8_KEY6 BUTTON_RIGHT
1091#define CHIP8_KEY8 BUTTON_DOWN 1091#define CHIP8_KEY8 BUTTON_DOWN
1092 1092
1093#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
1094#define CHIP8_OFF BUTTON_POWER
1095#define CHIP8_KEY1 BUTTON_VOL_UP
1096#define CHIP8_KEY2 BUTTON_UP
1097#define CHIP8_KEY3 BUTTON_VOL_DOWN
1098#define CHIP8_KEY4 BUTTON_BACK
1099#define CHIP8_KEY5 BUTTON_PLAY
1100#define CHIP8_KEY6 BUTTON_MENU
1101#define CHIP8_KEY8 BUTTON_DOWN
1102
1093#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 1103#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
1094#define CHIP8_OFF BUTTON_POWER 1104#define CHIP8_OFF BUTTON_POWER
1095#define CHIP8_KEY1 BUTTON_MENU 1105#define CHIP8_KEY1 BUTTON_MENU
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 77af9756eb..92491d859b 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -131,6 +131,12 @@ Still To do:
131#define ACTION2 BUTTON_MENU 131#define ACTION2 BUTTON_MENU
132#define ACTIONTEXT "UP" 132#define ACTIONTEXT "UP"
133 133
134#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
135#define QUIT BUTTON_POWER
136#define ACTION BUTTON_UP
137#define ACTION2 BUTTON_MENU
138#define ACTIONTEXT "UP"
139
134#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 140#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
135#define QUIT BUTTON_POWER 141#define QUIT BUTTON_POWER
136#define ACTION BUTTON_MENU 142#define ACTION BUTTON_MENU
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index 59cf162b0a..f7006b94ce 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -132,6 +132,14 @@
132#define CLIX_BUTTON_UP BUTTON_UP 132#define CLIX_BUTTON_UP BUTTON_UP
133#define CLIX_BUTTON_DOWN BUTTON_DOWN 133#define CLIX_BUTTON_DOWN BUTTON_DOWN
134 134
135#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
136#define CLIX_BUTTON_QUIT BUTTON_POWER
137#define CLIX_BUTTON_LEFT BUTTON_BACK
138#define CLIX_BUTTON_RIGHT BUTTON_MENU
139#define CLIX_BUTTON_CLICK BUTTON_PLAY
140#define CLIX_BUTTON_UP BUTTON_UP
141#define CLIX_BUTTON_DOWN BUTTON_DOWN
142
135#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) 143#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD)
136#define CLIX_BUTTON_QUIT BUTTON_POWER 144#define CLIX_BUTTON_QUIT BUTTON_POWER
137#define CLIX_BUTTON_LEFT BUTTON_LEFT 145#define CLIX_BUTTON_LEFT BUTTON_LEFT
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index d46e20c23e..6aaa6fa37b 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -234,6 +234,16 @@
234#define CUBE_PAUSE BUTTON_PLAY 234#define CUBE_PAUSE BUTTON_PLAY
235#define CUBE_HIGHSPEED BUTTON_SELECT 235#define CUBE_HIGHSPEED BUTTON_SELECT
236 236
237#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
238#define CUBE_QUIT BUTTON_POWER
239#define CUBE_NEXT BUTTON_UP
240#define CUBE_PREV BUTTON_DOWN
241#define CUBE_INC BUTTON_VOL_UP
242#define CUBE_DEC BUTTON_VOL_DOWN
243#define CUBE_MODE BUTTON_MENU
244#define CUBE_PAUSE (BUTTON_PLAY|BUTTON_REL)
245#define CUBE_HIGHSPEED BUTTON_BACK
246
237#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 247#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
238#define CUBE_QUIT BUTTON_POWER 248#define CUBE_QUIT BUTTON_POWER
239#define CUBE_NEXT BUTTON_RIGHT 249#define CUBE_NEXT BUTTON_RIGHT
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index e04713d132..51e2d72723 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -338,6 +338,18 @@ void I_ShutdownGraphics(void)
338#define DOOMBUTTON_WEAPON BUTTON_MENU 338#define DOOMBUTTON_WEAPON BUTTON_MENU
339#define DOOMBUTTON_MAP BUTTON_CUSTOM 339#define DOOMBUTTON_MAP BUTTON_CUSTOM
340 340
341#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
342#define DOOMBUTTON_UP BUTTON_UP
343#define DOOMBUTTON_DOWN BUTTON_DOWN
344#define DOOMBUTTON_LEFT BUTTON_BACK
345#define DOOMBUTTON_RIGHT BUTTON_MENU
346#define DOOMBUTTON_SHOOT BUTTON_PLAY
347#define DOOMBUTTON_OPEN BUTTON_UP
348#define DOOMBUTTON_ESC BUTTON_POWER
349#define DOOMBUTTON_ENTER BUTTON_PLAY
350#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
351#define DOOMBUTTON_MAP BUTTON_VOL_DOWN
352
341#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 353#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
342#define DOOMBUTTON_UP BUTTON_UP 354#define DOOMBUTTON_UP BUTTON_UP
343#define DOOMBUTTON_DOWN BUTTON_DOWN 355#define DOOMBUTTON_DOWN BUTTON_DOWN
diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c
index 2b72d63188..466322e34c 100644
--- a/apps/plugins/fft/fft.c
+++ b/apps/plugins/fft/fft.c
@@ -170,6 +170,15 @@ GREY_INFO_STRUCT
170# define FFT_PREV_GRAPH BUTTON_PLUS 170# define FFT_PREV_GRAPH BUTTON_PLUS
171# define FFT_NEXT_GRAPH BUTTON_MINUS 171# define FFT_NEXT_GRAPH BUTTON_MINUS
172 172
173#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
174# define FFT_PREV_GRAPH BUTTON_BACK
175# define FFT_NEXT_GRAPH BUTTON_MENU
176# define FFT_ORIENTATION (BUTTON_PLAY | BUTTON_LEFT)
177# define FFT_WINDOW (BUTTON_PLAY | BUTTON_RIGHT)
178# define FFT_AMP_SCALE BUTTON_UP
179# define FFT_FREQ_SCALE BUTTON_DOWN
180# define FFT_QUIT (BUTTON_PLAY|BUTTON_REPEAT)
181
173#elif CONFIG_KEYPAD == CREATIVEZVM_PAD 182#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
174# define FFT_PREV_GRAPH BUTTON_LEFT 183# define FFT_PREV_GRAPH BUTTON_LEFT
175# define FFT_NEXT_GRAPH BUTTON_RIGHT 184# define FFT_NEXT_GRAPH BUTTON_RIGHT
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index f13d301d1c..15b887ae7f 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -264,6 +264,20 @@
264#define FLIPIT_STEP_BY_STEP BUTTON_MENU 264#define FLIPIT_STEP_BY_STEP BUTTON_MENU
265#define FLIPIT_TOGGLE BUTTON_SELECT 265#define FLIPIT_TOGGLE BUTTON_SELECT
266 266
267#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
268#define FLIPIT_LEFT BUTTON_BACK
269#define FLIPIT_RIGHT BUTTON_MENU
270#define FLIPIT_UP BUTTON_UP
271#define FLIPIT_DOWN BUTTON_DOWN
272#define FLIPIT_NEXT BUTTON_VOL_UP
273#define FLIPIT_PREV BUTTON_VOL_DOWN
274#define FLIPIT_QUIT BUTTON_POWER
275#define FLIPIT_SHUFFLE (BUTTON_PLAY | BUTTON_BACK)
276#define FLIPIT_SOLVE (BUTTON_PLAY | BUTTON_DOWN)
277#define FLIPIT_STEP_BY_STEP (BUTTON_PLAY | BUTTON_MENU)
278#define FLIPIT_TOGGLE_PRE BUTTON_PLAY
279#define FLIPIT_TOGGLE (BUTTON_PLAY | BUTTON_REL)
280
267#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 281#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
268 282
269#define FLIPIT_LEFT BUTTON_LEFT 283#define FLIPIT_LEFT BUTTON_LEFT
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index d2df7e20f1..4e538d234d 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -264,6 +264,18 @@
264#define FRACTAL_PRECISION_DEC (BUTTON_DOWN | BUTTON_CUSTOM) 264#define FRACTAL_PRECISION_DEC (BUTTON_DOWN | BUTTON_CUSTOM)
265#define FRACTAL_RESET BUTTON_SELECT 265#define FRACTAL_RESET BUTTON_SELECT
266 266
267#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
268#define FRACTAL_QUIT BUTTON_POWER
269#define FRACTAL_UP BUTTON_UP
270#define FRACTAL_DOWN BUTTON_DOWN
271#define FRACTAL_LEFT BUTTON_BACK
272#define FRACTAL_RIGHT BUTTON_MENU
273#define FRACTAL_ZOOM_IN BUTTON_VOL_UP
274#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN
275#define FRACTAL_PRECISION_INC (BUTTON_PLAY | BUTTON_VOL_UP)
276#define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_VOL_DOWN)
277#define FRACTAL_RESET (BUTTON_PLAY | BUTTON_REPEAT)
278
267#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 279#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
268#define FRACTAL_QUIT BUTTON_POWER 280#define FRACTAL_QUIT BUTTON_POWER
269#define FRACTAL_UP BUTTON_UP 281#define FRACTAL_UP BUTTON_UP
diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h
index f9925459ad..1fc04c9389 100644
--- a/apps/plugins/goban/goban.h
+++ b/apps/plugins/goban/goban.h
@@ -164,6 +164,17 @@
164#define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT 164#define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
165#define GBN_BUTTON_NEXT_VAR BUTTON_PLAY 165#define GBN_BUTTON_NEXT_VAR BUTTON_PLAY
166 166
167#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
168#define GBN_BUTTON_UP BUTTON_UP | BUTTON_REL
169#define GBN_BUTTON_DOWN BUTTON_DOWN
170#define GBN_BUTTON_LEFT BUTTON_BACK
171#define GBN_BUTTON_RIGHT BUTTON_MENU
172#define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
173#define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
174#define GBN_BUTTON_MENU BUTTON_POWER
175#define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
176#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
177
167#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) 178#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD)
168#define GBN_BUTTON_UP BUTTON_UP 179#define GBN_BUTTON_UP BUTTON_UP
169#define GBN_BUTTON_DOWN BUTTON_DOWN 180#define GBN_BUTTON_DOWN BUTTON_DOWN
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index 51cdad329e..03bde20a12 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -264,6 +264,17 @@
264#define IMGVIEW_PREVIOUS BUTTON_BACK 264#define IMGVIEW_PREVIOUS BUTTON_BACK
265#define IMGVIEW_MENU BUTTON_MENU 265#define IMGVIEW_MENU BUTTON_MENU
266 266
267#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
268#define IMGVIEW_ZOOM_IN (BUTTON_VOL_UP|BUTTON_REL)
269#define IMGVIEW_ZOOM_OUT (BUTTON_VOL_DOWN|BUTTON_REL)
270#define IMGVIEW_UP BUTTON_UP
271#define IMGVIEW_DOWN BUTTON_DOWN
272#define IMGVIEW_LEFT BUTTON_BACK
273#define IMGVIEW_RIGHT BUTTON_MENU
274#define IMGVIEW_NEXT (BUTTON_PLAY|BUTTON_MENU)
275#define IMGVIEW_PREVIOUS (BUTTON_PLAY|BUTTON_BACK)
276#define IMGVIEW_MENU BUTTON_POWER
277
267#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 278#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
268#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP 279#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
269#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN 280#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index af17554eca..43f614aa9a 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -181,6 +181,13 @@
181#define RIGHT BUTTON_RIGHT 181#define RIGHT BUTTON_RIGHT
182#define FIRE BUTTON_SELECT 182#define FIRE BUTTON_SELECT
183 183
184#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
185
186#define QUIT BUTTON_POWER
187#define LEFT BUTTON_BACK
188#define RIGHT BUTTON_MENU
189#define FIRE BUTTON_PLAY
190
184#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD 191#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
185 192
186#define QUIT BUTTON_POWER 193#define QUIT BUTTON_POWER
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index aafb6e2bcf..b7de8e4470 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -229,6 +229,16 @@ CONFIG_KEYPAD == SANSA_M200_PAD
229#define HK_SELECT "MIDDLE" 229#define HK_SELECT "MIDDLE"
230#define HK_CANCEL "BACK" 230#define HK_CANCEL "BACK"
231 231
232#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
233#define JEWELS_UP BUTTON_UP
234#define JEWELS_DOWN BUTTON_DOWN
235#define JEWELS_LEFT BUTTON_BACK
236#define JEWELS_RIGHT BUTTON_MENU
237#define JEWELS_SELECT BUTTON_VOL_UP
238#define JEWELS_CANCEL BUTTON_VOL_DOWN
239#define HK_SELECT "VOL+"
240#define HK_CANCEL "VOL-"
241
232#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 242#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
233#define JEWELS_UP BUTTON_UP 243#define JEWELS_UP BUTTON_UP
234#define JEWELS_DOWN BUTTON_DOWN 244#define JEWELS_DOWN BUTTON_DOWN
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 4bcca37bc3..b1389ede3f 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -420,11 +420,11 @@ const struct button_mapping pla_main_ctx[] =
420 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, 420 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
421 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 421 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
422#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD) 422#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
423 {PLA_CANCEL, BUTTON_VOL_DOWN, BUTTON_NONE}, 423 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE},
424 {PLA_EXIT, BUTTON_POWER, BUTTON_NONE}, 424 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
425 {PLA_SELECT, BUTTON_VOL_UP, BUTTON_NONE}, 425 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
426 {PLA_SELECT_REL, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP}, 426 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
427 {PLA_SELECT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, 427 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
428#elif (CONFIG_KEYPAD == SONY_NWZ_PAD) 428#elif (CONFIG_KEYPAD == SONY_NWZ_PAD)
429 {PLA_CANCEL, BUTTON_BACK, BUTTON_NONE}, 429 {PLA_CANCEL, BUTTON_BACK, BUTTON_NONE},
430 {PLA_EXIT, BUTTON_POWER, BUTTON_NONE}, 430 {PLA_EXIT, BUTTON_POWER, BUTTON_NONE},
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 3f3bb61855..d042eb6d1d 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -156,6 +156,14 @@
156#define BTN_DOWN BUTTON_DOWN 156#define BTN_DOWN BUTTON_DOWN
157#define BTN_PLAY BUTTON_PLAY 157#define BTN_PLAY BUTTON_PLAY
158 158
159#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
160#define BTN_QUIT (BUTTON_PLAY|BUTTON_REPEAT)
161#define BTN_RIGHT BUTTON_MENU
162#define BTN_LEFT BUTTON_BACK
163#define BTN_UP BUTTON_VOL_UP
164#define BTN_DOWN BUTTON_VOL_DOWN
165#define BTN_PLAY (BUTTON_PLAY|BUTTON_REL)
166
159#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 167#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
160#define BTN_QUIT BUTTON_POWER 168#define BTN_QUIT BUTTON_POWER
161#define BTN_RIGHT BUTTON_RIGHT 169#define BTN_RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 542b9c8cba..07e2b557bd 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -345,6 +345,17 @@ CONFIG_KEYPAD == MROBE500_PAD
345# define MINESWP_DISCOVER BUTTON_SELECT 345# define MINESWP_DISCOVER BUTTON_SELECT
346# define MINESWP_INFO BUTTON_PREV 346# define MINESWP_INFO BUTTON_PREV
347 347
348#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
349
350# define MINESWP_LEFT BUTTON_BACK
351# define MINESWP_RIGHT BUTTON_MENU
352# define MINESWP_UP BUTTON_UP
353# define MINESWP_DOWN BUTTON_DOWN
354# define MINESWP_QUIT BUTTON_POWER
355# define MINESWP_TOGGLE BUTTON_VOL_UP
356# define MINESWP_DISCOVER BUTTON_PLAY
357# define MINESWP_INFO BUTTON_VOL_DOWN
358
348#else 359#else
349#error No keymap defined! 360#error No keymap defined!
350#endif 361#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index 83e35481a2..3b425463bf 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2455,6 +2455,12 @@ static void get_mp3_filename(const char *wav_name)
2455#define MP3ENC_DONE BUTTON_BACK 2455#define MP3ENC_DONE BUTTON_BACK
2456#define MP3ENC_SELECT BUTTON_SELECT 2456#define MP3ENC_SELECT BUTTON_SELECT
2457 2457
2458#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
2459#define MP3ENC_PREV BUTTON_UP
2460#define MP3ENC_NEXT BUTTON_DOWN
2461#define MP3ENC_DONE BUTTON_POWER
2462#define MP3ENC_SELECT BUTTON_PLAY
2463
2458#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 2464#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
2459#define MP3ENC_PREV BUTTON_UP 2465#define MP3ENC_PREV BUTTON_UP
2460#define MP3ENC_NEXT BUTTON_DOWN 2466#define MP3ENC_NEXT BUTTON_DOWN
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index b5c9c6bbc8..57872bd70b 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -160,6 +160,14 @@ struct mpeg_settings settings;
160#define MPEG_START_TIME_RIGHT2 BUTTON_MENU 160#define MPEG_START_TIME_RIGHT2 BUTTON_MENU
161#define MPEG_START_TIME_EXIT BUTTON_BACK 161#define MPEG_START_TIME_EXIT BUTTON_BACK
162 162
163#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
164#define MPEG_START_TIME_SELECT (BUTTON_PLAY|BUTTON_REL)
165#define MPEG_START_TIME_LEFT BUTTON_BACK
166#define MPEG_START_TIME_RIGHT BUTTON_MENU
167#define MPEG_START_TIME_UP BUTTON_UP
168#define MPEG_START_TIME_DOWN BUTTON_DOWN
169#define MPEG_START_TIME_EXIT (BUTTON_PLAY|BUTTON_REPEAT)
170
163#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 171#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
164#define MPEG_START_TIME_SELECT BUTTON_SELECT 172#define MPEG_START_TIME_SELECT BUTTON_SELECT
165#define MPEG_START_TIME_LEFT BUTTON_LEFT 173#define MPEG_START_TIME_LEFT BUTTON_LEFT
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 467c961912..706d1546da 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -272,6 +272,15 @@ CONFIG_KEYPAD == SANSA_M200_PAD
272#define MPEG_RW BUTTON_LEFT 272#define MPEG_RW BUTTON_LEFT
273#define MPEG_FF BUTTON_RIGHT 273#define MPEG_FF BUTTON_RIGHT
274 274
275#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
276#define MPEG_MENU BUTTON_MENU
277#define MPEG_STOP (BUTTON_PLAY|BUTTON_REPEAT)
278#define MPEG_PAUSE (BUTTON_PLAY|BUTTON_REL)
279#define MPEG_VOLDOWN BUTTON_VOL_DOWN
280#define MPEG_VOLUP BUTTON_VOL_UP
281#define MPEG_RW BUTTON_DOWN
282#define MPEG_FF BUTTON_UP
283
275#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 284#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
276#define MPEG_MENU BUTTON_MENU 285#define MPEG_MENU BUTTON_MENU
277#define MPEG_STOP BUTTON_POWER 286#define MPEG_STOP BUTTON_POWER
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 86edfc67e3..bd3e5ae923 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -279,6 +279,20 @@
279#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN 279#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
280#define NEED_LASTBUTTON 280#define NEED_LASTBUTTON
281 281
282#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
283#define OSCILLOSCOPE_QUIT BUTTON_POWER
284#define OSCILLOSCOPE_DRAWMODE (BUTTON_MENU | BUTTON_UP)
285#define OSCILLOSCOPE_ADVMODE (BUTTON_MENU | BUTTON_DOWN)
286#define OSCILLOSCOPE_GRAPHMODE_PRE BUTTON_PLAY
287#define OSCILLOSCOPE_GRAPHMODE (BUTTON_PLAY | BUTTON_REPEAT)
288#define OSCILLOSCOPE_ORIENTATION (BUTTON_MENU | BUTTON_BACK)
289#define OSCILLOSCOPE_SPEED_UP (BUTTON_BACK | BUTTON_UP)
290#define OSCILLOSCOPE_SPEED_DOWN (BUTTON_BACK | BUTTON_DOWN)
291#define OSCILLOSCOPE_PAUSE (BUTTON_PLAY | BUTTON_REL)
292#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
293#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
294#define NEED_LASTBUTTON
295
282#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 296#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
283#define OSCILLOSCOPE_QUIT BUTTON_POWER 297#define OSCILLOSCOPE_QUIT BUTTON_POWER
284#define OSCILLOSCOPE_DRAWMODE BUTTON_MENU 298#define OSCILLOSCOPE_DRAWMODE BUTTON_MENU
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 56cba67d13..267dd67e93 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -181,6 +181,17 @@
181#define PACMAN_COIN BUTTON_SELECT 181#define PACMAN_COIN BUTTON_SELECT
182#define PACMAN_MENU BUTTON_MENU 182#define PACMAN_MENU BUTTON_MENU
183 183
184#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
185
186#define PACMAN_UP BUTTON_UP
187#define PACMAN_DOWN BUTTON_DOWN
188#define PACMAN_LEFT BUTTON_BACK
189#define PACMAN_RIGHT BUTTON_MENU
190#define PACMAN_1UP BUTTON_PLAY
191#define PACMAN_COIN_PRE BUTTON_PLAY
192#define PACMAN_COIN (BUTTON_PLAY | BUTTON_DOWN)
193#define PACMAN_MENU BUTTON_POWER
194
184#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 195#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
185 196
186#define PACMAN_UP BUTTON_UP 197#define PACMAN_UP BUTTON_UP
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index 0f55557b92..c53b7c3e89 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -333,6 +333,17 @@
333#define PEGBOX_RIGHT BUTTON_RIGHT 333#define PEGBOX_RIGHT BUTTON_RIGHT
334#define PEGBOX_LEFT BUTTON_LEFT 334#define PEGBOX_LEFT BUTTON_LEFT
335 335
336#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
337#define PEGBOX_SELECT (BUTTON_PLAY|BUTTON_REL)
338#define PEGBOX_QUIT BUTTON_POWER
339#define PEGBOX_RESTART (BUTTON_PLAY|BUTTON_BACK)
340#define PEGBOX_LVL_UP (BUTTON_PLAY|BUTTON_UP)
341#define PEGBOX_LVL_DOWN (BUTTON_PLAY|BUTTON_DOWN)
342#define PEGBOX_UP BUTTON_UP
343#define PEGBOX_DOWN BUTTON_DOWN
344#define PEGBOX_RIGHT BUTTON_MENU
345#define PEGBOX_LEFT BUTTON_BACK
346
336#define SELECT_TEXT "CUSTOM" 347#define SELECT_TEXT "CUSTOM"
337#define QUIT_TEXT "BACK" 348#define QUIT_TEXT "BACK"
338#define RESTART_TEXT "MIDDLE" 349#define RESTART_TEXT "MIDDLE"
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c
index bb7cec888f..933b134b8a 100644
--- a/apps/plugins/pictureflow/pictureflow.c
+++ b/apps/plugins/pictureflow/pictureflow.c
@@ -118,7 +118,7 @@ const struct button_mapping pf_context_buttons[] =
118 CONFIG_KEYPAD == GIGABEAT_PAD || CONFIG_KEYPAD == GIGABEAT_S_PAD || \ 118 CONFIG_KEYPAD == GIGABEAT_PAD || CONFIG_KEYPAD == GIGABEAT_S_PAD || \
119 CONFIG_KEYPAD == MROBE100_PAD || CONFIG_KEYPAD == MROBE500_PAD || \ 119 CONFIG_KEYPAD == MROBE100_PAD || CONFIG_KEYPAD == MROBE500_PAD || \
120 CONFIG_KEYPAD == PHILIPS_SA9200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD || \ 120 CONFIG_KEYPAD == PHILIPS_SA9200_PAD || CONFIG_KEYPAD == SANSA_CLIP_PAD || \
121 CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD 121 CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD || CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
122 {PF_QUIT, BUTTON_POWER, BUTTON_NONE}, 122 {PF_QUIT, BUTTON_POWER, BUTTON_NONE},
123#if CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD 123#if CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
124 {PF_MENU, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT}, 124 {PF_MENU, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT},
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 372b84c9ac..4df91b65f3 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -178,6 +178,14 @@
178#define PONG_RIGHT_UP BUTTON_PLAY 178#define PONG_RIGHT_UP BUTTON_PLAY
179#define PONG_RIGHT_DOWN BUTTON_MENU 179#define PONG_RIGHT_DOWN BUTTON_MENU
180 180
181#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
182#define PONG_QUIT BUTTON_POWER
183#define PONG_PAUSE BUTTON_PLAY
184#define PONG_LEFT_UP BUTTON_BACK
185#define PONG_LEFT_DOWN BUTTON_MENU
186#define PONG_RIGHT_UP BUTTON_UP
187#define PONG_RIGHT_DOWN BUTTON_DOWN
188
181#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 189#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
182#define PONG_QUIT BUTTON_POWER 190#define PONG_QUIT BUTTON_POWER
183#define PONG_PAUSE BUTTON_MENU 191#define PONG_PAUSE BUTTON_MENU
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 124cf471bb..9cd6622918 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -174,6 +174,15 @@
174#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT 174#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
175#define REVERSI_BUTTON_MENU BUTTON_MENU 175#define REVERSI_BUTTON_MENU BUTTON_MENU
176 176
177#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
178#define REVERSI_BUTTON_QUIT BUTTON_POWER
179#define REVERSI_BUTTON_UP BUTTON_UP
180#define REVERSI_BUTTON_DOWN BUTTON_DOWN
181#define REVERSI_BUTTON_LEFT BUTTON_BACK
182#define REVERSI_BUTTON_RIGHT BUTTON_MENU
183#define REVERSI_BUTTON_MAKE_MOVE (BUTTON_PLAY|BUTTON_REL)
184#define REVERSI_BUTTON_MENU (BUTTON_PLAY|BUTTON_REPEAT)
185
177#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 186#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
178#define REVERSI_BUTTON_QUIT BUTTON_POWER 187#define REVERSI_BUTTON_QUIT BUTTON_POWER
179#define REVERSI_BUTTON_UP BUTTON_UP 188#define REVERSI_BUTTON_UP BUTTON_UP
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index c72d7be9c3..adfeb60670 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -275,6 +275,17 @@
275#define ROCKBLOX_DROP BUTTON_SELECT 275#define ROCKBLOX_DROP BUTTON_SELECT
276#define ROCKBLOX_RESTART BUTTON_CUSTOM 276#define ROCKBLOX_RESTART BUTTON_CUSTOM
277 277
278#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
279#define ROCKBLOX_OFF BUTTON_POWER
280#define ROCKBLOX_ROTATE_CCW BUTTON_VOL_DOWN
281#define ROCKBLOX_ROTATE_CCW2 BUTTON_UP
282#define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP
283#define ROCKBLOX_DOWN BUTTON_DOWN
284#define ROCKBLOX_LEFT BUTTON_BACK
285#define ROCKBLOX_RIGHT BUTTON_MENU
286#define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL)
287#define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT)
288
278#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 289#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
279 290
280#define ROCKBLOX_OFF BUTTON_POWER 291#define ROCKBLOX_OFF BUTTON_POWER
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index a3e429bffa..d5f2a24b51 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -227,6 +227,7 @@ static void setoptions (void)
227 options.START = BUTTON_PLAY; 227 options.START = BUTTON_PLAY;
228 options.SELECT = BUTTON_SELECT; 228 options.SELECT = BUTTON_SELECT;
229 options.MENU = BUTTON_MENU; 229 options.MENU = BUTTON_MENU;
230
230#elif CONFIG_KEYPAD == CREATIVEZVM_PAD 231#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
231 options.UP = BUTTON_UP; 232 options.UP = BUTTON_UP;
232 options.DOWN = BUTTON_DOWN; 233 options.DOWN = BUTTON_DOWN;
@@ -237,6 +238,16 @@ static void setoptions (void)
237 options.SELECT = BUTTON_SELECT; 238 options.SELECT = BUTTON_SELECT;
238 options.MENU = BUTTON_MENU; 239 options.MENU = BUTTON_MENU;
239 240
241#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
242 options.UP = BUTTON_UP;
243 options.DOWN = BUTTON_DOWN;
244
245 options.A = BUTTON_VOL_UP;
246 options.B = BUTTON_VOL_DOWN;
247 options.START = BUTTON_PLAY;
248 options.SELECT = BUTTON_NONE;
249 options.MENU = BUTTON_POWER;
250
240#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 251#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
241 options.UP = BUTTON_UP; 252 options.UP = BUTTON_UP;
242 options.DOWN = BUTTON_DOWN; 253 options.DOWN = BUTTON_DOWN;
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 297ee89f9e..5de27d9947 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -145,6 +145,17 @@
145#define ROCKPAINT_LEFT BUTTON_LEFT 145#define ROCKPAINT_LEFT BUTTON_LEFT
146#define ROCKPAINT_RIGHT BUTTON_RIGHT 146#define ROCKPAINT_RIGHT BUTTON_RIGHT
147 147
148#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
149#define ROCKPAINT_QUIT BUTTON_POWER
150#define ROCKPAINT_DRAW BUTTON_VOL_UP
151#define ROCKPAINT_MENU BUTTON_PLAY
152#define ROCKPAINT_TOOLBAR BUTTON_VOL_DOWN
153#define ROCKPAINT_TOOLBAR2 ( BUTTON_VOL_DOWN | BUTTON_MENU )
154#define ROCKPAINT_UP BUTTON_UP
155#define ROCKPAINT_DOWN BUTTON_DOWN
156#define ROCKPAINT_LEFT BUTTON_BACK
157#define ROCKPAINT_RIGHT BUTTON_MENU
158
148#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 159#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
149#define ROCKPAINT_QUIT BUTTON_POWER 160#define ROCKPAINT_QUIT BUTTON_POWER
150#define ROCKPAINT_DRAW BUTTON_SELECT 161#define ROCKPAINT_DRAW BUTTON_SELECT
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 710db94363..55ee46415f 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -177,6 +177,15 @@
177#define PUZZLE_SHUFFLE BUTTON_PLAY 177#define PUZZLE_SHUFFLE BUTTON_PLAY
178#define PUZZLE_PICTURE BUTTON_MENU 178#define PUZZLE_PICTURE BUTTON_MENU
179 179
180#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
181#define PUZZLE_QUIT BUTTON_POWER
182#define PUZZLE_LEFT BUTTON_BACK
183#define PUZZLE_RIGHT BUTTON_MENU
184#define PUZZLE_UP BUTTON_UP
185#define PUZZLE_DOWN BUTTON_DOWN
186#define PUZZLE_SHUFFLE BUTTON_VOL_UP
187#define PUZZLE_PICTURE BUTTON_PLAY
188
180#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 189#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
181#define PUZZLE_QUIT BUTTON_POWER 190#define PUZZLE_QUIT BUTTON_POWER
182#define PUZZLE_LEFT BUTTON_LEFT 191#define PUZZLE_LEFT BUTTON_LEFT
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 8d2a9b0011..d5168f79ba 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -165,6 +165,14 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
165#define SNAKE_DOWN BUTTON_DOWN 165#define SNAKE_DOWN BUTTON_DOWN
166#define SNAKE_PLAYPAUSE BUTTON_PLAY 166#define SNAKE_PLAYPAUSE BUTTON_PLAY
167 167
168#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
169#define SNAKE_QUIT BUTTON_POWER
170#define SNAKE_LEFT BUTTON_BACK
171#define SNAKE_RIGHT BUTTON_MENU
172#define SNAKE_UP BUTTON_UP
173#define SNAKE_DOWN BUTTON_DOWN
174#define SNAKE_PLAYPAUSE BUTTON_PLAY
175
168#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \ 176#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \
169 (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) 177 (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD)
170#define SNAKE_QUIT BUTTON_POWER 178#define SNAKE_QUIT BUTTON_POWER
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 6de1c19651..779b8cf16c 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -276,6 +276,15 @@ Head and Tail are stored
276#define SNAKE2_PLAYPAUSE BUTTON_PLAY 276#define SNAKE2_PLAYPAUSE BUTTON_PLAY
277#define SNAKE2_PLAYPAUSE_TEXT "Play" 277#define SNAKE2_PLAYPAUSE_TEXT "Play"
278 278
279#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
280#define SNAKE2_LEFT BUTTON_BACK
281#define SNAKE2_RIGHT BUTTON_MENU
282#define SNAKE2_UP BUTTON_UP
283#define SNAKE2_DOWN BUTTON_DOWN
284#define SNAKE2_QUIT BUTTON_POWER
285#define SNAKE2_PLAYPAUSE (BUTTON_PLAY|BUTTON_REL)
286#define SNAKE2_PLAYPAUSE_TEXT "Play"
287
279#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \ 288#elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \
280 (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) 289 (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD)
281#define SNAKE2_LEFT BUTTON_LEFT 290#define SNAKE2_LEFT BUTTON_LEFT
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 79db233113..a962d34842 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -377,6 +377,21 @@
377#define BUTTON_SAVE BUTTON_CUSTOM 377#define BUTTON_SAVE BUTTON_CUSTOM
378#define BUTTON_SAVE_NAME "CUSTOM" 378#define BUTTON_SAVE_NAME "CUSTOM"
379 379
380#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
381#define SOKOBAN_LEFT BUTTON_BACK
382#define SOKOBAN_RIGHT BUTTON_MENU
383#define SOKOBAN_UP BUTTON_UP
384#define SOKOBAN_DOWN BUTTON_DOWN
385#define SOKOBAN_MENU BUTTON_POWER
386#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_BACK)
387#define SOKOBAN_REDO (BUTTON_PLAY | BUTTON_MENU)
388#define SOKOBAN_LEVEL_DOWN BUTTON_VOL_DOWN
389#define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_POWER)
390#define SOKOBAN_LEVEL_UP BUTTON_VOL_UP
391#define SOKOBAN_PAUSE BUTTON_PLAY
392#define BUTTON_SAVE BUTTON_PLAY
393#define BUTTON_SAVE_NAME "PLAY"
394
380#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 395#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
381#define SOKOBAN_LEFT BUTTON_LEFT 396#define SOKOBAN_LEFT BUTTON_LEFT
382#define SOKOBAN_RIGHT BUTTON_RIGHT 397#define SOKOBAN_RIGHT BUTTON_RIGHT
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index fea92526be..fbfe6776b5 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -373,6 +373,26 @@
373# define HK_CUR2STACK "PLAY.." 373# define HK_CUR2STACK "PLAY.."
374# define HK_REM2STACK "PLAY+RIGHT" 374# define HK_REM2STACK "PLAY+RIGHT"
375 375
376#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
377# define SOL_QUIT BUTTON_POWER
378# define SOL_UP BUTTON_UP
379# define SOL_DOWN BUTTON_DOWN
380# define SOL_LEFT BUTTON_BACK
381# define SOL_RIGHT BUTTON_MENU
382# define SOL_MOVE (BUTTON_PLAY|BUTTON_REL)
383# define SOL_DRAW (BUTTON_PLAY|BUTTON_REPEAT)
384# define SOL_REM2CUR BUTTON_VOL_DOWN
385# define SOL_CUR2STACK_PRE (BUTTON_VOL_UP | BUTTON_REPEAT)
386# define SOL_CUR2STACK BUTTON_VOL_UP
387# define SOL_REM2STACK (BUTTON_VOL_DOWN|BUTTON_REPEAT)
388# define SOL_REM2STACK_PRE BUTTON_VOL_DOWN
389
390# define HK_MOVE "SHORT PLAY"
391# define HK_DRAW "LONG PLAY"
392# define HK_REM2CUR "VOLUME-"
393# define HK_CUR2STACK "VOLUME+"
394# define HK_REM2STACK "LONG VOLUME-"
395
376#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 396#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
377# define SOL_QUIT BUTTON_POWER 397# define SOL_QUIT BUTTON_POWER
378# define SOL_UP BUTTON_UP 398# define SOL_UP BUTTON_UP
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index e303a1138d..9d906516ae 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -188,6 +188,15 @@
188#define AST_RIGHT BUTTON_RIGHT 188#define AST_RIGHT BUTTON_RIGHT
189#define AST_FIRE BUTTON_SELECT 189#define AST_FIRE BUTTON_SELECT
190 190
191#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
192#define AST_PAUSE (BUTTON_PLAY | BUTTON_REL)
193#define AST_QUIT BUTTON_POWER
194#define AST_THRUST BUTTON_UP
195#define AST_HYPERSPACE BUTTON_DOWN
196#define AST_LEFT BUTTON_BACK
197#define AST_RIGHT BUTTON_MENU
198#define AST_FIRE BUTTON_VOL_UP
199
191#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 200#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
192#define AST_PAUSE BUTTON_VIEW 201#define AST_PAUSE BUTTON_VIEW
193#define AST_QUIT BUTTON_POWER 202#define AST_QUIT BUTTON_POWER
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 4697ffb892..5335e7665b 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -310,6 +310,23 @@
310#define STAR_LEVEL_DOWN_NAME "CUSTOM+DOWN" 310#define STAR_LEVEL_DOWN_NAME "CUSTOM+DOWN"
311#define STAR_LEVEL_REPEAT_NAME "CUSTOM+RIGHT" 311#define STAR_LEVEL_REPEAT_NAME "CUSTOM+RIGHT"
312 312
313#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
314
315#define STAR_QUIT BUTTON_POWER
316#define STAR_LEFT BUTTON_BACK
317#define STAR_RIGHT BUTTON_MENU
318#define STAR_UP BUTTON_UP
319#define STAR_DOWN BUTTON_DOWN
320#define STAR_TOGGLE_CONTROL BUTTON_PLAY
321#define STAR_LEVEL_UP BUTTON_VOL_UP
322#define STAR_LEVEL_DOWN BUTTON_VOL_DOWN
323#define STAR_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_REPEAT)
324#define STAR_TOGGLE_CONTROL_NAME "PLAY"
325#define STAR_QUIT_NAME "POWER"
326#define STAR_LEVEL_UP_NAME "VOL+"
327#define STAR_LEVEL_DOWN_NAME "VOL-"
328#define STAR_LEVEL_REPEAT_NAME "Hold PLAY button"
329
313#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 330#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
314 331
315#define STAR_QUIT BUTTON_POWER 332#define STAR_QUIT BUTTON_POWER
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 49f633a2a9..f11266ce1b 100755..100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -186,6 +186,14 @@
186#define STOPWATCH_SCROLL_UP BUTTON_UP 186#define STOPWATCH_SCROLL_UP BUTTON_UP
187#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 187#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
188 188
189#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
190#define STOPWATCH_QUIT BUTTON_POWER
191#define STOPWATCH_START_STOP (BUTTON_PLAY|BUTTON_REL)
192#define STOPWATCH_RESET_TIMER (BUTTON_PLAY|BUTTON_REPEAT)
193#define STOPWATCH_LAP_TIMER BUTTON_MENU
194#define STOPWATCH_SCROLL_UP BUTTON_UP
195#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
196
189#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 197#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
190#define STOPWATCH_QUIT BUTTON_POWER 198#define STOPWATCH_QUIT BUTTON_POWER
191#define STOPWATCH_START_STOP BUTTON_SELECT 199#define STOPWATCH_START_STOP BUTTON_SELECT
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index b0a731d0f2..5ffdc344f9 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -234,6 +234,17 @@
234#define SUDOKU_BUTTON_MENU BUTTON_MENU 234#define SUDOKU_BUTTON_MENU BUTTON_MENU
235#define SUDOKU_BUTTON_POSSIBLE BUTTON_PLAY 235#define SUDOKU_BUTTON_POSSIBLE BUTTON_PLAY
236 236
237#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
238#define SUDOKU_BUTTON_QUIT BUTTON_POWER
239#define SUDOKU_BUTTON_UP BUTTON_UP
240#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
241#define SUDOKU_BUTTON_LEFT BUTTON_BACK
242#define SUDOKU_BUTTON_RIGHT BUTTON_MENU
243#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN
244#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP
245#define SUDOKU_BUTTON_MENU (BUTTON_PLAY|BUTTON_REPEAT)
246#define SUDOKU_BUTTON_POSSIBLE (BUTTON_PLAY|BUTTON_REL)
247
237#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 248#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
238#define SUDOKU_BUTTON_QUIT BUTTON_POWER 249#define SUDOKU_BUTTON_QUIT BUTTON_POWER
239#define SUDOKU_BUTTON_UP BUTTON_UP 250#define SUDOKU_BUTTON_UP BUTTON_UP
diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c
index 9d06d9a4e3..04c606d05d 100644
--- a/apps/plugins/superdom.c
+++ b/apps/plugins/superdom.c
@@ -140,6 +140,14 @@ char buf[255];
140#define SUPERDOM_RIGHT BUTTON_RIGHT 140#define SUPERDOM_RIGHT BUTTON_RIGHT
141#define SUPERDOM_CANCEL BUTTON_BACK 141#define SUPERDOM_CANCEL BUTTON_BACK
142 142
143#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
144#define SUPERDOM_OK (BUTTON_PLAY|BUTTON_REL)
145#define SUPERDOM_UP BUTTON_UP
146#define SUPERDOM_DOWN BUTTON_DOWN
147#define SUPERDOM_LEFT BUTTON_BACK
148#define SUPERDOM_RIGHT BUTTON_MENU
149#define SUPERDOM_CANCEL (BUTTON_PLAY|BUTTON_REPEAT)
150
143#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD 151#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
144#define SUPERDOM_OK BUTTON_PLAY 152#define SUPERDOM_OK BUTTON_PLAY
145#define SUPERDOM_UP BUTTON_UP 153#define SUPERDOM_UP BUTTON_UP
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index e96b6e6914..ac88e9b5d4 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -323,6 +323,19 @@
323#define TV_AUTOSCROLL BUTTON_SELECT 323#define TV_AUTOSCROLL BUTTON_SELECT
324#define TV_BOOKMARK BUTTON_PLAY 324#define TV_BOOKMARK BUTTON_PLAY
325 325
326/* Creative Zen X-Fi3 keys */
327#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
328#define TV_QUIT BUTTON_POWER
329#define TV_SCROLL_UP BUTTON_UP
330#define TV_SCROLL_DOWN BUTTON_DOWN
331#define TV_SCREEN_LEFT BUTTON_BACK
332#define TV_SCREEN_RIGHT BUTTON_MENU
333#define TV_MENU BUTTON_PLAY|BUTTON_REPEAT
334#define TV_AUTOSCROLL BUTTON_PLAY|BUTTON_DOWN
335#define TV_LINE_UP BUTTON_VOL_UP
336#define TV_LINE_DOWN BUTTON_VOL_DOWN
337#define TV_BOOKMARK BUTTON_PLAY|BUTTON_REL
338
326/* Philips HDD1630 keys */ 339/* Philips HDD1630 keys */
327#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 340#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
328#define TV_QUIT BUTTON_POWER 341#define TV_QUIT BUTTON_POWER
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 6f1c9e933a..f424a7099f 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -225,6 +225,17 @@
225#define LABEL_MENU "MENU" 225#define LABEL_MENU "MENU"
226#define LABEL_VOLUME "UP/DOWN" 226#define LABEL_VOLUME "UP/DOWN"
227 227
228#elif (CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD)
229#define VUMETER_QUIT BUTTON_POWER
230#define VUMETER_HELP BUTTON_MENU|BUTTON_REPEAT
231#define VUMETER_MENU BUTTON_MENU|BUTTON_REL
232#define VUMETER_UP BUTTON_VOL_UP
233#define VUMETER_DOWN BUTTON_VOL_DOWN
234#define LABEL_HELP "Hold Menu"
235#define LABEL_QUIT "Power"
236#define LABEL_MENU "Menu"
237#define LABEL_VOLUME "Volume +/-"
238
228#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 239#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
229#define VUMETER_QUIT BUTTON_POWER 240#define VUMETER_QUIT BUTTON_POWER
230#define VUMETER_HELP BUTTON_VIEW 241#define VUMETER_HELP BUTTON_VIEW
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 2ad5d538a3..a53a849963 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -225,6 +225,16 @@ static long max_cycle;
225#define BTN_QUIT BUTTON_BACK 225#define BTN_QUIT BUTTON_BACK
226#define BTN_STOPRESET BUTTON_MENU 226#define BTN_STOPRESET BUTTON_MENU
227 227
228#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
229
230#define BTN_DIR_UP BUTTON_UP
231#define BTN_DIR_DOWN BUTTON_DOWN
232#define BTN_DIR_LEFT BUTTON_BACK
233#define BTN_DIR_RIGHT BUTTON_MENU
234#define BTN_STARTPAUSE (BUTTON_PLAY|BUTTON_REL)
235#define BTN_QUIT BUTTON_POWER
236#define BTN_STOPRESET (BUTTON_PLAY|BUTTON_REPEAT)
237
228#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 238#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
229 239
230#define BTN_DIR_UP BUTTON_UP 240#define BTN_DIR_UP BUTTON_UP
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index 2696b09c17..6cb46ffa3a 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -190,6 +190,14 @@
190#define DOWN BUTTON_DOWN 190#define DOWN BUTTON_DOWN
191#define PAUSE BUTTON_PLAY 191#define PAUSE BUTTON_PLAY
192 192
193#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
194#define QUIT BUTTON_POWER
195#define LEFT BUTTON_BACK
196#define RIGHT BUTTON_MENU
197#define UP BUTTON_UP
198#define DOWN BUTTON_DOWN
199#define PAUSE BUTTON_PLAY
200
193#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 201#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
194 202
195#define QUIT BUTTON_POWER 203#define QUIT BUTTON_POWER
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index 59dc93244f..28073ac8d4 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -150,6 +150,14 @@
150#define ZX_SELECT BUTTON_SELECT 150#define ZX_SELECT BUTTON_SELECT
151#define ZX_MENU BUTTON_MENU 151#define ZX_MENU BUTTON_MENU
152 152
153#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
154#define ZX_UP BUTTON_UP
155#define ZX_DOWN BUTTON_DOWN
156#define ZX_LEFT BUTTON_BACK
157#define ZX_RIGHT BUTTON_MENU
158#define ZX_SELECT (BUTTON_PLAY|BUTTON_REL)
159#define ZX_MENU (BUTTON_PLAY|BUTTON_REPEAT)
160
153#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 161#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
154 162
155#define ZX_UP BUTTON_UP 163#define ZX_UP BUTTON_UP
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index c343122a4a..e09fe9a7d8 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -161,6 +161,15 @@
161#define KBD_UP BUTTON_UP 161#define KBD_UP BUTTON_UP
162#define KBD_DOWN BUTTON_DOWN 162#define KBD_DOWN BUTTON_DOWN
163 163
164#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
165
166#define KBD_SELECT (BUTTON_PLAY|BUTTON_REL)
167#define KBD_ABORT (BUTTON_PLAY|BUTTON_REPEAT)
168#define KBD_LEFT BUTTON_BACK
169#define KBD_RIGHT BUTTON_MENU
170#define KBD_UP BUTTON_UP
171#define KBD_DOWN BUTTON_DOWN
172
164#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 173#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
165 174
166#define KBD_SELECT BUTTON_MENU 175#define KBD_SELECT BUTTON_MENU
diff --git a/firmware/target/arm/imx233/creative-zenxfi3/button-target.h b/firmware/target/arm/imx233/creative-zenxfi3/button-target.h
index 202e695eb3..929ba18eaf 100644
--- a/firmware/target/arm/imx233/creative-zenxfi3/button-target.h
+++ b/firmware/target/arm/imx233/creative-zenxfi3/button-target.h
@@ -41,7 +41,7 @@ bool button_debug_screen(void);
41#define BUTTON_VOL_DOWN 0x00000080 41#define BUTTON_VOL_DOWN 0x00000080
42/* For compatibility */ 42/* For compatibility */
43#define BUTTON_LEFT BUTTON_BACK 43#define BUTTON_LEFT BUTTON_BACK
44#define BUTTON_RIGHT BUTTON_PLAY 44#define BUTTON_RIGHT BUTTON_MENU
45 45
46#define BUTTON_MAIN 0xff 46#define BUTTON_MAIN 0xff
47 47
diff --git a/tools/configure b/tools/configure
index c5a3f51918..30687b2790 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2302,7 +2302,7 @@ fi
2302 output="rockbox.creative" 2302 output="rockbox.creative"
2303 bootoutput="bootloader-zenxfi3.creative" 2303 bootoutput="bootloader-zenxfi3.creative"
2304 appextra="gui:recorder:radio" 2304 appextra="gui:recorder:radio"
2305 plugins="" 2305 plugins="yes"
2306 swcodec="yes" 2306 swcodec="yes"
2307 toolset=$scramblebitmaptools 2307 toolset=$scramblebitmaptools
2308 t_cpu="arm" 2308 t_cpu="arm"