summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorVitja Makarov <vitja.makarov@gmail.com>2008-10-07 16:38:28 +0000
committerVitja Makarov <vitja.makarov@gmail.com>2008-10-07 16:38:28 +0000
commit2f84f699c0df4a82dfdcb2244e1c7bf4af99fc72 (patch)
tree179ebbbea6f2f234850e42b668813852d10817cb /apps/plugins
parent981bd1cb3e65fdf86db03d9328232e58cf14ff1e (diff)
IAUDIO67_PAD: Add keymaps for most of the plugins, they are not all tested yet.
IAUDIO7: Define MODEL_NAME in config git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18730 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/calculator.c13
-rw-r--r--apps/plugins/chessclock.c11
-rw-r--r--apps/plugins/chopper.c6
-rw-r--r--apps/plugins/cube.c10
-rw-r--r--apps/plugins/dict.c2
-rw-r--r--apps/plugins/fireworks.c3
-rw-r--r--apps/plugins/invadrox.c7
-rw-r--r--apps/plugins/jewels.c8
-rw-r--r--apps/plugins/jpeg.c11
-rw-r--r--apps/plugins/lamp.c4
-rw-r--r--apps/plugins/logo.c7
-rw-r--r--apps/plugins/matrix.c5
-rw-r--r--apps/plugins/midi/midiplay.c7
-rw-r--r--apps/plugins/mosaique.c5
-rw-r--r--apps/plugins/mp3_encoder.c5
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c8
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c9
-rw-r--r--apps/plugins/pacbox/pacbox.h12
-rw-r--r--apps/plugins/plasma.c7
-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/rockblox1d.c4
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c14
-rw-r--r--apps/plugins/starfield.c7
-rw-r--r--apps/plugins/stats.c3
-rw-r--r--apps/plugins/stopwatch.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h10
-rw-r--r--apps/plugins/viewer.c10
-rw-r--r--apps/plugins/xobox.c9
-rw-r--r--apps/plugins/zxbox/keymaps.h8
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c8
33 files changed, 251 insertions, 0 deletions
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index a5c4277528..0a91d94619 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -261,6 +261,19 @@ PLUGIN_HEADER
#define CALCULATOR_QUIT BUTTON_POWER
#define CALCULATOR_CLEAR BUTTON_MENU
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+
+#define CALCULATOR_LEFT BUTTON_LEFT
+#define CALCULATOR_RIGHT BUTTON_RIGHT
+#define CALCULATOR_UP BUTTON_VOLUP
+#define CALCULATOR_DOWN BUTTON_VOLDOWN
+#define CALCULATOR_QUIT BUTTON_POWER
+#define CALCULATOR_INPUT BUTTON_PLAY
+#define CALCULATOR_CALC BUTTON_MENU
+#define CALCULATOR_CLEAR BUTTON_STOP
+
+#define CALCULATOR_RC_QUIT (BUTTON_MENU|BUTTON_PLAY)
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index b4d2ed0547..3acb5f3ccf 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -190,6 +190,17 @@ PLUGIN_HEADER
#define CHC_SETTINGS_DEC BUTTON_MINUS
#define CHC_SETTINGS_CANCEL BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define CHC_QUIT BUTTON_POWER
+#define CHC_STARTSTOP BUTTON_PLAY
+#define CHC_RESET BUTTON_LEFT
+#define CHC_MENU BUTTON_MENU
+#define CHC_SETTINGS_INC BUTTON_VOLUP
+#define CHC_SETTINGS_DEC BUTTON_VOLDOWN
+#define CHC_SETTINGS_OK BUTTON_PLAY
+#define CHC_SETTINGS_OK2 BUTTON_LEFT
+#define CHC_SETTINGS_CANCEL BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index c61d012898..132977753a 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -108,6 +108,12 @@ Still To do:
#elif CONFIG_KEYPAD == COWOND2_PAD
#define QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define QUIT BUTTON_POWER
+#define ACTION BUTTON_PLAY
+#define ACTION2 BUTTON_STOP
+#define ACTIONTEXT "PLAY"
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 37c74f6ff3..8be304e808 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -205,6 +205,16 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == COWOND2_PAD
#define CUBE_QUIT BUTTON_POWER
+#elif (CONFIG_KEYPAD == IAUDIO67_PAD)
+#define CUBE_QUIT BUTTON_POWER
+#define CUBE_NEXT BUTTON_RIGHT
+#define CUBE_PREV BUTTON_LEFT
+#define CUBE_INC BUTTON_VOLUP
+#define CUBE_DEC BUTTON_VOLDOWN
+#define CUBE_MODE BUTTON_MENU
+#define CUBE_PAUSE BUTTON_PLAY
+#define CUBE_HIGHSPEED BUTTON_STOP
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index db121f7510..0f75463946 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -132,6 +132,8 @@ long reverse (long N) {
#define LP_QUIT BUTTON_RC_REC
#elif CONFIG_KEYPAD == COWOND2_PAD
#define LP_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define LP_QUIT BUTTON_POWER
#else
#define LP_QUIT BUTTON_OFF
#endif
diff --git a/apps/plugins/fireworks.c b/apps/plugins/fireworks.c
index 43cd04a985..e79f0ff377 100644
--- a/apps/plugins/fireworks.c
+++ b/apps/plugins/fireworks.c
@@ -73,6 +73,9 @@ static const struct plugin_api* rb;
#define BTN_FIRE BUTTON_RC_PLAY
#elif (CONFIG_KEYPAD == COWOND2_PAD)
#define BTN_MENU (BUTTON_MENU|BUTTON_REL)
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define BTN_MENU BUTTON_MENU
+#define BTN_FIRE BUTTON_PLAY
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index a46580ad95..0f8b92d9b3 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -120,6 +120,13 @@ PLUGIN_HEADER
#define QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+
+#define QUIT BUTTON_POWER
+#define LEFT BUTTON_LEFT
+#define RIGHT BUTTON_RIGHT
+#define FIRE BUTTON_PLAY
+
#else
#error INVADROX: Unsupported keypad
#endif
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 6f547fdf39..075edfda33 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -153,6 +153,14 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == COWOND2_PAD
#define JEWELS_CANCEL BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define JEWELS_UP BUTTON_STOP
+#define JEWELS_DOWN BUTTON_PLAY
+#define JEWELS_LEFT BUTTON_LEFT
+#define JEWELS_RIGHT BUTTON_RIGHT
+#define JEWELS_SELECT BUTTON_MENU
+#define JEWELS_CANCEL BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index 142e982d0b..b43dee5d74 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -214,6 +214,17 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == COWOND2_PAD
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define JPEG_ZOOM_IN BUTTON_VOLUP
+#define JPEG_ZOOM_OUT BUTTON_VOLDOWN
+#define JPEG_UP BUTTON_STOP
+#define JPEG_DOWN BUTTON_PLAY
+#define JPEG_LEFT BUTTON_LEFT
+#define JPEG_RIGHT BUTTON_RIGHT
+#define JPEG_MENU BUTTON_MENU
+#define JPEG_NEXT (BUTTON_PLAY|BUTTON_VOLUP)
+#define JPEG_PREVIOUS (BUTTON_PLAY|BUTTON_VOLDOWN)
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c
index a938d7a7f2..94f48eae30 100644
--- a/apps/plugins/lamp.c
+++ b/apps/plugins/lamp.c
@@ -74,6 +74,10 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == COWOND2_PAD
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+# define LAMP_LEFT BUTTON_LEFT
+# define LAMP_RIGHT BUTTON_RIGHT
+
#else
# error Missing key definitions for this keypad
#endif
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index 779ce8845d..4d4263ee79 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -141,6 +141,13 @@ const unsigned char rockbox16x7[] = {
#elif CONFIG_KEYPAD == COWOND2_PAD
#define LP_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define LP_QUIT BUTTON_POWER
+#define LP_DEC_X BUTTON_LEFT
+#define LP_INC_X BUTTON_RIGHT
+#define LP_DEC_Y BUTTON_PLAY
+#define LP_INC_Y BUTTON_STOP
+
#else
#define LP_QUIT BUTTON_OFF
#define LP_DEC_X BUTTON_LEFT
diff --git a/apps/plugins/matrix.c b/apps/plugins/matrix.c
index fe54b2938a..93565596dd 100644
--- a/apps/plugins/matrix.c
+++ b/apps/plugins/matrix.c
@@ -99,6 +99,11 @@ extern const fb_data matrix_normal[];
#define MATRIX_PAUSE BUTTON_RC_PLAY
#elif (CONFIG_KEYPAD == COWOND2_PAD)
#define MATRIX_EXIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define MATRIX_EXIT BUTTON_POWER
+#define MATRIX_SLEEP_MORE BUTTON_VOLUP
+#define MATRIX_SLEEP_LESS BUTTON_VOLDOWN
+#define MATRIX_PAUSE BUTTON_PLAY
#else
#error Unsupported keypad
#endif
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index d76e0382ad..55dc4d6849 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -149,6 +149,13 @@ PLUGIN_IRAM_DECLARE
#elif CONFIG_KEYPAD == COWOND2_PAD
#define BTN_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define BTN_QUIT BUTTON_POWER
+#define BTN_RIGHT BUTTON_RIGHT
+#define BTN_LEFT BUTTON_LEFT
+#define BTN_UP BUTTON_STOP
+#define BTN_DOWN BUTTON_PLAY
+#define BTN_PLAY BUTTON_MENU
#else
#error No keymap defined!
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index b750efb6b3..90ffa37e07 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -127,6 +127,11 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == COWOND2_PAD
#define MOSAIQUE_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define MOSAIQUE_QUIT BUTTON_POWER
+#define MOSAIQUE_SPEED BUTTON_PLAY
+#define MOSAIQUE_RESTART BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index 7b799d2ef8..e04d3d0357 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2457,6 +2457,11 @@ void get_mp3_filename(const char *wav_name)
#define MP3ENC_SELECT BUTTON_RC_FF
#elif CONFIG_KEYPAD == COWOND2_PAD
#define MP3ENC_DONE BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define MP3ENC_PREV BUTTON_LEFT
+#define MP3ENC_NEXT BUTTON_RIGHT
+#define MP3ENC_DONE BUTTON_POWER
+#define MP3ENC_SELECT BUTTON_PLAY
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index e53b37f810..519fd0f059 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -124,6 +124,14 @@ struct mpeg_settings settings;
#elif CONFIG_KEYPAD == COWOND2_PAD
#define MPEG_START_TIME_EXIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define MPEG_START_TIME_SELECT BUTTON_MENU
+#define MPEG_START_TIME_LEFT BUTTON_LEFT
+#define MPEG_START_TIME_RIGHT BUTTON_RIGHT
+#define MPEG_START_TIME_UP BUTTON_STOP
+#define MPEG_START_TIME_DOWN BUTTON_PLAY
+#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 fd6d3dbd1a..cb8c0d2133 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -231,6 +231,15 @@ PLUGIN_IRAM_DECLARE
#define MPEG_VOLDOWN BUTTON_MINUS
#define MPEG_VOLUP BUTTON_PLUS
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define MPEG_MENU BUTTON_MENU
+#define MPEG_STOP BUTTON_STOP
+#define MPEG_PAUSE BUTTON_PLAY
+#define MPEG_VOLDOWN BUTTON_VOLDOWN
+#define MPEG_VOLUP BUTTON_VOLUP
+#define MPEG_RW BUTTON_LEFT
+#define MPEG_FF BUTTON_RIGHT
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 4e51e3c868..f38831e608 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -147,6 +147,18 @@
#define PACMAN_MENU (BUTTON_MENU|BUTTON_REL)
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+
+#define PACMAN_UP BUTTON_STOP
+#define PACMAN_DOWN BUTTON_PLAY
+#define PACMAN_LEFT BUTTON_LEFT
+#define PACMAN_RIGHT BUTTON_RIGHT
+#define PACMAN_1UP BUTTON_VOLDOWN
+#define PACMAN_2UP BUTTON_VOLUP
+#define PACMAN_COIN_PRE BUTTON_MENU
+#define PACMAN_COIN (BUTTON_MENU | BUTTON_PLAY)
+#define PACMAN_MENU BUTTON_POWER
+
#else
#error Keymap not defined!
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index e1527e1907..22d67b6775 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -102,6 +102,13 @@ static int plasma_frequency;
#elif (CONFIG_KEYPAD == COWOND2_PAD)
#define PLASMA_QUIT BUTTON_POWER
+#elif (CONFIG_KEYPAD == IAUDIO67_PAD)
+#define PLASMA_QUIT BUTTON_POWER
+#define PLASMA_INCREASE_FREQUENCY BUTTON_RIGHT
+#define PLASMA_DECREASE_FREQUENCY BUTTON_LEFT
+#define PLASMA_RC_QUIT BUTTON_STOP
+#define PLASMA_REGEN_COLORS BUTTON_PLAY
+
#endif
#ifdef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 27721fcfab..53edb90c00 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -151,6 +151,14 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == COWOND2_PAD)
#define PONG_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define PONG_QUIT BUTTON_POWER
+#define PONG_PAUSE BUTTON_MENU
+#define PONG_LEFT_UP BUTTON_VOLUP
+#define PONG_LEFT_DOWN BUTTON_VOLDOWN
+#define PONG_RIGHT_UP BUTTON_RIGHT
+#define PONG_RIGHT_DOWN BUTTON_LEFT
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index a03be8ee70..4c86d275ae 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -147,6 +147,15 @@
#define REVERSI_QUIT BUTTON_POWER
#define REVERSI_BUTTON_MENU BUTTON_MENU
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define REVERSI_BUTTON_QUIT BUTTON_POWER
+#define REVERSI_BUTTON_UP BUTTON_STOP
+#define REVERSI_BUTTON_DOWN BUTTON_PLAY
+#define REVERSI_BUTTON_LEFT BUTTON_LEFT
+#define REVERSI_BUTTON_RIGHT BUTTON_RIGHT
+#define REVERSI_BUTTON_MAKE_MOVE BUTTON_VOLUP
+#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 c4580665ab..5ff220f2f1 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -217,6 +217,17 @@ PLUGIN_HEADER
#define ROCKBLOX_OFF BUTTON_POWER
#define ROCKBLOX_RESTART BUTTON_MENU
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+
+#define ROCKBLOX_OFF BUTTON_POWER
+#define ROCKBLOX_ROTATE_RIGHT BUTTON_VOLDOWN
+#define ROCKBLOX_ROTATE_LEFT BUTTON_VOLUP
+#define ROCKBLOX_DOWN BUTTON_STOP
+#define ROCKBLOX_LEFT BUTTON_LEFT
+#define ROCKBLOX_RIGHT BUTTON_RIGHT
+#define ROCKBLOX_DROP BUTTON_PLAY
+#define ROCKBLOX_RESTART BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/rockblox1d.c b/apps/plugins/rockblox1d.c
index 7232e365ed..b0fa6919b4 100644
--- a/apps/plugins/rockblox1d.c
+++ b/apps/plugins/rockblox1d.c
@@ -82,6 +82,10 @@ PLUGIN_HEADER
#define ONEDROCKBLOX_DOWN BUTTON_MENU
#define ONEDROCKBLOX_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define ONEDROCKBLOX_DOWN BUTTON_MENU
+#define ONEDROCKBLOX_QUIT BUTTON_POWER
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index be36d950d5..056ab7818b 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -64,6 +64,8 @@ PLUGIN_HEADER
#define SNOW_RC_QUIT BUTTON_RC_REC
#elif CONFIG_KEYPAD == COWOND2_PAD
#define SNOW_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_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 f8e73682dc..9ac98fe49f 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -276,6 +276,20 @@ PLUGIN_HEADER
#define SOKOBAN_MENU BUTTON_MENU
#define SOKOBAN_MENU_NAME "[MENU]"
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define SOKOBAN_LEFT BUTTON_LEFT
+#define SOKOBAN_RIGHT BUTTON_RIGHT
+#define SOKOBAN_UP BUTTON_STOP
+#define SOKOBAN_DOWN BUTTON_PLAY
+#define SOKOBAN_MENU BUTTON_MENU
+#define SOKOBAN_UNDO BUTTON_VOLDOWN
+#define SOKOBAN_REDO BUTTON_VOLUP
+#define SOKOBAN_PAUSE (BUTTON_MENU|BUTTON_LEFT)
+#define BUTTON_SAVE (BUTTON_MENU|BUTTON_PLAY)
+#define BUTTON_SAVE_NAME "MENU+PLAY"
+
+#define SOKOBAN_RC_MENU (BUTTON_MENU|BUTTON_STOP)
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 53198d0a5f..f8f24b93d4 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -88,6 +88,13 @@ static const struct plugin_api* rb; /* global api struct pointer */
#define STARFIELD_INCREASE_NB_STARS BUTTON_RC_FF
#define STARFIELD_DECREASE_NB_STARS BUTTON_RC_REW
#define STARFIELD_TOGGLE_COLOR BUTTON_RC_MODE
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define STARFIELD_QUIT BUTTON_POWER
+#define STARFIELD_INCREASE_ZMOVE BUTTON_STOP
+#define STARFIELD_DECREASE_ZMOVE BUTTON_PLAY
+#define STARFIELD_INCREASE_NB_STARS BUTTON_LEFT
+#define STARFIELD_DECREASE_NB_STARS BUTTON_RIGHT
+#define STARFIELD_TOGGLE_COLOR BUTTON_MENU
#elif (CONFIG_KEYPAD == COWOND2_PAD)
#define STARFIELD_QUIT BUTTON_POWER
#endif
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index 21d7862541..d77f04408b 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -78,6 +78,9 @@ static bool abort;
#elif CONFIG_KEYPAD == COWOND2_PAD
#define STATS_STOP BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_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 ae71a12f80..b78225488d 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -150,6 +150,14 @@ PLUGIN_HEADER
#define STOPWATCH_RC_QUIT BUTTON_REC
#elif CONFIG_KEYPAD == COWOND2_PAD
#define STOPWATCH_QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define STOPWATCH_QUIT BUTTON_MENU
+#define STOPWATCH_START_STOP BUTTON_PLAY
+#define STOPWATCH_RESET_TIMER BUTTON_STOP
+#define STOPWATCH_LAP_TIMER BUTTON_LEFT
+#define STOPWATCH_SCROLL_UP BUTTON_VOLUP
+#define STOPWATCH_SCROLL_DOWN BUTTON_VOLDOWN
+#define STOPWATCH_RC_QUIT BUTTON_POWER
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index fb64ef9a66..75230dde60 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -186,6 +186,16 @@
#define SUDOKU_BUTTON_QUIT BUTTON_POWER
#define SUDOKU_BUTTON_MENU BUTTON_MENU
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define SUDOKU_BUTTON_QUIT BUTTON_POWER
+#define SUDOKU_BUTTON_UP BUTTON_STOP
+#define SUDOKU_BUTTON_DOWN BUTTON_PLAY
+#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
+#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
+#define SUDOKU_BUTTON_TOGGLE BUTTON_VOLUP
+#define SUDOKU_BUTTON_MENU BUTTON_MENU
+#define SUDOKU_BUTTON_POSSIBLE BUTTON_VOLDOWN
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index 806688514e..51fb791b1d 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -258,6 +258,16 @@ PLUGIN_HEADER
#define VIEWER_QUIT BUTTON_POWER
#define VIEWER_MENU BUTTON_MENU
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define VIEWER_QUIT BUTTON_POWER
+#define VIEWER_PAGE_UP BUTTON_VOLUP
+#define VIEWER_PAGE_DOWN BUTTON_VOLDOWN
+#define VIEWER_SCREEN_LEFT BUTTON_LEFT
+#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
+#define VIEWER_MENU BUTTON_MENU
+#define VIEWER_AUTOSCROLL BUTTON_PLAY
+#define VIEWER_RC_QUIT BUTTON_STOP
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index f5d10578cd..59e080d2e0 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -145,6 +145,15 @@ PLUGIN_HEADER
#define QUIT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+
+#define QUIT BUTTON_POWER
+#define LEFT BUTTON_LEFT
+#define RIGHT BUTTON_RIGHT
+#define UP BUTTON_STOP
+#define DOWN BUTTON_PLAY
+#define PAUSE BUTTON_MENU
+
#else
#error No keymap defined!
#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index 777ddccac3..fec6e38d27 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -122,6 +122,14 @@
#elif CONFIG_KEYPAD == COWOND2_PAD
#define ZX_MENU (BUTTON_MENU|BUTTON_REL)
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+#define ZX_UP BUTTON_STOP
+#define ZX_DOWN BUTTON_PLAY
+#define ZX_LEFT BUTTON_LEFT
+#define ZX_RIGHT BUTTON_RIGHT
+#define ZX_SELECT BUTTON_VOLUP
+#define ZX_MENU BUTTON_MENU
+
#else
#error Keymap not defined!
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index f57b8e4f16..1e9ee10bb5 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -136,6 +136,14 @@
#define KBD_ABORT BUTTON_POWER
+#elif CONFIG_KEYPAD == IAUDIO67_PAD
+
+#define KBD_SELECT BUTTON_MENU
+#define KBD_ABORT BUTTON_POWER
+#define KBD_LEFT BUTTON_LEFT
+#define KBD_RIGHT BUTTON_RIGHT
+#define KBD_UP BUTTON_STOP
+#define KBD_DOWN BUTTON_PLAY
#endif
#ifdef HAVE_TOUCHSCREEN