summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/battery_bench.c6
-rw-r--r--apps/plugins/blackjack.c16
-rw-r--r--apps/plugins/brickmania.c10
-rw-r--r--apps/plugins/calculator.c11
-rw-r--r--apps/plugins/calendar.c10
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h14
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/chip8.c8
-rw-r--r--apps/plugins/chopper.c4
-rw-r--r--apps/plugins/clix.c8
-rw-r--r--apps/plugins/cube.c10
-rw-r--r--apps/plugins/doom/i_video.c11
-rw-r--r--apps/plugins/fft/fft.c9
-rw-r--r--apps/plugins/flipit.c12
-rw-r--r--apps/plugins/fractals/fractal.h12
-rw-r--r--apps/plugins/goban/goban.h12
-rw-r--r--apps/plugins/greyscale.c8
-rw-r--r--apps/plugins/imageviewer/imageviewer_button.h15
-rw-r--r--apps/plugins/jewels.c10
-rw-r--r--apps/plugins/lib/keymaps.h8
-rw-r--r--apps/plugins/lib/pluginlib_actions.c15
-rw-r--r--apps/plugins/midi/midiplay.c8
-rw-r--r--apps/plugins/minesweeper.c13
-rw-r--r--apps/plugins/mp3_encoder.c6
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c10
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c9
-rw-r--r--apps/plugins/oscilloscope.c14
-rw-r--r--apps/plugins/pegbox.c17
-rw-r--r--apps/plugins/pictureflow/pictureflow.c3
-rw-r--r--apps/plugins/plugin.lds10
-rw-r--r--apps/plugins/pong.c8
-rw-r--r--apps/plugins/reversi/reversi-gui.h11
-rw-r--r--apps/plugins/rockblox.c12
-rw-r--r--apps/plugins/rockboy/rockboy.c10
-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.c16
-rw-r--r--apps/plugins/solitaire.c19
-rw-r--r--apps/plugins/spacerocks.c9
-rw-r--r--apps/plugins/star.c16
-rw-r--r--apps/plugins/stopwatch.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h14
-rw-r--r--apps/plugins/text_viewer/tv_button.h12
-rw-r--r--apps/plugins/vu_meter.c11
-rw-r--r--apps/plugins/wormlet.c9
-rw-r--r--apps/plugins/xobox.c9
-rw-r--r--apps/plugins/zxbox/keymaps.h8
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c9
50 files changed, 524 insertions, 3 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index bb9c3b0e6f..9a48ef2fdb 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -279,6 +279,12 @@
279#define BATTERY_OFF_TXT "Right" 279#define BATTERY_OFF_TXT "Right"
280#define BATTERY_ON_TXT "Left - start" 280#define BATTERY_ON_TXT "Left - start"
281 281
282#elif CONFIG_KEYPAD == XDUOO_X3_PAD
283#define BATTERY_ON BUTTON_PLAY
284#define BATTERY_OFF BUTTON_POWER
285#define BATTERY_ON_TXT "PLAY - start"
286#define BATTERY_OFF_TXT "POWER"
287
282#else 288#else
283#error No keymap defined! 289#error No keymap defined!
284#endif 290#endif
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 411ff3970b..6c3e487bf2 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -573,6 +573,22 @@ enum {
573#define BJACK_QUIT_NAME "Volume up" 573#define BJACK_QUIT_NAME "Volume up"
574#define BJACK_DOUBLE_NAME "Option+Down" 574#define BJACK_DOUBLE_NAME "Option+Down"
575 575
576#elif CONFIG_KEYPAD == XDUOO_X3_PAD
577#define BJACK_SELECT_NAME "PLAY"
578#define BJACK_STAY_NAME "NEXT"
579#define BJACK_QUIT_NAME "POWER"
580#define BJACK_DOUBLE_NAME "PREV"
581#define BJACK_SELECT BUTTON_PLAY
582#define BJACK_QUIT BUTTON_POWER
583#define BJACK_MAX BUTTON_VOL_UP
584#define BJACK_MIN BUTTON_VOL_DOWN
585#define BJACK_STAY BUTTON_NEXT
586#define BJACK_DOUBLEDOWN BUTTON_PREV
587#define BJACK_UP BUTTON_HOME
588#define BJACK_DOWN BUTTON_OPTION
589#define BJACK_RIGHT BUTTON_NEXT
590#define BJACK_LEFT BUTTON_PREV
591
576#else 592#else
577#error No keymap defined! 593#error No keymap defined!
578#endif 594#endif
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 3fc30819b9..24c6fab613 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -332,6 +332,16 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
332#define UP BUTTON_UP 332#define UP BUTTON_UP
333#define DOWN BUTTON_DOWN 333#define DOWN BUTTON_DOWN
334 334
335#elif CONFIG_KEYPAD == XDUOO_X3_PAD
336#define QUIT BUTTON_POWER
337#define LEFT BUTTON_PREV
338#define RIGHT BUTTON_NEXT
339#define ALTLEFT BUTTON_VOL_DOWN
340#define ALTRIGHT BUTTON_VOL_UP
341#define SELECT BUTTON_PLAY
342#define UP BUTTON_HOME
343#define DOWN BUTTON_OPTION
344
335#else 345#else
336#error No keymap defined! 346#error No keymap defined!
337#endif 347#endif
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index a30ccdc83d..f10bca66ec 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -525,6 +525,17 @@ F3: equal to "="
525#define CALCULATOR_CALC BUTTON_VOLUP 525#define CALCULATOR_CALC BUTTON_VOLUP
526#define CALCULATOR_CLEAR (BUTTON_SELECT|BUTTON_REPEAT) 526#define CALCULATOR_CLEAR (BUTTON_SELECT|BUTTON_REPEAT)
527 527
528#elif CONFIG_KEYPAD == XDUOO_X3_PAD
529#define CALCULATOR_LEFT BUTTON_PREV
530#define CALCULATOR_RIGHT BUTTON_NEXT
531#define CALCULATOR_UP BUTTON_HOME
532#define CALCULATOR_DOWN BUTTON_OPTION
533#define CALCULATOR_QUIT BUTTON_POWER
534#define CALCULATOR_INPUT_CALC_PRE (BUTTON_OPTION|BUTTON_REPEAT)
535#define CALCULATOR_INPUT (BUTTON_PLAY|BUTTON_REL)
536#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT)
537#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT)
538
528#else 539#else
529#error No keymap defined! 540#error No keymap defined!
530#endif 541#endif
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index 23446beb40..74ee49904b 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -413,6 +413,16 @@
413#define CALENDAR_NEXT_MONTH (BUTTON_VOLDOWN) 413#define CALENDAR_NEXT_MONTH (BUTTON_VOLDOWN)
414#define CALENDAR_PREV_MONTH (BUTTON_VOLUP) 414#define CALENDAR_PREV_MONTH (BUTTON_VOLUP)
415 415
416#elif CONFIG_KEYPAD == XDUOO_X3_PAD
417#define CALENDAR_QUIT BUTTON_POWER
418#define CALENDAR_SELECT BUTTON_PLAY
419#define CALENDAR_NEXT_WEEK BUTTON_OPTION
420#define CALENDAR_PREV_WEEK BUTTON_HOME
421#define CALENDAR_NEXT_DAY BUTTON_NEXT
422#define CALENDAR_PREV_DAY BUTTON_PREV
423#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
424#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
425
416#else 426#else
417#error "No keypad setting." 427#error "No keypad setting."
418#endif 428#endif
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index fe50297732..1f44d1b712 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -558,6 +558,20 @@
558#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) 558#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
559#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) 559#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
560 560
561#elif CONFIG_KEYPAD == XDUOO_X3_PAD
562#define CB_SELECT BUTTON_PLAY
563#define CB_UP BUTTON_HOME
564#define CB_DOWN BUTTON_OPTION
565#define CB_LEFT BUTTON_PREV
566#define CB_RIGHT BUTTON_NEXT
567#define CB_PLAY BUTTON_VOL_UP
568#define CB_LEVEL (BUTTON_PLAY|BUTTON_REPEAT)
569#define CB_MENU BUTTON_POWER
570#define CB_SCROLL_UP (BUTTON_HOME|BUTTON_REPEAT)
571#define CB_SCROLL_DOWN (BUTTON_OPTION|BUTTON_REPEAT)
572#define CB_SCROLL_LEFT (BUTTON_PREV|BUTTON_REPEAT)
573#define CB_SCROLL_RIGHT (BUTTON_NEXT|BUTTON_REPEAT)
574
561#else 575#else
562#error No keymap defined! 576#error No keymap defined!
563#endif 577#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index bc907feec3..ae7889ed95 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -412,6 +412,16 @@
412#define CHC_SETTINGS_CANCEL BUTTON_RIGHT 412#define CHC_SETTINGS_CANCEL BUTTON_RIGHT
413#define CHC_SETTINGS_OK (BUTTON_SELECT|BUTTON_REPEAT) 413#define CHC_SETTINGS_OK (BUTTON_SELECT|BUTTON_REPEAT)
414 414
415#elif CONFIG_KEYPAD == XDUOO_X3_PAD
416#define CHC_QUIT BUTTON_POWER
417#define CHC_STARTSTOP BUTTON_PLAY
418#define CHC_RESET BUTTON_OPTION
419#define CHC_MENU BUTTON_HOME
420#define CHC_SETTINGS_INC BUTTON_NEXT
421#define CHC_SETTINGS_DEC BUTTON_PREV
422#define CHC_SETTINGS_OK BUTTON_PLAY
423#define CHC_SETTINGS_CANCEL BUTTON_POWER
424
415#else 425#else
416#error No keymap defined! 426#error No keymap defined!
417#endif 427#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 5fb55ae011..153558667e 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1283,6 +1283,14 @@ CONFIG_KEYPAD == MROBE500_PAD
1283#define CHIP8_KEY6 BUTTON_RIGHT 1283#define CHIP8_KEY6 BUTTON_RIGHT
1284#define CHIP8_KEY8 BUTTON_LEFT 1284#define CHIP8_KEY8 BUTTON_LEFT
1285 1285
1286#elif CONFIG_KEYPAD == XDUOO_X3_PAD
1287#define CHIP8_OFF BUTTON_POWER
1288#define CHIP8_KEY2 BUTTON_HOME
1289#define CHIP8_KEY4 BUTTON_PREV
1290#define CHIP8_KEY5 BUTTON_PLAY
1291#define CHIP8_KEY6 BUTTON_NEXT
1292#define CHIP8_KEY8 BUTTON_OPTION
1293
1286#else 1294#else
1287#error No keymap defined! 1295#error No keymap defined!
1288#endif 1296#endif
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 4a838c44ae..1732a16ecb 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -209,6 +209,10 @@ CONFIG_KEYPAD == MROBE500_PAD
209#define ACTION BUTTON_SELECT 209#define ACTION BUTTON_SELECT
210#define ACTIONTEXT "Select" 210#define ACTIONTEXT "Select"
211 211
212#elif CONFIG_KEYPAD == XDUOO_X3_PAD
213#define QUIT BUTTON_POWER
214#define ACTION BUTTON_PLAY
215#define ACTIONTEXT "PLAY"
212 216
213#elif !defined(HAVE_TOUCHSCREEN) 217#elif !defined(HAVE_TOUCHSCREEN)
214#error No keymap defined! 218#error No keymap defined!
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index b47fe69952..b2580a1630 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -276,6 +276,14 @@
276#define CLIX_BUTTON_RIGHT BUTTON_RIGHT 276#define CLIX_BUTTON_RIGHT BUTTON_RIGHT
277#define CLIX_BUTTON_CLICK BUTTON_SELECT 277#define CLIX_BUTTON_CLICK BUTTON_SELECT
278 278
279#elif CONFIG_KEYPAD == XDUOO_X3_PAD
280#define CLIX_BUTTON_QUIT BUTTON_POWER
281#define CLIX_BUTTON_UP BUTTON_HOME
282#define CLIX_BUTTON_DOWN BUTTON_OPTION
283#define CLIX_BUTTON_LEFT BUTTON_PREV
284#define CLIX_BUTTON_RIGHT BUTTON_NEXT
285#define CLIX_BUTTON_CLICK BUTTON_PLAY
286
279#else 287#else
280#error "no keymap" 288#error "no keymap"
281#endif 289#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 04cb013f26..9a67c337d1 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -413,6 +413,16 @@
413#define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_REPEAT) 413#define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_REPEAT)
414#define CUBE_PAUSE (BUTTON_LEFT | BUTTON_REPEAT) 414#define CUBE_PAUSE (BUTTON_LEFT | BUTTON_REPEAT)
415 415
416#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
417#define CUBE_QUIT BUTTON_POWER
418#define CUBE_NEXT BUTTON_NEXT
419#define CUBE_PREV BUTTON_PREV
420#define CUBE_INC BUTTON_VOL_UP
421#define CUBE_DEC BUTTON_VOL_DOWN
422#define CUBE_MODE BUTTON_OPTION
423#define CUBE_PAUSE BUTTON_HOME
424#define CUBE_HIGHSPEED BUTTON_PLAY
425
416#else 426#else
417#error No keymap defined! 427#error No keymap defined!
418#endif 428#endif
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 5535f08b6e..d734e1e12b 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -555,6 +555,17 @@ void I_ShutdownGraphics(void)
555#define DOOMBUTTON_WEAPON BUTTON_VOLUP 555#define DOOMBUTTON_WEAPON BUTTON_VOLUP
556#define DOOMBUTTON_MAP (BUTTON_VOLUP|BUTTON_REPEAT) 556#define DOOMBUTTON_MAP (BUTTON_VOLUP|BUTTON_REPEAT)
557 557
558#elif CONFIG_KEYPAD == XDUOO_X3_PAD
559#define DOOMBUTTON_UP BUTTON_HOME
560#define DOOMBUTTON_DOWN BUTTON_OPTION
561#define DOOMBUTTON_LEFT BUTTON_PREV
562#define DOOMBUTTON_RIGHT BUTTON_NEXT
563#define DOOMBUTTON_SHOOT BUTTON_PLAY
564#define DOOMBUTTON_OPEN (BUTTON_HOME | BUTTON_POWER)
565#define DOOMBUTTON_ESC BUTTON_POWER
566#define DOOMBUTTON_ENTER BUTTON_PLAY
567#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
568
558#else 569#else
559#error Keymap not defined! 570#error Keymap not defined!
560#endif 571#endif
diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c
index a83bd36557..e5750c109a 100644
--- a/apps/plugins/fft/fft.c
+++ b/apps/plugins/fft/fft.c
@@ -334,6 +334,15 @@ GREY_INFO_STRUCT
334# define FFT_ORIENTATION BUTTON_SELECT 334# define FFT_ORIENTATION BUTTON_SELECT
335# define FFT_WINDOW BUTTON_VOLDOWN 335# define FFT_WINDOW BUTTON_VOLDOWN
336 336
337#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
338# define FFT_PREV_GRAPH BUTTON_PREV
339# define FFT_NEXT_GRAPH BUTTON_NEXT
340# define FFT_ORIENTATION BUTTON_HOME
341# define FFT_FREQ_SCALE BUTTON_OPTION
342# define FFT_WINDOW (BUTTON_HOME|BUTTON_POWER)
343# define FFT_AMP_SCALE BUTTON_PLAY
344# define FFT_QUIT BUTTON_POWER
345
337#elif !defined(HAVE_TOUCHSCREEN) 346#elif !defined(HAVE_TOUCHSCREEN)
338#error No keymap defined! 347#error No keymap defined!
339#endif 348#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index fafc1f9c08..b089974aef 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -482,6 +482,18 @@
482#define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_VOLUP) 482#define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_VOLUP)
483#define FLIPIT_TOGGLE BUTTON_SELECT 483#define FLIPIT_TOGGLE BUTTON_SELECT
484 484
485#elif CONFIG_KEYPAD == XDUOO_X3_PAD
486
487#define FLIPIT_LEFT BUTTON_PREV
488#define FLIPIT_RIGHT BUTTON_NEXT
489#define FLIPIT_UP BUTTON_HOME
490#define FLIPIT_DOWN BUTTON_OPTION
491#define FLIPIT_QUIT BUTTON_POWER
492#define FLIPIT_SHUFFLE (BUTTON_HOME | BUTTON_PREV)
493#define FLIPIT_SOLVE (BUTTON_HOME | BUTTON_NEXT)
494#define FLIPIT_STEP_BY_STEP (BUTTON_HOME | BUTTON_PLAY)
495#define FLIPIT_TOGGLE BUTTON_PLAY
496
485#else 497#else
486#error No keymap defined! 498#error No keymap defined!
487#endif 499#endif
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index aa8c31f093..ed6be31695 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -484,6 +484,18 @@
484#define FRACTAL_PRECISION_DEC (BUTTON_VOLUP|BUTTON_LEFT) 484#define FRACTAL_PRECISION_DEC (BUTTON_VOLUP|BUTTON_LEFT)
485#define FRACTAL_RESET BUTTON_SELECT 485#define FRACTAL_RESET BUTTON_SELECT
486 486
487#elif CONFIG_KEYPAD == XDUOO_X3_PAD
488#define FRACTAL_QUIT BUTTON_POWER
489#define FRACTAL_UP BUTTON_HOME
490#define FRACTAL_DOWN BUTTON_OPTION
491#define FRACTAL_LEFT BUTTON_PREV
492#define FRACTAL_RIGHT BUTTON_NEXT
493#define FRACTAL_ZOOM_IN BUTTON_VOL_UP
494#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN
495#define FRACTAL_PRECISION_INC (BUTTON_PLAY | BUTTON_NEXT)
496#define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_PREV)
497#define FRACTAL_RESET (BUTTON_HOME | BUTTON_POWER)
498
487#else 499#else
488#error No keymap defined! 500#error No keymap defined!
489#endif 501#endif
diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h
index 135b9dbe95..d1d66e3535 100644
--- a/apps/plugins/goban/goban.h
+++ b/apps/plugins/goban/goban.h
@@ -452,6 +452,18 @@
452#define GBN_BUTTON_PLAY (BUTTON_SELECT | BUTTON_REL) 452#define GBN_BUTTON_PLAY (BUTTON_SELECT | BUTTON_REL)
453#define GBN_BUTTON_NAV_MODE BUTTON_VOLUP 453#define GBN_BUTTON_NAV_MODE BUTTON_VOLUP
454 454
455#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
456#define GBN_BUTTON_UP BUTTON_HOME
457#define GBN_BUTTON_DOWN BUTTON_OPTION
458#define GBN_BUTTON_LEFT BUTTON_PREV
459#define GBN_BUTTON_RIGHT BUTTON_NEXT
460#define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
461#define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
462#define GBN_BUTTON_MENU BUTTON_POWER
463#define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
464#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
465#define GBN_BUTTON_NEXT_VAR BUTTON_HOME | BUTTON_POWER
466
455#else 467#else
456#error Unsupported keypad 468#error Unsupported keypad
457#endif 469#endif
diff --git a/apps/plugins/greyscale.c b/apps/plugins/greyscale.c
index 4dd29cee0b..ae873a06ac 100644
--- a/apps/plugins/greyscale.c
+++ b/apps/plugins/greyscale.c
@@ -108,6 +108,14 @@
108#define GREYSCALE_RIGHT BUTTON_RIGHT 108#define GREYSCALE_RIGHT BUTTON_RIGHT
109#define GREYSCALE_OFF BUTTON_PLAY 109#define GREYSCALE_OFF BUTTON_PLAY
110 110
111#elif CONFIG_KEYPAD == XDUOO_X3_PAD
112#define GREYSCALE_SHIFT BUTTON_PLAY
113#define GREYSCALE_UP BUTTON_HOME
114#define GREYSCALE_DOWN BUTTON_OPTION
115#define GREYSCALE_LEFT BUTTON_PREV
116#define GREYSCALE_RIGHT BUTTON_NEXT
117#define GREYSCALE_OFF BUTTON_POWER
118
111#endif 119#endif
112 120
113#define GFX_HEIGHT (LCD_HEIGHT-8) 121#define GFX_HEIGHT (LCD_HEIGHT-8)
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index abd84f1710..2f349b1a24 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -495,6 +495,21 @@
495#define IMGVIEW_QUIT (BUTTON_POWER|BUTTON_REL) 495#define IMGVIEW_QUIT (BUTTON_POWER|BUTTON_REL)
496#define IMGVIEW_MENU (BUTTON_SELECT|BUTTON_REL) 496#define IMGVIEW_MENU (BUTTON_SELECT|BUTTON_REL)
497 497
498#elif CONFIG_KEYPAD == XDUOO_X3_PAD
499#define IMGVIEW_ZOOM_PRE BUTTON_PLAY
500#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
501#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
502#define IMGVIEW_UP BUTTON_HOME
503#define IMGVIEW_DOWN BUTTON_OPTION
504#define IMGVIEW_LEFT BUTTON_PREV
505#define IMGVIEW_RIGHT BUTTON_NEXT
506#define IMGVIEW_NEXT BUTTON_VOL_UP
507#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
508#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
509#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
510#define IMGVIEW_MENU BUTTON_POWER
511#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER)
512
498#else 513#else
499#error No keymap defined! 514#error No keymap defined!
500#endif 515#endif
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 97531a001c..e4a22830a1 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -377,6 +377,16 @@ CONFIG_KEYPAD == MROBE500_PAD
377#define JEWELS_CANCEL BUTTON_POWER 377#define JEWELS_CANCEL BUTTON_POWER
378#define HK_CANCEL "Power" 378#define HK_CANCEL "Power"
379 379
380#elif CONFIG_KEYPAD == XDUOO_X3_PAD
381#define JEWELS_UP BUTTON_HOME
382#define JEWELS_DOWN BUTTON_OPTION
383#define JEWELS_LEFT BUTTON_PREV
384#define JEWELS_RIGHT BUTTON_NEXT
385#define JEWELS_SELECT BUTTON_PLAY
386#define JEWELS_CANCEL BUTTON_POWER
387#define HK_SELECT "PLAY"
388#define HK_CANCEL "POWER"
389
380#else 390#else
381#error No keymap defined! 391#error No keymap defined!
382#endif 392#endif
diff --git a/apps/plugins/lib/keymaps.h b/apps/plugins/lib/keymaps.h
index 64deccf513..5fab361620 100644
--- a/apps/plugins/lib/keymaps.h
+++ b/apps/plugins/lib/keymaps.h
@@ -215,6 +215,14 @@
215#define BTN_FIRE BUTTON_MENU 215#define BTN_FIRE BUTTON_MENU
216#define BTN_PAUSE BUTTON_POWER 216#define BTN_PAUSE BUTTON_POWER
217 217
218#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
219#define BTN_UP BUTTON_VOL_UP
220#define BTN_DOWN BUTTON_VOL_DOWN
221#define BTN_LEFT BUTTON_PREV
222#define BTN_RIGHT BUTTON_NEXT
223#define BTN_FIRE BUTTON_PLAY
224#define BTN_PAUSE BUTTON_OPTION
225
218#else 226#else
219#error Unsupported keypad 227#error Unsupported keypad
220#endif 228#endif
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index f9addb32f4..2c5fb773ba 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -228,6 +228,15 @@ const struct button_mapping pla_main_ctx[] =
228 { PLA_DOWN_REPEAT, BUTTON_FF|BUTTON_REPEAT, BUTTON_NONE}, 228 { PLA_DOWN_REPEAT, BUTTON_FF|BUTTON_REPEAT, BUTTON_NONE},
229 { PLA_LEFT_REPEAT, BUTTON_REW|BUTTON_M|BUTTON_REPEAT, BUTTON_NONE}, 229 { PLA_LEFT_REPEAT, BUTTON_REW|BUTTON_M|BUTTON_REPEAT, BUTTON_NONE},
230 { PLA_RIGHT_REPEAT, BUTTON_FF|BUTTON_M|BUTTON_REPEAT, BUTTON_NONE}, 230 { PLA_RIGHT_REPEAT, BUTTON_FF|BUTTON_M|BUTTON_REPEAT, BUTTON_NONE},
231#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
232 { PLA_UP, BUTTON_HOME, BUTTON_NONE },
233 { PLA_DOWN, BUTTON_OPTION, BUTTON_NONE },
234 { PLA_LEFT, BUTTON_PREV, BUTTON_NONE },
235 { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE },
236 { PLA_UP_REPEAT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE },
237 { PLA_DOWN_REPEAT, BUTTON_OPTION|BUTTON_REPEAT, BUTTON_NONE },
238 { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
239 { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
231#else 240#else
232# ifndef HAVE_TOUCHSCREEN 241# ifndef HAVE_TOUCHSCREEN
233# error pluginlib_actions: No directions defined 242# error pluginlib_actions: No directions defined
@@ -447,6 +456,12 @@ const struct button_mapping pla_main_ctx[] =
447 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, 456 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
448 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE}, 457 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE},
449 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, 458 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
459#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
460 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
461 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
462 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
463 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
464 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
450 465
451#else 466#else
452# ifndef HAVE_TOUCHSCREEN 467# ifndef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 418f72b6a5..de6310dcd8 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -293,6 +293,14 @@
293#define MIDI_VOL_DOWN BUTTON_VOLDOWN 293#define MIDI_VOL_DOWN BUTTON_VOLDOWN
294#define MIDI_PLAYPAUSE BUTTON_SELECT 294#define MIDI_PLAYPAUSE BUTTON_SELECT
295 295
296#elif CONFIG_KEYPAD == XDUOO_X3_PAD
297#define MIDI_QUIT BUTTON_POWER
298#define MIDI_FFWD BUTTON_NEXT
299#define MIDI_REWIND BUTTON_PREV
300#define MIDI_VOL_UP BUTTON_VOL_UP
301#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
302#define MIDI_PLAYPAUSE BUTTON_PLAY
303
296#else 304#else
297#error No keymap defined! 305#error No keymap defined!
298#endif 306#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 98eb8d9e7a..2a3b5f78e9 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -404,6 +404,19 @@ CONFIG_KEYPAD == MROBE500_PAD
404#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD 404#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
405# define MINESWP_QUIT BUTTON_POWER 405# define MINESWP_QUIT BUTTON_POWER
406 406
407#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
408# define MINESWP_LEFT BUTTON_PREV
409# define MINESWP_RIGHT BUTTON_NEXT
410# define MINESWP_UP BUTTON_HOME
411# define MINESWP_DOWN BUTTON_OPTION
412# define MINESWP_QUIT BUTTON_POWER
413# define MINESWP_TOGGLE_PRE BUTTON_PLAY
414# define MINESWP_TOGGLE (BUTTON_PLAY | BUTTON_REL)
415# define MINESWP_TOGGLE2 BUTTON_VOL_DOWN
416# define MINESWP_DISCOVER (BUTTON_PLAY | BUTTON_REPEAT)
417# define MINESWP_DISCOVER2 BUTTON_VOL_UP
418# define MINESWP_INFO (BUTTON_PLAY | BUTTON_OPTION)
419
407#else 420#else
408#error No keymap defined! 421#error No keymap defined!
409#endif 422#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index e86e74f408..9e09135385 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2556,6 +2556,12 @@ CONFIG_KEYPAD == MROBE500_PAD
2556#define MP3ENC_DONE BUTTON_POWER 2556#define MP3ENC_DONE BUTTON_POWER
2557#define MP3ENC_SELECT BUTTON_SELECT 2557#define MP3ENC_SELECT BUTTON_SELECT
2558 2558
2559#elif CONFIG_KEYPAD == XDUOO_X3_PAD
2560#define MP3ENC_PREV BUTTON_HOME
2561#define MP3ENC_NEXT BUTTON_OPTION
2562#define MP3ENC_DONE BUTTON_POWER
2563#define MP3ENC_SELECT BUTTON_PLAY
2564
2559#else 2565#else
2560#error No keymap defined! 2566#error No keymap defined!
2561#endif 2567#endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index dadfccf291..7976f5f542 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -306,6 +306,16 @@ struct mpeg_settings settings;
306#define MPEG_START_TIME_DOWN BUTTON_DOWN 306#define MPEG_START_TIME_DOWN BUTTON_DOWN
307#define MPEG_START_TIME_EXIT BUTTON_POWER 307#define MPEG_START_TIME_EXIT BUTTON_POWER
308 308
309#elif CONFIG_KEYPAD == XDUOO_X3_PAD
310#define MPEG_START_TIME_SELECT BUTTON_PLAY
311#define MPEG_START_TIME_LEFT BUTTON_PREV
312#define MPEG_START_TIME_RIGHT BUTTON_NEXT
313#define MPEG_START_TIME_UP BUTTON_HOME
314#define MPEG_START_TIME_DOWN BUTTON_OPTION
315#define MPEG_START_TIME_LEFT2 BUTTON_VOL_UP
316#define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN
317#define MPEG_START_TIME_EXIT BUTTON_POWER
318
309#else 319#else
310#error No keymap defined! 320#error No keymap defined!
311#endif 321#endif
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 07cf8ba8e2..fd3e8d8cd5 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -441,6 +441,15 @@ CONFIG_KEYPAD == SANSA_M200_PAD
441#define MPEG_RW BUTTON_LEFT 441#define MPEG_RW BUTTON_LEFT
442#define MPEG_FF BUTTON_RIGHT 442#define MPEG_FF BUTTON_RIGHT
443 443
444#elif CONFIG_KEYPAD == XDUOO_X3_PAD
445#define MPEG_MENU BUTTON_PLAY
446#define MPEG_STOP BUTTON_POWER
447#define MPEG_PAUSE BUTTON_HOME
448#define MPEG_VOLDOWN BUTTON_VOL_DOWN
449#define MPEG_VOLUP BUTTON_VOL_UP
450#define MPEG_RW BUTTON_PREV
451#define MPEG_FF BUTTON_NEXT
452
444#else 453#else
445#error No keymap defined! 454#error No keymap defined!
446#endif 455#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 85cbf2bfb2..4534684293 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -504,6 +504,20 @@
504#define OSCILLOSCOPE_VOL_UP BUTTON_VOLUP 504#define OSCILLOSCOPE_VOL_UP BUTTON_VOLUP
505#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOLDOWN 505#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOLDOWN
506 506
507#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
508#define OSCILLOSCOPE_QUIT BUTTON_POWER
509#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
510#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
511#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_PLAY
512#define OSCILLOSCOPE_ORIENTATION (BUTTON_PLAY | BUTTON_REPEAT)
513#define OSCILLOSCOPE_ADVMODE BUTTON_HOME
514#define OSCILLOSCOPE_PAUSE BUTTON_OPTION
515#define OSCILLOSCOPE_SPEED_UP BUTTON_NEXT
516#define OSCILLOSCOPE_SPEED_DOWN BUTTON_PREV
517#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
518#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
519#define NEED_LASTBUTTON
520
507#else 521#else
508#error No keymap defined! 522#error No keymap defined!
509#endif 523#endif
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index dcc6176d2b..922359cd32 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -643,6 +643,23 @@ CONFIG_KEYPAD == MROBE500_PAD
643#define QUIT_TEXT "POWER" 643#define QUIT_TEXT "POWER"
644#define SELECT_TEXT "MENU" 644#define SELECT_TEXT "MENU"
645 645
646#elif CONFIG_KEYPAD == XDUOO_X3_PAD
647#define PEGBOX_SELECT BUTTON_PLAY
648#define PEGBOX_QUIT BUTTON_POWER
649#define PEGBOX_RESTART (BUTTON_POWER | BUTTON_HOME)
650#define PEGBOX_LVL_UP BUTTON_VOL_UP
651#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
652#define PEGBOX_UP BUTTON_HOME
653#define PEGBOX_DOWN BUTTON_OPTION
654#define PEGBOX_RIGHT BUTTON_NEXT
655#define PEGBOX_LEFT BUTTON_PREV
656
657#define SELECT_TEXT "PLAY"
658#define QUIT_TEXT "POWER"
659#define RESTART_TEXT "HOME"
660#define LVL_UP_TEXT "VOL+"
661#define LVL_DOWN_TEXT "VOL-"
662
646#else 663#else
647#error Unsupported keymap! 664#error Unsupported keymap!
648#endif 665#endif
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c
index 6e47418e93..84a4315141 100644
--- a/apps/plugins/pictureflow/pictureflow.c
+++ b/apps/plugins/pictureflow/pictureflow.c
@@ -118,7 +118,8 @@ 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 || CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD 121 CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD || CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD || \
122 CONFIG_KEYPAD == XDUOO_X3_PAD
122 {PF_QUIT, BUTTON_POWER, BUTTON_NONE}, 123 {PF_QUIT, BUTTON_POWER, BUTTON_NONE},
123#if CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD 124#if CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
124 {PF_MENU, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT}, 125 {PF_MENU, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT},
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index 831cb59b81..aea44e7d40 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -163,8 +163,14 @@ OUTPUT_FORMAT(elf32-littlemips)
163#define IRAMORIG (0x00000000 + (56*1024)) 163#define IRAMORIG (0x00000000 + (56*1024))
164#define IRAMSIZE (200*1024) 164#define IRAMSIZE (200*1024)
165 165
166#elif CONFIG_CPU == JZ4732 166#elif CONFIG_CPU == JZ4732 || CONFIG_CPU == JZ4760B
167#define DRAMORIG 0x80004000 + STUBOFFSET 167#undef STUBOFFSET
168#ifdef DEBUG
169#define STUBOFFSET 0x14000
170#else
171#define STUBOFFSET 0x4000
172#endif
173#define DRAMORIG 0x80000000 + STUBOFFSET
168#define IRAM DRAM 174#define IRAM DRAM
169#define IRAMSIZE 0 175#define IRAMSIZE 0
170/* The bit of IRAM that is available is used in the core */ 176/* The bit of IRAM that is available is used in the core */
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 016d548675..d65134e5d2 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -309,6 +309,14 @@ CONFIG_KEYPAD == MROBE500_PAD
309#define PONG_QUIT BUTTON_POWER 309#define PONG_QUIT BUTTON_POWER
310#define PONG_PAUSE BUTTON_MENU 310#define PONG_PAUSE BUTTON_MENU
311 311
312#elif CONFIG_KEYPAD == XDUOO_X3_PAD
313#define PONG_QUIT BUTTON_POWER
314#define PONG_PAUSE BUTTON_PLAY
315#define PONG_LEFT_UP BUTTON_PREV
316#define PONG_LEFT_DOWN BUTTON_OPTION
317#define PONG_RIGHT_UP BUTTON_HOME
318#define PONG_RIGHT_DOWN BUTTON_NEXT
319
312#else 320#else
313#error No keymap defined! 321#error No keymap defined!
314#endif 322#endif
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 67897a9772..1dc1dedbed 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -328,6 +328,17 @@
328#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT 328#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
329#define REVERSI_BUTTON_MENU BUTTON_POWER 329#define REVERSI_BUTTON_MENU BUTTON_POWER
330 330
331#elif CONFIG_KEYPAD == XDUOO_X3_PAD
332#define REVERSI_BUTTON_QUIT BUTTON_POWER
333#define REVERSI_BUTTON_UP BUTTON_HOME
334#define REVERSI_BUTTON_DOWN BUTTON_OPTION
335#define REVERSI_BUTTON_LEFT BUTTON_PREV
336#define REVERSI_BUTTON_RIGHT BUTTON_NEXT
337#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY
338#define REVERSI_BUTTON_MAKE_MOVE_SHORTPRESS
339#define REVERSI_BUTTON_MENU BUTTON_PLAY
340#define REVERSI_BUTTON_MENU_LONGPRESS
341
331#else 342#else
332#error No keymap defined! 343#error No keymap defined!
333#endif 344#endif
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index a0814beda1..b204ed87da 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -480,6 +480,18 @@
480#define ROCKBLOX_ROTATE_CCW BUTTON_VOLDOWN 480#define ROCKBLOX_ROTATE_CCW BUTTON_VOLDOWN
481#define ROCKBLOX_DOWN BUTTON_DOWN 481#define ROCKBLOX_DOWN BUTTON_DOWN
482 482
483#elif CONFIG_KEYPAD == XDUOO_X3_PAD
484
485#define ROCKBLOX_OFF BUTTON_POWER
486#define ROCKBLOX_ROTATE_CCW BUTTON_HOME
487#define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN
488#define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP
489#define ROCKBLOX_DOWN BUTTON_OPTION
490#define ROCKBLOX_LEFT BUTTON_PREV
491#define ROCKBLOX_RIGHT BUTTON_NEXT
492#define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL)
493#define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT)
494
483#else 495#else
484#error No keymap defined! 496#error No keymap defined!
485#endif 497#endif
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 38536d1375..7425fc2550 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -423,6 +423,16 @@ static void setoptions (void)
423 options.A = BUTTON_VOLDOWN; 423 options.A = BUTTON_VOLDOWN;
424 options.B = BUTTON_VOLUP; 424 options.B = BUTTON_VOLUP;
425 425
426#elif CONFIG_KEYPAD == XDUOO_X3_PAD
427 options.UP = BUTTON_PREV;
428 options.DOWN = BUTTON_NEXT;
429
430 options.A = BUTTON_HOME;
431 options.B = BUTTON_OPTION;
432 options.START = BUTTON_VOL_DOWN;
433 options.SELECT = BUTTON_VOL_UP;
434 options.MENU = BUTTON_POWER;
435
426#else 436#else
427#error No Keymap Defined! 437#error No Keymap Defined!
428#endif 438#endif
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index d2534f4aa6..d0f9f7235c 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -327,6 +327,17 @@
327#define ROCKPAINT_QUIT BUTTON_POWER 327#define ROCKPAINT_QUIT BUTTON_POWER
328#define ROCKPAINT_MENU BUTTON_MENU 328#define ROCKPAINT_MENU BUTTON_MENU
329 329
330#elif CONFIG_KEYPAD == XDUOO_X3_PAD
331#define ROCKPAINT_QUIT BUTTON_POWER
332#define ROCKPAINT_DRAW BUTTON_PLAY
333#define ROCKPAINT_MENU (BUTTON_HOME | BUTTON_POWER)
334#define ROCKPAINT_TOOLBAR BUTTON_VOL_UP
335#define ROCKPAINT_TOOLBAR2 BUTTON_VOL_DOWN
336#define ROCKPAINT_UP BUTTON_HOME
337#define ROCKPAINT_DOWN BUTTON_OPTION
338#define ROCKPAINT_LEFT BUTTON_PREV
339#define ROCKPAINT_RIGHT BUTTON_NEXT
340
330#else 341#else
331#error "Please define keys for this keypad" 342#error "Please define keys for this keypad"
332#endif 343#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index d43c3d527f..a3f84e32ae 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -331,6 +331,15 @@ CONFIG_KEYPAD == MROBE500_PAD
331#define PUZZLE_SHUFFLE BUTTON_POWER 331#define PUZZLE_SHUFFLE BUTTON_POWER
332#define PUZZLE_PICTURE BUTTON_SELECT 332#define PUZZLE_PICTURE BUTTON_SELECT
333 333
334#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
335#define PUZZLE_QUIT BUTTON_POWER
336#define PUZZLE_LEFT BUTTON_PREV
337#define PUZZLE_RIGHT BUTTON_NEXT
338#define PUZZLE_UP BUTTON_HOME
339#define PUZZLE_DOWN BUTTON_OPTION
340#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER)
341#define PUZZLE_PICTURE BUTTON_PLAY
342
334#else 343#else
335#error No keymap defined! 344#error No keymap defined!
336#endif 345#endif
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index a73e61d9ec..9144edf062 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -289,6 +289,14 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
289#define SNAKE_DOWN BUTTON_DOWN 289#define SNAKE_DOWN BUTTON_DOWN
290#define SNAKE_PLAYPAUSE BUTTON_SELECT 290#define SNAKE_PLAYPAUSE BUTTON_SELECT
291 291
292#elif CONFIG_KEYPAD == XDUOO_X3_PAD
293#define SNAKE_QUIT BUTTON_POWER
294#define SNAKE_LEFT BUTTON_PREV
295#define SNAKE_RIGHT BUTTON_NEXT
296#define SNAKE_UP BUTTON_HOME
297#define SNAKE_DOWN BUTTON_OPTION
298#define SNAKE_PLAYPAUSE BUTTON_PLAY
299
292#else 300#else
293#error No keymap defined! 301#error No keymap defined!
294#endif 302#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index f32012e029..13d2c57b24 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -419,6 +419,15 @@ CONFIG_KEYPAD == MROBE500_PAD
419#define SNAKE2_PLAYPAUSE BUTTON_SELECT 419#define SNAKE2_PLAYPAUSE BUTTON_SELECT
420#define SNAKE2_PLAYPAUSE_TEXT "Select" 420#define SNAKE2_PLAYPAUSE_TEXT "Select"
421 421
422#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
423#define SNAKE2_LEFT BUTTON_PREV
424#define SNAKE2_RIGHT BUTTON_NEXT
425#define SNAKE2_UP BUTTON_HOME
426#define SNAKE2_DOWN BUTTON_OPTION
427#define SNAKE2_QUIT BUTTON_POWER
428#define SNAKE2_PLAYPAUSE BUTTON_PLAY
429#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
430
422#else 431#else
423#error No keymap defined! 432#error No keymap defined!
424#endif 433#endif
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index af369f82a6..98d295eb1a 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -651,6 +651,22 @@
651#define SOKOBAN_MENU BUTTON_MENU 651#define SOKOBAN_MENU BUTTON_MENU
652#define SOKOBAN_MENU_NAME "[MENU]" 652#define SOKOBAN_MENU_NAME "[MENU]"
653 653
654#elif CONFIG_KEYPAD == XDUOO_X3_PAD
655#define SOKOBAN_LEFT BUTTON_PREV
656#define SOKOBAN_RIGHT BUTTON_NEXT
657#define SOKOBAN_UP BUTTON_HOME
658#define SOKOBAN_DOWN BUTTON_OPTION
659#define SOKOBAN_MENU BUTTON_POWER
660#define SOKOBAN_UNDO_PRE BUTTON_PLAY
661#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_REL)
662#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_PLAY)
663#define SOKOBAN_LEVEL_DOWN BUTTON_VOL_DOWN
664#define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_NEXT)
665#define SOKOBAN_LEVEL_UP BUTTON_VOL_UP
666#define SOKOBAN_PAUSE BUTTON_PLAY
667#define BUTTON_SAVE BUTTON_PLAY
668#define BUTTON_SAVE_NAME "PLAY"
669
654#else 670#else
655#error No keymap defined! 671#error No keymap defined!
656#endif 672#endif
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index ee3742472b..fe7da2788e 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -687,6 +687,25 @@ CONFIG_KEYPAD == MROBE500_PAD
687#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD 687#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
688# define SOL_QUIT BUTTON_POWER 688# define SOL_QUIT BUTTON_POWER
689 689
690#elif CONFIG_KEYPAD == XDUOO_X3_PAD
691# define SOL_QUIT BUTTON_POWER
692# define SOL_UP BUTTON_HOME
693# define SOL_DOWN BUTTON_OPTION
694# define SOL_LEFT BUTTON_PREV
695# define SOL_RIGHT BUTTON_NEXT
696# define SOL_MOVE_PRE BUTTON_PLAY
697# define SOL_MOVE (BUTTON_PLAY | BUTTON_REL)
698# define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT)
699# define SOL_REM2CUR BUTTON_VOL_DOWN
700# define SOL_CUR2STACK_PRE BUTTON_PLAY
701# define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT)
702# define SOL_REM2STACK BUTTON_VOL_UP
703# define HK_MOVE "PLAY"
704# define HK_DRAW "DBL HOME"
705# define HK_REM2CUR "PREV"
706# define HK_CUR2STACK "DBL PLAY"
707# define HK_REM2STACK "NEXT"
708
690#else 709#else
691#error No keymap defined! 710#error No keymap defined!
692#endif 711#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 7a22de814b..ad03919861 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -354,6 +354,15 @@
354#define AST_RIGHT BUTTON_RIGHT 354#define AST_RIGHT BUTTON_RIGHT
355#define AST_FIRE BUTTON_SELECT 355#define AST_FIRE BUTTON_SELECT
356 356
357#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
358#define AST_PAUSE BUTTON_VOL_UP
359#define AST_QUIT BUTTON_POWER
360#define AST_THRUST BUTTON_HOME
361#define AST_HYPERSPACE BUTTON_OPTION
362#define AST_LEFT BUTTON_PREV
363#define AST_RIGHT BUTTON_NEXT
364#define AST_FIRE BUTTON_PLAY
365
357#else 366#else
358#error No keymap defined! 367#error No keymap defined!
359#endif 368#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 6d0cd65e20..bcddab8f20 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -623,6 +623,22 @@
623#define STAR_TOGGLE_CONTROL_NAME "Play" 623#define STAR_TOGGLE_CONTROL_NAME "Play"
624#define STAR_QUIT_NAME "Back" 624#define STAR_QUIT_NAME "Back"
625 625
626#elif CONFIG_KEYPAD == XDUOO_X3_PAD
627#define STAR_QUIT BUTTON_POWER
628#define STAR_LEFT BUTTON_PREV
629#define STAR_RIGHT BUTTON_NEXT
630#define STAR_UP BUTTON_HOME
631#define STAR_DOWN BUTTON_OPTION
632#define STAR_TOGGLE_CONTROL BUTTON_PLAY
633#define STAR_LEVEL_UP (BUTTON_PLAY | BUTTON_NEXT)
634#define STAR_LEVEL_DOWN (BUTTON_PLAY | BUTTON_PREV)
635#define STAR_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_OPTION)
636#define STAR_TOGGLE_CONTROL_NAME "PLAY"
637#define STAR_QUIT_NAME "POWER"
638#define STAR_LEVEL_UP_NAME "PLAY + NEXT"
639#define STAR_LEVEL_DOWN_NAME "PLAY + PREV"
640#define STAR_LEVEL_REPEAT_NAME "PLAY + OPTION"
641
626#else 642#else
627#error No keymap defined! 643#error No keymap defined!
628#endif 644#endif
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 8d99178e48..69f14a20ef 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -313,6 +313,14 @@
313#define STOPWATCH_SCROLL_UP BUTTON_UP 313#define STOPWATCH_SCROLL_UP BUTTON_UP
314#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 314#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
315 315
316#elif CONFIG_KEYPAD == XDUOO_X3_PAD
317#define STOPWATCH_QUIT BUTTON_POWER
318#define STOPWATCH_START_STOP BUTTON_NEXT
319#define STOPWATCH_RESET_TIMER BUTTON_PREV
320#define STOPWATCH_LAP_TIMER BUTTON_PLAY
321#define STOPWATCH_SCROLL_UP BUTTON_HOME
322#define STOPWATCH_SCROLL_DOWN BUTTON_OPTION
323
316#else 324#else
317#error No keymap defined! 325#error No keymap defined!
318#endif 326#endif
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 8d871c7b2d..e26644a2d8 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -423,6 +423,20 @@
423#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT 423#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
424#define SUDOKU_BUTTON_POSSIBLE BUTTON_VOLUP 424#define SUDOKU_BUTTON_POSSIBLE BUTTON_VOLUP
425 425
426#elif CONFIG_KEYPAD == XDUOO_X3_PAD
427#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
428#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
429#define SUDOKU_BUTTON_UP BUTTON_HOME
430#define SUDOKU_BUTTON_DOWN BUTTON_OPTION
431#define SUDOKU_BUTTON_LEFT BUTTON_PREV
432#define SUDOKU_BUTTON_RIGHT BUTTON_NEXT
433#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN
434#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP
435#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_PLAY
436#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER
437#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
438#define SUDOKU_BUTTON_POSSIBLE (BUTTON_HOME | BUTTON_POWER)
439
426#else 440#else
427#error No keymap defined! 441#error No keymap defined!
428#endif 442#endif
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index 9d1b5afa88..58bce80eaf 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -550,6 +550,18 @@
550#define TV_AUTOSCROLL BUTTON_VOLDOWN 550#define TV_AUTOSCROLL BUTTON_VOLDOWN
551#define TV_BOOKMARK BUTTON_VOLUP 551#define TV_BOOKMARK BUTTON_VOLUP
552 552
553#elif CONFIG_KEYPAD == XDUOO_X3_PAD
554#define TV_QUIT BUTTON_POWER
555#define TV_SCROLL_UP BUTTON_VOL_UP
556#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
557#define TV_SCREEN_LEFT BUTTON_PREV
558#define TV_SCREEN_RIGHT BUTTON_NEXT
559#define TV_MENU BUTTON_PLAY
560#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME)
561#define TV_LINE_UP BUTTON_HOME
562#define TV_LINE_DOWN BUTTON_OPTION
563#define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY)
564
553#else 565#else
554#error No keymap defined! 566#error No keymap defined!
555#endif 567#endif
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 8c80066c67..04876ba198 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -421,6 +421,17 @@
421#define LABEL_VOLUME "Vol Up/Down" 421#define LABEL_VOLUME "Vol Up/Down"
422#define LABEL_MENU "Select" 422#define LABEL_MENU "Select"
423 423
424#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
425#define VUMETER_QUIT BUTTON_POWER
426#define VUMETER_HELP BUTTON_HOME
427#define VUMETER_MENU BUTTON_PLAY
428#define VUMETER_UP BUTTON_VOL_UP
429#define VUMETER_DOWN BUTTON_VOL_DOWN
430#define LABEL_HELP "HOME"
431#define LABEL_QUIT "POWER"
432#define LABEL_MENU "PLAY"
433#define LABEL_VOLUME "VOL UP/DN"
434
424#else 435#else
425#error No keymap defined! 436#error No keymap defined!
426#endif 437#endif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index f1ccaec782..83cfadc338 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -393,6 +393,15 @@ CONFIG_KEYPAD == MROBE500_PAD
393#define BTN_QUIT BUTTON_POWER 393#define BTN_QUIT BUTTON_POWER
394#define BTN_STOPRESET (BUTTON_SELECT|BUTTON_REPEAT) 394#define BTN_STOPRESET (BUTTON_SELECT|BUTTON_REPEAT)
395 395
396#elif CONFIG_KEYPAD == XDUOO_X3_PAD
397#define BTN_DIR_UP BUTTON_HOME
398#define BTN_DIR_DOWN BUTTON_OPTION
399#define BTN_DIR_LEFT BUTTON_PREV
400#define BTN_DIR_RIGHT BUTTON_NEXT
401#define BTN_STARTPAUSE BUTTON_PLAY
402#define BTN_QUIT BUTTON_POWER
403#define BTN_STOPRESET (BUTTON_HOME | BUTTON_POWER)
404
396#else 405#else
397#error No keymap defined! 406#error No keymap defined!
398#endif 407#endif
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index f5c4a29bdf..9b41e2d1ac 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -342,6 +342,15 @@ CONFIG_KEYPAD == MROBE500_PAD
342#define DOWN BUTTON_DOWN 342#define DOWN BUTTON_DOWN
343#define PAUSE BUTTON_SELECT 343#define PAUSE BUTTON_SELECT
344 344
345#elif CONFIG_KEYPAD == XDUOO_X3_PAD
346
347#define QUIT BUTTON_POWER
348#define LEFT BUTTON_PREV
349#define RIGHT BUTTON_NEXT
350#define UP BUTTON_HOME
351#define DOWN BUTTON_OPTION
352#define PAUSE BUTTON_PLAY
353
345#else 354#else
346#error No keymap defined! 355#error No keymap defined!
347#endif 356#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index d10eeb67e7..ebdd41734e 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -282,6 +282,14 @@
282#define ZX_RIGHT BUTTON_RIGHT 282#define ZX_RIGHT BUTTON_RIGHT
283#define ZX_SELECT BUTTON_SELECT 283#define ZX_SELECT BUTTON_SELECT
284 284
285#elif CONFIG_KEYPAD == XDUOO_X3_PAD
286#define ZX_SELECT BUTTON_PLAY
287#define ZX_MENU BUTTON_POWER
288#define ZX_LEFT BUTTON_PREV
289#define ZX_RIGHT BUTTON_NEXT
290#define ZX_UP BUTTON_HOME
291#define ZX_DOWN BUTTON_OPTION
292
285#else 293#else
286#error Keymap not defined! 294#error Keymap not defined!
287 295
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index 2931c8ea32..f38712d8d1 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -278,6 +278,15 @@
278#define KBD_UP BUTTON_UP 278#define KBD_UP BUTTON_UP
279#define KBD_DOWN BUTTON_DOWN 279#define KBD_DOWN BUTTON_DOWN
280 280
281#elif CONFIG_KEYPAD == XDUOO_X3_PAD
282
283#define KBD_SELECT BUTTON_PLAY
284#define KBD_ABORT BUTTON_POWER
285#define KBD_LEFT BUTTON_PREV
286#define KBD_RIGHT BUTTON_NEXT
287#define KBD_UP BUTTON_HOME
288#define KBD_DOWN BUTTON_OPTION
289
281#endif 290#endif
282 291
283#ifdef HAVE_TOUCHSCREEN 292#ifdef HAVE_TOUCHSCREEN