summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2009-04-07 23:41:44 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2009-04-07 23:41:44 +0000
commitfef405c3288fa43572c1ed7a1ab692ff6e190804 (patch)
tree3e981c7ca050a2f2845ef7e69733d2ceed4279b9 /apps
parent8b13d87ec3055559ea33ea2b40225ed0cfa00788 (diff)
downloadrockbox-fef405c3288fa43572c1ed7a1ab692ff6e190804.tar.gz
rockbox-fef405c3288fa43572c1ed7a1ab692ff6e190804.tar.bz2
rockbox-fef405c3288fa43572c1ed7a1ab692ff6e190804.zip
Enable plugins on the Onda VX747
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20647 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/battery_bench.c5
-rw-r--r--apps/plugins/bitmaps/mono/SOURCES2
-rw-r--r--apps/plugins/bitmaps/native/SOURCES8
-rw-r--r--apps/plugins/blackjack.c5
-rw-r--r--apps/plugins/bounce.c4
-rw-r--r--apps/plugins/brickmania.c8
-rw-r--r--apps/plugins/bubbles.c4
-rw-r--r--apps/plugins/calculator.c5
-rw-r--r--apps/plugins/calendar.c10
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h5
-rw-r--r--apps/plugins/chessclock.c8
-rw-r--r--apps/plugins/chip8.c3
-rw-r--r--apps/plugins/chopper.c3
-rw-r--r--apps/plugins/cube.c4
-rw-r--r--apps/plugins/dict.c2
-rw-r--r--apps/plugins/doom/i_video.c5
-rw-r--r--apps/plugins/fireworks.c3
-rw-r--r--apps/plugins/flipit.c4
-rw-r--r--apps/plugins/invadrox.c6
-rw-r--r--apps/plugins/jewels.c10
-rw-r--r--apps/plugins/jpeg/jpeg.h2
-rw-r--r--apps/plugins/lamp.c4
-rw-r--r--apps/plugins/lib/pluginlib_actions.c13
-rw-r--r--apps/plugins/logo.c3
-rw-r--r--apps/plugins/mandelbrot.c3
-rw-r--r--apps/plugins/matrix.c3
-rw-r--r--apps/plugins/midi/midiplay.c3
-rw-r--r--apps/plugins/minesweeper.c3
-rw-r--r--apps/plugins/mosaique.c3
-rw-r--r--apps/plugins/mp3_encoder.c3
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c3
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c6
-rw-r--r--apps/plugins/oscilloscope.c5
-rw-r--r--apps/plugins/pacbox/pacbox.h4
-rw-r--r--apps/plugins/pegbox.c5
-rw-r--r--apps/plugins/plasma.c3
-rw-r--r--apps/plugins/pong.c3
-rw-r--r--apps/plugins/reversi/reversi-gui.h4
-rw-r--r--apps/plugins/rockblox.c6
-rw-r--r--apps/plugins/rockblox1d.c4
-rw-r--r--apps/plugins/rockboy/rockboy.c5
-rw-r--r--apps/plugins/rockpaint.c4
-rw-r--r--apps/plugins/sliding_puzzle.c4
-rw-r--r--apps/plugins/snake.c3
-rw-r--r--apps/plugins/snake2.c3
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c4
-rw-r--r--apps/plugins/solitaire.c3
-rw-r--r--apps/plugins/spacerocks.c3
-rw-r--r--apps/plugins/star.c6
-rw-r--r--apps/plugins/starfield.c4
-rw-r--r--apps/plugins/stats.c3
-rw-r--r--apps/plugins/stopwatch.c3
-rw-r--r--apps/plugins/sudoku/sudoku.h4
-rw-r--r--apps/plugins/superdom.c5
-rw-r--r--apps/plugins/test_codec.c2
-rw-r--r--apps/plugins/test_touchscreen.c3
-rw-r--r--apps/plugins/viewer.c5
-rw-r--r--apps/plugins/vu_meter.c7
-rw-r--r--apps/plugins/wormlet.c6
-rw-r--r--apps/plugins/xobox.c4
-rw-r--r--apps/plugins/zxbox/keymaps.h3
62 files changed, 258 insertions, 15 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index e515ac72de..74fc39a693 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -175,6 +175,11 @@ PLUGIN_HEADER
#define BATTERY_ON_TXT "MENU - start"
#define BATTERY_OFF_TXT "POWER"
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+
+#define BATTERY_OFF BUTTON_POWER
+#define BATTERY_OFF_TXT "POWER"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/bitmaps/mono/SOURCES b/apps/plugins/bitmaps/mono/SOURCES
index 63ac5adf74..daba9bb4ca 100644
--- a/apps/plugins/bitmaps/mono/SOURCES
+++ b/apps/plugins/bitmaps/mono/SOURCES
@@ -20,7 +20,7 @@ bubbles_bubble.138x110x1.bmp
((LCD_WIDTH == 176) && (LCD_HEIGHT == 220))
bubbles_bubble.220x176x1.bmp
#elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \
- ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320))
+ ((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320))
bubbles_bubble.320x240x1.bmp
#endif
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 92521d7e04..e7d6cd4580 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -17,7 +17,7 @@ brickmania_bricks.220x176x16.bmp
brickmania_pads.220x176x16.bmp
brickmania_break.220x176x16.bmp
brickmania_powerups.220x176x16.bmp
-#if LCD_HEIGHT == 320
+#if LCD_HEIGHT >= 320
brickmania_menu_bg.240x320x16.bmp
#elif LCD_HEIGHT == 176
brickmania_menu_bg.220x176x16.bmp
@@ -325,7 +325,7 @@ jewels.160x128x16.bmp
jewels.220x176x16.bmp
#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220)
jewels.220x176x16.bmp
-#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320)
+#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)
jewels.320x240x16.bmp
#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
jewels.320x240x16.bmp
@@ -419,7 +419,7 @@ pegbox_pieces.9x7x1.bmp
#if LCD_DEPTH == 16 /* colour versions*/
#if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
rockblox_background.320x240x16.bmp
-#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320)
+#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)
rockblox_background.240x320x16.bmp
#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176)
rockblox_background.220x176x16.bmp
@@ -678,7 +678,7 @@ superdom_boarditems.220x176x16.bmp
superdom_boarditems.176x132x16.bmp
#elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240)
superdom_boarditems.320x240x16.bmp
-#elif (LCD_WIDTH == 240 && LCD_HEIGHT == 320)
+#elif (LCD_WIDTH == 240 && LCD_HEIGHT >= 320)
superdom_boarditems.240x320x16.bmp
#endif
#endif
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 825d5544e2..10782f75b1 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -333,6 +333,11 @@ PLUGIN_HEADER
#define BJACK_RIGHT BUTTON_RIGHT
#define BJACK_LEFT BUTTON_LEFT
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define BJACK_QUIT BUTTON_POWER
+#define BJACK_DOUBLEDOWN BUTTON_VOL_DOWN
+#define BJACK_SCORES BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index e7e88cc876..83b56debe5 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -163,6 +163,10 @@ PLUGIN_HEADER
#define BOUNCE_QUIT BUTTON_POWER
#define BOUNCE_MODE BUTTON_MENU
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define BOUNCE_QUIT BUTTON_POWER
+#define BOUNCE_MODE BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 15c1641e3f..6d667323c2 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -190,6 +190,12 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define UP BUTTON_UP
#define DOWN BUTTON_DOWN
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define QUIT BUTTON_POWER
+#define LEFT BUTTON_VOL_DOWN
+#define RIGHT BUTTON_VOL_UP
+#define SELECT BUTTON_MENU
+
#else
#error No keymap defined!
#endif
@@ -262,7 +268,7 @@ enum menu_items {
#include "pluginbitmaps/brickmania_break.h"
#endif
-#if (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
+#if ((LCD_WIDTH == 320) || (LCD_WIDTH == 400)) && (LCD_HEIGHT == 240)
/* The time (in ms) for one iteration through the game loop - decrease this
to speed up the game - note that current_tick is (currently) only accurate
diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c
index db2439f99d..25f6b893d8 100644
--- a/apps/plugins/bubbles.c
+++ b/apps/plugins/bubbles.c
@@ -120,8 +120,8 @@ PLUGIN_HEADER
#define ROW_INDENT 11
#define MAX_FPS 40
-/* 22x22 bubbles (Gigabeat) */
-#elif (LCD_HEIGHT == 320) && (LCD_WIDTH == 240)
+/* 22x22 bubbles (Gigabeat, Onda VX747) */
+#elif ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400)) && (LCD_WIDTH == 240)
#define XOFS 64
#define ROW_HEIGHT 18
#define ROW_INDENT 11
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 1795bca7a7..df9fb9b18b 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -324,6 +324,11 @@ PLUGIN_HEADER
#define CALCULATOR_CALC BUTTON_MENU
#define CALCULATOR_CLEAR BUTTON_VIEW
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+
+#define CALCULATOR_QUIT BUTTON_POWER
+#define CALCULATOR_CLEAR BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index a570f37508..f0537e204f 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -173,6 +173,16 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define CALENDAR_NEXT_MONTH BUTTON_VOL_DOWN
#define CALENDAR_PREV_MONTH BUTTON_VOL_UP
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define CALENDAR_QUIT BUTTON_POWER
+#define CALENDAR_SELECT BUTTON_MENU
+#define CALENDAR_NEXT_WEEK BUTTON_VOL_DOWN
+#define CALENDAR_PREV_WEEK BUTTON_VOL_UP
+#define CALENDAR_NEXT_DAY BUTTON_RIGHT
+#define CALENDAR_PREV_DAY BUTTON_LEFT
+#define CALENDAR_NEXT_MONTH BUTTON_BOTTOMRIGHT
+#define CALENDAR_PREV_MONTH BUTTON_BOTTOMLEFT
+
#else
#error "No keypad setting."
#endif
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 85b21a551b..3e36c815bd 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -341,6 +341,11 @@
#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define CB_LEVEL BUTTON_VOL_UP
+#define CB_RESTART BUTTON_VOL_DOWN
+#define CB_MENU (BUTTON_MENU|BUTTON_REL)
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 8b179644f8..53180fe271 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -224,6 +224,14 @@ PLUGIN_HEADER
#define CHC_SETTINGS_OK BUTTON_SELECT
#define CHC_SETTINGS_CANCEL BUTTON_POWER
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define CHC_QUIT BUTTON_POWER
+#define CHC_RESET (BUTTON_VOL_UP|BUTTON_VOL_DOWN)
+#define CHC_MENU BUTTON_MENU
+#define CHC_SETTINGS_INC BUTTON_VOL_UP
+#define CHC_SETTINGS_DEC BUTTON_VOL_DOWN
+#define CHC_SETTINGS_CANCEL BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index f18fccebb4..78ea4e13fd 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1102,6 +1102,9 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define CHIP8_KEY8 BUTTON_DOWN
#define CHIP8_KEY9 BUTTON_VIEW
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define CHIP8_OFF BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index c5593d948c..e3bf0205f3 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -130,6 +130,9 @@ Still To do:
#define ACTION2 BUTTON_SELECT
#define ACTIONTEXT "MENU"
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 2ad25508da..2f100b2f79 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -237,6 +237,10 @@ PLUGIN_HEADER
#define CUBE_MODE BUTTON_MENU
#define CUBE_PAUSE BUTTON_SELECT
#define CUBE_HIGHSPEED BUTTON_VIEW
+
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define CUBE_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 2018d8cb47..aa35fb628d 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -141,6 +141,8 @@ long reverse (long N) {
#define LP_QUIT BUTTON_BACK
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
#define LP_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define LP_QUIT BUTTON_POWER
#else
#define LP_QUIT BUTTON_OFF
#endif
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 98666dda5f..c148d17077 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -315,6 +315,11 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_ENTER BUTTON_VIEW
#define DOOMBUTTON_WEAPON BUTTON_VOL_DOWN
#define DOOMBUTTON_MAP BUTTON_VOL_UP
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define DOOMBUTTON_ESC BUTTON_POWER
+#define DOOMBUTTON_SHOOT BUTTON_VOL_UP
+#define DOOMBUTTON_WEAPON BUTTON_VOL_DOWN
+#define DOOMBUTTON_MAP BUTTON_MENU
#else
#error Keymap not defined!
#endif
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index df2d998210..f1a30e7b50 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -100,6 +100,9 @@ PLUGIN_HEADER
#define BTN_MENU BUTTON_MENU
#define BTN_FIRE BUTTON_SELECT
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define BTN_MENU (BUTTON_MENU|BUTTON_REL)
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index a1807b4af9..77c197e3aa 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -276,6 +276,10 @@ PLUGIN_HEADER
#define FLIPIT_STEP_BY_STEP BUTTON_PLAYLIST
#define FLIPIT_TOGGLE BUTTON_SELECT
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+
+#define FLIPIT_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index 0d9473ffb7..1526409687 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -134,6 +134,10 @@ PLUGIN_HEADER
#define RIGHT BUTTON_RIGHT
#define FIRE BUTTON_SELECT
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+
+#define QUIT BUTTON_POWER
+
#else
#error INVADROX: Unsupported keypad
#endif
@@ -370,7 +374,7 @@ PLUGIN_HEADER
#define MAX_Y 18
-#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320)
+#elif (LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))
/* Gigabeat: 240x320x16
* ======================
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 9fa9a2e413..0c5fb49546 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -182,6 +182,9 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define JEWELS_SELECT BUTTON_SELECT
#define JEWELS_CANCEL BUTTON_POWER
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define JEWELS_CANCEL BUTTON_POWER
+
#else
#error No keymap defined!
#endif
@@ -207,9 +210,10 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#endif
#endif
-/* use 30x30 tiles (iPod Video, Gigabeat) */
+/* use 30x30 tiles (iPod Video, Gigabeat, Onda VX747) */
#if (LCD_HEIGHT == 240) && (LCD_WIDTH == 320) || \
- ((LCD_HEIGHT == 320) && (LCD_WIDTH == 240))
+ ((LCD_HEIGHT == 320) && (LCD_WIDTH == 240)) || \
+ ((LCD_HEIGHT == 400) && (LCD_WIDTH == 240))
#define TILE_WIDTH 30
#define TILE_HEIGHT 30
#define YOFS 0
@@ -1658,6 +1662,8 @@ static int jewels_main(struct game_context* bj) {
rb->lcd_puts(0, 9, "SELECT/PLAY to select");
rb->lcd_puts(0, 10, "Long SELECT to show menu");
rb->lcd_puts(0, 11, "POWER to cancel");
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+ rb->lcd_puts(0, 11, "POWER to cancel");
#else
#warning: missing help text.
#endif
diff --git a/apps/plugins/jpeg/jpeg.h b/apps/plugins/jpeg/jpeg.h
index 4cbbc272d7..0947b576e9 100644
--- a/apps/plugins/jpeg/jpeg.h
+++ b/apps/plugins/jpeg/jpeg.h
@@ -285,6 +285,8 @@
#define JPEG_NEXT BUTTON_VIEW
#define JPEG_PREVIOUS BUTTON_PLAYLIST
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c
index 70094da3f9..c35973bd85 100644
--- a/apps/plugins/lamp.c
+++ b/apps/plugins/lamp.c
@@ -82,6 +82,10 @@ PLUGIN_HEADER
# define LAMP_LEFT BUTTON_LEFT
# define LAMP_RIGHT BUTTON_RIGHT
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+# define LAMP_LEFT BUTTON_VOL_DOWN
+# define LAMP_RIGHT BUTTON_VOL_UP
+
#else
# error Missing key definitions for this keypad
#endif
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index e5745cda64..5b4aa60c73 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -169,6 +169,7 @@ const struct button_mapping generic_directions[] =
{ PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD) /* Touchscreen target */
#else
#error pluginlib_actions: Unsupported keypad
#endif
@@ -290,6 +291,7 @@ const struct button_mapping generic_left_right_fire[] =
{ PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
{ PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
{ PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD) /* Touchscreen target */
#else
#error pluginlib_actions: Unsupported keypad
#endif
@@ -440,6 +442,12 @@ const struct button_mapping generic_actions[] =
{PLA_MENU, BUTTON_MENU, BUTTON_NONE},
{PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
{PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+ {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
+ {PLA_START, BUTTON_VOL_DOWN, BUTTON_NONE},
+ {PLA_MENU, BUTTON_MENU, BUTTON_NONE},
+ {PLA_FIRE, BUTTON_VOL_UP, BUTTON_NONE},
+ {PLA_FIRE_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
#else
#error pluginlib_actions: Unsupported keypad
#endif
@@ -515,6 +523,11 @@ const struct button_mapping generic_increase_decrease[] =
{PLA_DEC, BUTTON_VOLDOWN, BUTTON_NONE},
{PLA_INC_REPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE},
{PLA_DEC_REPEAT, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE},
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+ {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE},
+ {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE},
+ {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
+ {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
#else
#error pluginlib_actions: Unsupported keypad
#endif
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index 8dc5db50e0..5438ca7b8d 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -165,6 +165,9 @@ const unsigned char rockbox16x7[] = {
#define LP_DEC_Y BUTTON_DOWN
#define LP_INC_Y BUTTON_UP
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define LP_QUIT BUTTON_POWER
+
#else
#define LP_QUIT BUTTON_OFF
#define LP_DEC_X BUTTON_LEFT
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index c18b1f453a..931777632e 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -283,6 +283,9 @@ PLUGIN_HEADER
#define MANDELBROT_MAXITER_DEC BUTTON_VOL_DOWN
#define MANDELBROT_RESET BUTTON_MENU
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define MANDELBROT_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/matrix.c b/apps/plugins/matrix.c
index c446665894..5559c0091c 100644
--- a/apps/plugins/matrix.c
+++ b/apps/plugins/matrix.c
@@ -133,6 +133,9 @@ extern const fb_data matrix_normal[];
#define MATRIX_SLEEP_LESS BUTTON_DOWN
#define MATRIX_PAUSE BUTTON_SELECT
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define MATRIX_EXIT BUTTON_POWER
+
#else
#error Unsupported keypad
#endif
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index b0024087b6..fea5e99aab 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -159,6 +159,9 @@ PLUGIN_IRAM_DECLARE
#define BTN_DOWN BUTTON_DOWN
#define BTN_PLAY BUTTON_MENU
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define BTN_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index eeae12be64..a29900ced3 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -224,6 +224,9 @@ enum minesweeper_status {
# define MINESWP_DISCOVER BUTTON_SELECT
# define MINESWP_INFO BUTTON_MENU
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+# define MINESWP_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 1bb0044c07..dcbbf523ec 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -145,6 +145,9 @@ PLUGIN_HEADER
#define MOSAIQUE_SPEED BUTTON_VIEW
#define MOSAIQUE_RESTART BUTTON_MENU
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define MOSAIQUE_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index c0e3cd4aa5..eab53a2a55 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2489,6 +2489,9 @@ void get_mp3_filename(const char *wav_name)
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_SELECT
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define MP3ENC_DONE BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 3452903b47..3edb2987a1 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -162,6 +162,9 @@ struct mpeg_settings settings;
#define MPEG_START_TIME_SCROLL_UP BUTTON_VOL_UP
#define MPEG_START_TIME_EXIT BUTTON_POWER
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define MPEG_START_TIME_EXIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index e9e742a6a5..89c76efd98 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -268,6 +268,12 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define MPEG_RW BUTTON_LEFT
#define MPEG_FF BUTTON_RIGHT
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define MPEG_MENU (BUTTON_MENU|BUTTON_REL)
+//#define MPEG_STOP BUTTON_POWER
+#define MPEG_VOLDOWN BUTTON_VOL_DOWN
+#define MPEG_VOLUP BUTTON_VOL_UP
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 5d55bb43b9..5b6d83e022 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -243,6 +243,11 @@ PLUGIN_HEADER
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define OSCILLOSCOPE_QUIT BUTTON_POWER
+#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
+#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index d91e8cf98f..593179c44e 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -192,6 +192,10 @@
#define PACMAN_COIN BUTTON_VIEW
#define PACMAN_MENU BUTTON_MENU
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+
+#define PACMAN_MENU (BUTTON_MENU|BUTTON_REL)
+
#else
#error Keymap not defined!
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index 514b92ebb6..b1e1738999 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -370,6 +370,11 @@ PLUGIN_HEADER
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define PEGBOX_QUIT BUTTON_POWER
+
+#define QUIT_TEXT "POWER"
+
#else
#error Unsupported keymap!
#endif
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index a172372da4..44c7add0dd 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -123,6 +123,9 @@ static int plasma_frequency;
#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
#define PLASMA_REGEN_COLORS BUTTON_SELECT
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define PLASMA_QUIT BUTTON_POWER
+
#endif
#ifdef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 148f1a1a1e..ae6a1b5f1c 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -177,6 +177,9 @@ PLUGIN_HEADER
#define PONG_RIGHT_UP BUTTON_VOL_UP
#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define PONG_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 27bd3e421b..7dd04bf464 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -177,6 +177,10 @@
#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
#define REVERSI_BUTTON_MENU BUTTON_MENU
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define REVERSI_QUIT BUTTON_POWER
+#define REVERSI_BUTTON_MENU BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 11fd118dc1..cea5e8a3c7 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -286,6 +286,10 @@ PLUGIN_HEADER
#define ROCKBLOX_DROP BUTTON_SELECT
#define ROCKBLOX_RESTART BUTTON_MENU
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define ROCKBLOX_OFF BUTTON_POWER
+#define ROCKBLOX_RESTART BUTTON_MENU
+
#else
#error No keymap defined!
#endif
@@ -371,7 +375,7 @@ PLUGIN_HEADER
#define LEVEL_Y 70
#define LINES_Y 105
-#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320)
+#elif (LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))
#define BLOCK_WIDTH 15
#define BLOCK_HEIGHT 15
diff --git a/apps/plugins/rockblox1d.c b/apps/plugins/rockblox1d.c
index d7779fadd6..f024a004a7 100644
--- a/apps/plugins/rockblox1d.c
+++ b/apps/plugins/rockblox1d.c
@@ -98,6 +98,10 @@ PLUGIN_HEADER
#define ONEDROCKBLOX_DOWN BUTTON_SELECT
#define ONEDROCKBLOX_QUIT BUTTON_POWER
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define ONEDROCKBLOX_DOWN BUTTON_MENU
+#define ONEDROCKBLOX_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 0352f0beb0..26b05c41df 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -238,6 +238,11 @@ static void setoptions (void)
options.START=BUTTON_VIEW;
options.SELECT=BUTTON_SELECT;
options.MENU=BUTTON_MENU;
+
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+ options.A=BUTTON_VOL_UP;
+ options.B=BUTTON_VOL_DOWN;
+ options.MENU=BUTTON_MENU;
#else
#error No Keymap Defined!
#endif
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 32beacbe6e..3027141dbd 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -157,6 +157,10 @@ PLUGIN_HEADER
#define ROCKPAINT_LEFT BUTTON_LEFT
#define ROCKPAINT_RIGHT BUTTON_RIGHT
+#elif ( CONFIG_KEYPAD == ONDAVX747_PAD )
+#define ROCKPAINT_QUIT BUTTON_POWER
+#define ROCKPAINT_MENU BUTTON_MENU
+
#else
#error "Please define keys for this keypad"
#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index df8e445f93..f9288d5488 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -190,6 +190,10 @@ PLUGIN_HEADER
#define PUZZLE_SHUFFLE BUTTON_VIEW
#define PUZZLE_PICTURE BUTTON_MENU
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define PUZZLE_QUIT BUTTON_POWER
+#define PUZZLE_QUIT_TEXT "[POWER]"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index a80aaa0cff..488de00586 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -164,6 +164,9 @@ PLUGIN_HEADER
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_MENU
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define SNAKE_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index d5ffc9f6d2..9ebe4afc8d 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -350,6 +350,9 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE BUTTON_VIEW
#define SNAKE2_PLAYPAUSE_TEXT "View"
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define SNAKE2_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index 3df2c0a016..05a5637f7e 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -74,6 +74,8 @@ PLUGIN_HEADER
#define SNOW_QUIT BUTTON_BACK
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
#define SNOW_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define SNOW_QUIT BUTTON_POWER
#else
#define SNOW_QUIT BUTTON_OFF
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index f071af14f4..ea104eca39 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -376,6 +376,10 @@ PLUGIN_HEADER
#define BUTTON_SAVE BUTTON_PLAYLIST
#define BUTTON_SAVE_NAME "PLAYLIST"
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define SOKOBAN_MENU BUTTON_MENU
+#define SOKOBAN_MENU_NAME "[MENU]"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index c6cf6f0b0c..a2b4cb84a2 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -398,6 +398,9 @@ PLUGIN_HEADER
# define HK_CUR2STACK "SELECT.."
# define HK_REM2STACK "VIEW+RIGHT"
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+# define SOL_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 0891906b12..44f6272199 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -267,6 +267,9 @@ PLUGIN_HEADER
#define AST_FIRE BUTTON_PLAYLIST
#define AST_FIRE_REP (BUTTON_PLAYLIST | BUTTON_REPEAT)
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define AST_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 344c11bc56..9a6dff134f 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -262,6 +262,12 @@ PLUGIN_HEADER
#define STAR_LEVEL_REPEAT BUTTON_VIEW
#define STAR_MENU_RUN BUTTON_MENU
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+
+#define STAR_QUIT BUTTON_POWER
+#define STAR_QUIT_NAME "[POWER]"
+#define STAR_MENU_RUN BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 8b5c64d8d7..1153689fed 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -123,6 +123,10 @@ PLUGIN_HEADER
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#define STARFIELD_TOGGLE_COLOR BUTTON_SELECT
+
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define STARFIELD_QUIT BUTTON_POWER
+
#endif
#ifdef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index 346d4206c2..5675458f24 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -93,6 +93,9 @@ static bool abort;
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
#define STATS_STOP BUTTON_POWER
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define STATS_STOP BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 4cba167738..1b6a148caa 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -199,6 +199,9 @@ PLUGIN_HEADER
#define STOPWATCH_SCROLL_UP BUTTON_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define STOPWATCH_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 1191f37db5..1524416342 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -255,6 +255,10 @@
#define SUDOKU_BUTTON_MENU BUTTON_MENU
#define SUDOKU_BUTTON_POSSIBLE BUTTON_VIEW
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define SUDOKU_BUTTON_QUIT BUTTON_POWER
+#define SUDOKU_BUTTON_MENU BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c
index 31f04b3b02..87621861d9 100644
--- a/apps/plugins/superdom.c
+++ b/apps/plugins/superdom.c
@@ -63,7 +63,7 @@ char buf[255];
#define ICON_HEIGHT 10
#define ICON_WIDTH 10
-#elif (LCD_WIDTH == 240 && LCD_HEIGHT == 320)
+#elif (LCD_WIDTH == 240 && (LCD_HEIGHT == 320 || LCD_HEIGHT == 400))
#define NUM_BOX_HEIGHT 25
#define NUM_BOX_WIDTH 30
#define STRIDE 18
@@ -141,6 +141,9 @@ char buf[255];
#define SUPERDOM_RIGHT BUTTON_RIGHT
#define SUPERDOM_CANCEL BUTTON_BACK
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define SUPERDOM_CANCEL BUTTON_POWER
+
#endif
#ifdef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c
index b99e57bb87..a708ed7b07 100644
--- a/apps/plugins/test_codec.c
+++ b/apps/plugins/test_codec.c
@@ -28,7 +28,7 @@ PLUGIN_HEADER
#define TESTCODEC_EXITBUTTON BUTTON_RIGHT
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define TESTCODEC_EXITBUTTON BUTTON_RC_PLAY
-#elif CONFIG_KEYPAD == COWOND2_PAD
+#elif CONFIG_KEYPAD == COWOND2_PAD || CONFIG_KEYPAD == ONDAVX747_PAD
#define TESTCODEC_EXITBUTTON BUTTON_POWER
#else
#define TESTCODEC_EXITBUTTON BUTTON_SELECT
diff --git a/apps/plugins/test_touchscreen.c b/apps/plugins/test_touchscreen.c
index 4d0c8a6744..ae7e453fd3 100644
--- a/apps/plugins/test_touchscreen.c
+++ b/apps/plugins/test_touchscreen.c
@@ -28,6 +28,9 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == MROBE500_PAD)
#define TOUCHSCREEN_QUIT BUTTON_POWER
#define TOUCHSCREEN_TOGGLE BUTTON_RC_MODE
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+#define TOUCHSCREEN_QUIT BUTTON_POWER
+#define TOUCHSCREEN_TOGGLE BUTTON_MENU
#endif
/* plugin entry point */
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index f01afbba8c..403213ef80 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -324,6 +324,11 @@ PLUGIN_HEADER
#define VIEWER_MENU BUTTON_MENU
#define VIEWER_AUTOSCROLL BUTTON_VIEW
+/* Onda VX747 keys */
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define VIEWER_QUIT BUTTON_POWER
+#define VIEWER_MENU BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 9dfae72dc0..4124b94563 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -274,6 +274,13 @@ PLUGIN_HEADER
#define LABEL_MENU "MENU"
#define LABEL_VOLUME "UP/DOWN"
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define VUMETER_QUIT BUTTON_POWER
+#define VUMETER_MENU BUTTON_MENU
+#define VUMETER_MENU_EXIT BUTTON_POWER
+#define LABEL_QUIT "POWER"
+#define LABEL_MENU "MENU"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 2eed1aa357..52b7566e40 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -275,6 +275,10 @@ PLUGIN_HEADER
#define PLAYERS_TEXT "Up/Down"
#define WORMS_TEXT "Left/Right"
+#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
+
+#define BTN_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
@@ -366,7 +370,7 @@ PLUGIN_HEADER
#define ARGH_SIZE 8
#define SPEED 4
#define MAX_WORM_SEGMENTS 512
-#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320)
+#elif (LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))
#define FOOD_SIZE 7
#define ARGH_SIZE 8
#define SPEED 4
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index c486e1b4c7..704ffb0df0 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -192,6 +192,10 @@ PLUGIN_HEADER
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_VIEW
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+
+#define QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index fee6e35530..ab5073fb7a 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -150,6 +150,9 @@
#define ZX_SELECT BUTTON_SELECT
#define ZX_MENU BUTTON_MENU
+#elif CONFIG_KEYPAD == ONDAVX747_PAD
+#define ZX_MENU (BUTTON_MENU|BUTTON_REL)
+
#else
#error Keymap not defined!