summaryrefslogtreecommitdiffstats
path: root/apps/plugins
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-08-03 20:17:25 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-08-03 20:17:25 +0000
commit1e88be518adafe146704a506aad7f895fffbb240 (patch)
tree59de8c14bcec054d32b82890f73391301ad152aa /apps/plugins
parent364e892050c5d03895d27ad290180f7a82d0ecbf (diff)
downloadrockbox-1e88be518adafe146704a506aad7f895fffbb240.tar.gz
rockbox-1e88be518adafe146704a506aad7f895fffbb240.tar.bz2
rockbox-1e88be518adafe146704a506aad7f895fffbb240.zip
Barry Wardell's keymappings for H10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10446 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/bounce.c6
-rw-r--r--apps/plugins/brickmania.c9
-rw-r--r--apps/plugins/calculator.c10
-rw-r--r--apps/plugins/chessbox/chessbox.c11
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/chip8.c8
-rw-r--r--apps/plugins/clock.c18
-rw-r--r--apps/plugins/cube.c13
-rw-r--r--apps/plugins/databox/databox.c3
-rw-r--r--apps/plugins/demystify.c6
-rw-r--r--apps/plugins/dice.c9
-rw-r--r--apps/plugins/dict.c2
-rw-r--r--apps/plugins/doom/i_video.c15
-rw-r--r--apps/plugins/fire.c7
-rw-r--r--apps/plugins/flipit.c11
-rw-r--r--apps/plugins/jewels.c8
-rw-r--r--apps/plugins/jpeg.c12
-rw-r--r--apps/plugins/logo.c6
-rw-r--r--apps/plugins/mandelbrot.c14
-rw-r--r--apps/plugins/midiplay.c6
-rw-r--r--apps/plugins/minesweeper.c11
-rw-r--r--apps/plugins/mosaique.c5
-rw-r--r--apps/plugins/mp3_encoder.c5
-rw-r--r--apps/plugins/oscilloscope.c12
-rw-r--r--apps/plugins/pacbox/pacbox.h11
-rw-r--r--apps/plugins/plasma.c6
-rw-r--r--apps/plugins/pong.c7
-rw-r--r--apps/plugins/rockpaint.c11
-rw-r--r--apps/plugins/sliding_puzzle.c7
-rw-r--r--apps/plugins/snake.c6
-rw-r--r--apps/plugins/snake2.c12
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c10
-rw-r--r--apps/plugins/solitaire.c7
-rwxr-xr-xapps/plugins/spacerocks.c17
-rw-r--r--apps/plugins/star.c12
-rw-r--r--apps/plugins/starfield.c6
-rw-r--r--apps/plugins/stats.c3
-rw-r--r--apps/plugins/stopwatch.c7
-rw-r--r--apps/plugins/sudoku/sudoku.h10
-rw-r--r--apps/plugins/text_editor.c5
-rw-r--r--apps/plugins/viewer.c10
-rw-r--r--apps/plugins/vu_meter.c11
-rw-r--r--apps/plugins/wormlet.c13
-rw-r--r--apps/plugins/xobox.c10
45 files changed, 398 insertions, 2 deletions
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index c0c757c009..151a61b07b 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -73,6 +73,12 @@ PLUGIN_HEADER
#define BOUNCE_QUIT BUTTON_A
#define BOUNCE_MODE BUTTON_POWER
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define BOUNCE_UP BUTTON_SCROLL_UP
+#define BOUNCE_DOWN BUTTON_SCROLL_DOWN
+#define BOUNCE_QUIT BUTTON_POWER
+#define BOUNCE_MODE BUTTON_PLAY
+
#endif
static struct plugin_api* rb;
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 6eb21fe4f8..0743c16055 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -98,6 +98,15 @@ PLUGIN_HEADER
#define UP BUTTON_UP
#define DOWN BUTTON_DOWN
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD /* grayscale at the moment */
+
+#define QUIT BUTTON_POWER
+#define LEFT BUTTON_LEFT
+#define RIGHT BUTTON_RIGHT
+#define SELECT BUTTON_PLAY
+#define UP BUTTON_SCROLL_UP
+#define DOWN BUTTON_SCROLL_DOWN
+
/* Only iPod have scroll events */
#define SCROLL_FWD(x) (0)
#define SCROLL_BACK(x) (0)
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 5194f9127b..79b948a055 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -166,6 +166,16 @@ PLUGIN_HEADER
#define CALCULATOR_CALC BUTTON_SELECT
#define CALCULATOR_CLEAR BUTTON_POWER
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+
+#define CALCULATOR_UP BUTTON_SCROLL_UP
+#define CALCULATOR_DOWN BUTTON_SCROLL_DOWN
+#define CALCULATOR_QUIT BUTTON_POWER
+#define CALCULATOR_INPUT_CALC_PRE BUTTON_PLAY
+#define CALCULATOR_INPUT (BUTTON_PLAY | BUTTON_REL)
+#define CALCULATOR_CALC BUTTON_PLAY
+#define CALCULATOR_CLEAR BUTTON_REW
+
#endif
static struct plugin_api* rb;
diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c
index 5f2ed9a467..aea89817e6 100644
--- a/apps/plugins/chessbox/chessbox.c
+++ b/apps/plugins/chessbox/chessbox.c
@@ -119,6 +119,17 @@ PLUGIN_HEADER
#define CB_LEVEL BUTTON_MENU
#define CB_QUIT BUTTON_A
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define CB_SELECT BUTTON_REW
+#define CB_UP BUTTON_SCROLL_UP
+#define CB_DOWN BUTTON_SCROLL_DOWN
+#define CB_LEFT BUTTON_LEFT
+#define CB_RIGHT BUTTON_RIGHT
+#define CB_PLAY BUTTON_PLAY
+#define CB_LEVEL BUTTON_FF
+#define CB_RESTART (BUTTON_REW | BUTTON_PLAY)
+#define CB_QUIT BUTTON_POWER
+
#else
#error CHESSBOX: Unsupported keypad
#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index d2850211d1..2e2ad4cb7e 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -107,6 +107,16 @@ PLUGIN_HEADER
#define CHC_SETTINGS_OK BUTTON_MENU
#define CHC_SETTINGS_CANCEL BUTTON_A
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define CHC_QUIT BUTTON_POWER
+#define CHC_STARTSTOP BUTTON_PLAY
+#define CHC_RESET BUTTON_FF
+#define CHC_MENU BUTTON_REW
+#define CHC_SETTINGS_INC BUTTON_RIGHT
+#define CHC_SETTINGS_DEC BUTTON_LEFT
+#define CHC_SETTINGS_OK BUTTON_PLAY
+#define CHC_SETTINGS_CANCEL BUTTON_POWER
+
#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 3facd04be1..09dcad5fd0 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1003,6 +1003,14 @@ STATIC void chip8 (void)
#define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_DOWN
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define CHIP8_OFF BUTTON_POWER
+#define CHIP8_KEY2 BUTTON_SCROLL_UP
+#define CHIP8_KEY4 BUTTON_LEFT
+#define CHIP8_KEY5 BUTTON_PLAY
+#define CHIP8_KEY6 BUTTON_RIGHT
+#define CHIP8_KEY8 BUTTON_SCROLL_DOWN
+
#endif
static byte chip8_virtual_keys[16];
diff --git a/apps/plugins/clock.c b/apps/plugins/clock.c
index d86a41ad59..ff07e44e0c 100644
--- a/apps/plugins/clock.c
+++ b/apps/plugins/clock.c
@@ -182,6 +182,24 @@ PLUGIN_HEADER
#define MENU_BUTTON_TEXT "SELECT"
#define COUNTER_BUTTON_TEXT "PLAY"
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+
+#define COUNTER_TOGGLE_BUTTON (BUTTON_PLAY|BUTTON_REL)
+#define COUNTER_RESET_BUTTON (BUTTON_PLAY|BUTTON_REPEAT)
+#define MENU_BUTTON BUTTON_REW
+#define EXIT_BUTTON BUTTON_POWER
+#define MOVE_UP_BUTTON BUTTON_SCROLL_UP
+#define MOVE_DOWN_BUTTON BUTTON_SCROLL_DOWN
+#define CHANGE_UP_BUTTON BUTTON_RIGHT
+#define CHANGE_DOWN_BUTTON BUTTON_LEFT
+
+#define YESTEXT "Select"
+#define NAVI_BUTTON_TEXT_LEFT "LEFT"
+#define NAVI_BUTTON_TEXT_RIGHT "RIGHT"
+#define EXIT_BUTTON_TEXT "POWER"
+#define MENU_BUTTON_TEXT "PLAY"
+#define COUNTER_BUTTON_TEXT "PLAY"
+
#endif
/************
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 3e7e7f1ce2..f9a0218154 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -135,6 +135,19 @@ PLUGIN_HEADER
#define CUBE_PAUSE (BUTTON_SELECT | BUTTON_REL)
#define CUBE_HIGHSPEED (BUTTON_POWER | BUTTON_REL)
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define CUBE_QUIT BUTTON_POWER
+#define CUBE_X_INC BUTTON_LEFT
+#define CUBE_X_DEC BUTTON_RIGHT
+#define CUBE_Y_INC BUTTON_SCROLL_UP
+#define CUBE_Y_DEC BUTTON_SCROLL_DOWN
+#define CUBE_Z_INC (BUTTON_PLAY | BUTTON_SCROLL_UP)
+#define CUBE_Z_DEC (BUTTON_PLAY | BUTTON_SCROLL_DOWN)
+#define CUBE_MODE BUTTON_REW
+#define CUBE_PAUSE_PRE BUTTON_PLAY
+#define CUBE_PAUSE (BUTTON_PLAY | BUTTON_REL)
+#define CUBE_HIGHSPEED (BUTTON_FF | BUTTON_REL)
+
#endif
#ifdef HAVE_LCD_BITMAP
diff --git a/apps/plugins/databox/databox.c b/apps/plugins/databox/databox.c
index ea35960e41..194ad66b51 100644
--- a/apps/plugins/databox/databox.c
+++ b/apps/plugins/databox/databox.c
@@ -47,6 +47,9 @@ PLUGIN_HEADER
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define DBX_SELECT BUTTON_SELECT
#define DBX_STOP BUTTON_A
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define DBX_SELECT BUTTON_REW
+#define DBX_STOP BUTTON_PLAY
#endif
#define MAX_TOKENS 70
diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c
index bfcbd2fa25..da3edeeb1b 100644
--- a/apps/plugins/demystify.c
+++ b/apps/plugins/demystify.c
@@ -33,6 +33,12 @@ PLUGIN_HEADER
#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT
#define DEMYSTIFY_INCREASE_SPEED BUTTON_SCROLL_FWD
#define DEMYSTIFY_DECREASE_SPEED BUTTON_SCROLL_BACK
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define DEMYSTIFY_QUIT BUTTON_POWER
+#define DEMYSTIFY_ADD_POLYGON BUTTON_RIGHT
+#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT
+#define DEMYSTIFY_INCREASE_SPEED BUTTON_SCROLL_UP
+#define DEMYSTIFY_DECREASE_SPEED BUTTON_SCROLL_DOWN
#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
#define DEMYSTIFY_QUIT BUTTON_POWER
#define DEMYSTIFY_ADD_POLYGON BUTTON_RIGHT
diff --git a/apps/plugins/dice.c b/apps/plugins/dice.c
index c20b3853a8..8351498aad 100644
--- a/apps/plugins/dice.c
+++ b/apps/plugins/dice.c
@@ -125,6 +125,15 @@ use stop to exit
#define DICE_BUTTON_ON BUTTON_POWER
#define DICE_BUTTON_OFF BUTTON_A
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define DICE_BUTTON_UP BUTTON_SCROLL_UP
+#define DICE_BUTTON_DOWN BUTTON_SCROLL_DOWN
+#define DICE_BUTTON_LEFT BUTTON_LEFT
+#define DICE_BUTTON_RIGHT BUTTON_RIGHT
+#define DICE_BUTTON_SELECT BUTTON_REW
+#define DICE_BUTTON_ON BUTTON_PLAY
+#define DICE_BUTTON_OFF BUTTON_POWER
+
#else
#error DICE: Unsupported keypad
#endif
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 6d626d403c..31c1b6363e 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -113,6 +113,8 @@ long reverse (long N) {
#define LP_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define LP_QUIT BUTTON_A
+#elif CONFIG_KEYPAD == IRIVER_H10_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 f90f7cd82f..d8ed74ce62 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -16,7 +16,10 @@
* GNU General Public License for more details.
*
* $Log$
- * Revision 1.18 2006/08/02 00:21:59 amiconn
+ * Revision 1.19 2006/08/03 20:17:22 bagder
+ * Barry Wardell's keymappings for H10
+ *
+ * Revision 1.18 2006-08-02 00:21:59 amiconn
* Grayscale library: LCD linearisation and gamma correction.
*
* Revision 1.17 2006-04-22 03:48:15 kkurbjun
@@ -139,6 +142,16 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_ESC BUTTON_POWER
#define DOOMBUTTON_ENTER BUTTON_SELECT
#define DOOMBUTTON_WEAPON BUTTON_REC
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define DOOMBUTTON_UP BUTTON_SCROLL_UP
+#define DOOMBUTTON_DOWN BUTTON_SCROLL_DOWN
+#define DOOMBUTTON_LEFT BUTTON_LEFT
+#define DOOMBUTTON_RIGHT BUTTON_RIGHT
+#define DOOMBUTTON_SHOOT BUTTON_REW
+#define DOOMBUTTON_OPEN BUTTON_PLAY
+#define DOOMBUTTON_ESC BUTTON_POWER
+#define DOOMBUTTON_ENTER BUTTON_PLAY
+#define DOOMBUTTON_WEAPON BUTTON_FF
#else
#define DOOMBUTTON_UP BUTTON_UP
#define DOOMBUTTON_DOWN BUTTON_DOWN
diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c
index 6207a8894e..544b7d15c5 100644
--- a/apps/plugins/fire.c
+++ b/apps/plugins/fire.c
@@ -86,6 +86,13 @@ static unsigned char draw_buffer[8*LCD_WIDTH];
#define FIRE_INCREASE_MULT BUTTON_UP
#define FIRE_DECREASE_MULT BUTTON_DOWN
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define FIRE_QUIT BUTTON_POWER
+#define FIRE_SWITCH_FLAMES_TYPE BUTTON_LEFT
+#define FIRE_SWITCH_FLAMES_MOVING BUTTON_RIGHT
+#define FIRE_INCREASE_MULT BUTTON_SCROLL_UP
+#define FIRE_DECREASE_MULT BUTTON_SCROLL_DOWN
+
#endif
#define MIN_FLAME_VALUE 0
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 4cc7959349..7d423335d3 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -88,6 +88,17 @@ PLUGIN_HEADER
#define FLIPIT_TOGGLE_PRE BUTTON_MENU
#define FLIPIT_TOGGLE (BUTTON_MENU | BUTTON_REL)
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+
+#define FLIPIT_UP BUTTON_SCROLL_UP
+#define FLIPIT_DOWN BUTTON_SCROLL_DOWN
+#define FLIPIT_QUIT BUTTON_POWER
+#define FLIPIT_SHUFFLE (BUTTON_PLAY | BUTTON_LEFT)
+#define FLIPIT_SOLVE (BUTTON_PLAY | BUTTON_RIGHT)
+#define FLIPIT_STEP_BY_STEP (BUTTON_PLAY | BUTTON_SCROLL_UP)
+#define FLIPIT_TOGGLE_PRE BUTTON_REW
+#define FLIPIT_TOGGLE (BUTTON_REW | BUTTON_REL)
+
#endif
static struct plugin_api* rb;
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 02516d72e9..00f871febf 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -86,6 +86,14 @@ PLUGIN_HEADER
#define JEWELS_SELECT BUTTON_SELECT
#define JEWELS_CANCEL BUTTON_A
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define JEWELS_UP BUTTON_SCROLL_UP
+#define JEWELS_DOWN BUTTON_SCROLL_DOWN
+#define JEWELS_LEFT BUTTON_LEFT
+#define JEWELS_RIGHT BUTTON_RIGHT
+#define JEWELS_SELECT BUTTON_PLAY
+#define JEWELS_CANCEL BUTTON_POWER
+
#else
#error JEWELS: Unsupported keypad
#endif
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index 34640d8b92..b3a0b463b7 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -111,6 +111,18 @@ PLUGIN_HEADER
#define JPEG_NEXT (BUTTON_POWER | BUTTON_RIGHT)
#define JPEG_PREVIOUS (BUTTON_POWER | BUTTON_LEFT)
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define JPEG_ZOOM_PRE BUTTON_PLAY
+#define JPEG_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
+#define JPEG_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
+#define JPEG_UP BUTTON_SCROLL_UP
+#define JPEG_DOWN BUTTON_SCROLL_DOWN
+#define JPEG_LEFT BUTTON_LEFT
+#define JPEG_RIGHT BUTTON_RIGHT
+#define JPEG_MENU BUTTON_POWER
+#define JPEG_NEXT BUTTON_FF
+#define JPEG_PREVIOUS BUTTON_REW
+
#endif
/* different graphics libraries */
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index d2d2d56e75..34696073dd 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -208,6 +208,12 @@ const unsigned char rockbox16x7[] = {
#define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y BUTTON_DOWN
#define LP_INC_Y BUTTON_UP
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define LP_QUIT BUTTON_POWER
+#define LP_DEC_X BUTTON_LEFT
+#define LP_INC_X BUTTON_RIGHT
+#define LP_DEC_Y BUTTON_SCROLL_DOWN
+#define LP_INC_Y BUTTON_SCROLL_UP
#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 3841e2625a..dbcf08fa62 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -106,6 +106,20 @@ PLUGIN_HEADER
#define MANDELBROT_MAXITER_INC (BUTTON_POWER | BUTTON_RIGHT)
#define MANDELBROT_MAXITER_DEC (BUTTON_POWER | BUTTON_LEFT)
#define MANDELBROT_RESET BUTTON_SELECT
+
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define MANDELBROT_QUIT BUTTON_POWER
+#define MANDELBROT_UP BUTTON_SCROLL_UP
+#define MANDELBROT_DOWN BUTTON_SCROLL_DOWN
+#define MANDELBROT_LEFT BUTTON_LEFT
+#define MANDELBROT_RIGHT BUTTON_RIGHT
+#define MANDELBROT_ZOOM_IN_PRE BUTTON_PLAY
+#define MANDELBROT_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
+#define MANDELBROT_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
+#define MANDELBROT_MAXITER_INC BUTTON_FF
+#define MANDELBROT_MAXITER_DEC BUTTON_REW
+#define MANDELBROT_RESET (BUTTON_PLAY | BUTTON_REW)
+
#endif
#if LCD_DEPTH < 8
diff --git a/apps/plugins/midiplay.c b/apps/plugins/midiplay.c
index 1cdc438d88..e0b89cf860 100644
--- a/apps/plugins/midiplay.c
+++ b/apps/plugins/midiplay.c
@@ -60,6 +60,12 @@ PLUGIN_HEADER
#define BTN_UP BUTTON_UP
#define BTN_DOWN BUTTON_DOWN
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define BTN_QUIT BUTTON_POWER
+#define BTN_RIGHT BUTTON_RIGHT
+#define BTN_UP BUTTON_SCROLL_UP
+#define BTN_DOWN BUTTON_SCROLL_DOWN
+
#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 5a47b03292..21e655671f 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -107,6 +107,17 @@ PLUGIN_HEADER
#define MINESWP_RIGHT (BUTTON_SELECT | BUTTON_RIGHT)
#define MINESWP_LEFT (BUTTON_SELECT | BUTTON_LEFT)
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define MINESWP_UP BUTTON_SCROLL_UP
+#define MINESWP_DOWN BUTTON_SCROLL_DOWN
+#define MINESWP_QUIT BUTTON_POWER
+#define MINESWP_START BUTTON_FF
+#define MINESWP_TOGGLE BUTTON_PLAY
+#define MINESWP_DISCOVER BUTTON_REW
+#define MINESWP_INFO (BUTTON_REW | BUTTON_PLAY)
+#define MINESWP_RIGHT (BUTTON_RIGHT | BUTTON_PLAY)
+#define MINESWP_LEFT (BUTTON_LEFT | BUTTON_PLAY)
+
#endif
/* here is a global api struct pointer. while not strictly necessary,
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index b1f148100b..08cbaef0bd 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -76,6 +76,11 @@ PLUGIN_HEADER
#define MOSAIQUE_SPEED BUTTON_MENU
#define MOSAIQUE_RESTART BUTTON_SELECT
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define MOSAIQUE_QUIT BUTTON_POWER
+#define MOSAIQUE_SPEED BUTTON_FF
+#define MOSAIQUE_RESTART BUTTON_PLAY
+
#endif
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index b31f428496..d1eef7b23b 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2348,6 +2348,11 @@ void get_mp3_filename(char *wav_name)
#define MP3ENC_NEXT BUTTON_DOWN
#define MP3ENC_DONE BUTTON_A
#define MP3ENC_SELECT BUTTON_SELECT
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define MP3ENC_PREV BUTTON_SCROLL_UP
+#define MP3ENC_NEXT BUTTON_SCROLL_DOWN
+#define MP3ENC_DONE BUTTON_POWER
+#define MP3ENC_SELECT BUTTON_PLAY
#endif
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index bd8b949ec6..7f212bf690 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -97,6 +97,18 @@ PLUGIN_HEADER
#define OSCILLOSCOPE_VOL_UP BUTTON_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define OSCILLOSCOPE_QUIT BUTTON_POWER
+#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_REW
+#define OSCILLOSCOPE_DRAWMODE (BUTTON_REW | BUTTON_REL)
+#define OSCILLOSCOPE_ADVMODE BUTTON_FF
+#define OSCILLOSCOPE_ORIENTATION (BUTTON_REW | BUTTON_REPEAT)
+#define OSCILLOSCOPE_PAUSE BUTTON_PLAY
+#define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT
+#define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT
+#define OSCILLOSCOPE_VOL_UP BUTTON_SCROLL_UP
+#define OSCILLOSCOPE_VOL_DOWN BUTTON_SCROLL_DOWN
+
#endif
/* colours */
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 8712448b5b..d0b0bce303 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -87,6 +87,17 @@
#define PACMAN_COIN BUTTON_REC
#define PACMAN_MENU BUTTON_PLAY
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+
+#define PACMAN_UP BUTTON_RIGHT
+#define PACMAN_DOWN BUTTON_LEFT
+#define PACMAN_LEFT BUTTON_SCROLL_UP
+#define PACMAN_RIGHT BUTTON_SCROLL_DOWN
+#define PACMAN_1UP BUTTON_REW
+#define PACMAN_2UP BUTTON_POWER
+#define PACMAN_COIN BUTTON_FF
+#define PACMAN_MENU BUTTON_PLAY
+
#endif
#if (LCD_HEIGHT >= 288)
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index 4e8b38db05..676dba9a54 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -63,6 +63,10 @@ static int plasma_frequency;
#define PLASMA_QUIT BUTTON_POWER
#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
#define PLASMA_DECREASE_FREQUENCY BUTTON_DOWN
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define PLASMA_QUIT BUTTON_POWER
+#define PLASMA_INCREASE_FREQUENCY BUTTON_SCROLL_UP
+#define PLASMA_DECREASE_FREQUENCY BUTTON_SCROLL_DOWN
#else
#define PLASMA_QUIT BUTTON_OFF
#define PLASMA_INCREASE_FREQUENCY BUTTON_UP
@@ -75,6 +79,8 @@ static int plasma_frequency;
#ifdef HAVE_LCD_COLOR
#if CONFIG_KEYPAD == IAUDIO_X5_PAD
#define PLASMA_REGEN_COLORS BUTTON_PLAY
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define PLASMA_REGEN_COLORS BUTTON_PLAY
#elif CONFIG_KEYPAD == IPOD_4G_PAD
#define PLASMA_REGEN_COLORS BUTTON_SELECT
#elif CONFIG_KEYPAD == IRIVER_H300_PAD
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 421ae0295c..dfa2a22fd4 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -81,6 +81,13 @@ PLUGIN_HEADER
#define PONG_RIGHT_UP BUTTON_POWER
#define PONG_RIGHT_DOWN BUTTON_MENU
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define PONG_QUIT BUTTON_POWER
+#define PONG_LEFT_UP BUTTON_SCROLL_UP
+#define PONG_LEFT_DOWN BUTTON_SCROLL_DOWN
+#define PONG_RIGHT_UP BUTTON_REW
+#define PONG_RIGHT_DOWN BUTTON_FF
+
#endif
static struct plugin_api* rb;
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index bedec839c5..95c1a0c253 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -70,6 +70,17 @@ PLUGIN_HEADER
#define ROCKPAINT_LEFT BUTTON_LEFT
#define ROCKPAINT_RIGHT BUTTON_RIGHT
+#elif ( CONFIG_KEYPAD == IRIVER_H10_PAD )
+#define ROCKPAINT_QUIT BUTTON_POWER
+#define ROCKPAINT_DRAW BUTTON_FF
+#define ROCKPAINT_MENU BUTTON_PLAY
+#define ROCKPAINT_TOOLBAR BUTTON_REW
+#define ROCKPAINT_TOOLBAR2 ( BUTTON_REW | BUTTON_LEFT )
+#define ROCKPAINT_UP BUTTON_SCROLL_UP
+#define ROCKPAINT_DOWN BUTTON_SCROLL_DOWN
+#define ROCKPAINT_LEFT BUTTON_LEFT
+#define ROCKPAINT_RIGHT BUTTON_RIGHT
+
#else
#error "Please define keys for this keypad"
#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 085db8708d..d9ddba1332 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -69,6 +69,13 @@ PLUGIN_HEADER
#define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_POWER
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define PUZZLE_QUIT BUTTON_POWER
+#define PUZZLE_UP BUTTON_SCROLL_UP
+#define PUZZLE_DOWN BUTTON_SCROLL_DOWN
+#define PUZZLE_SHUFFLE BUTTON_REW
+#define PUZZLE_PICTURE BUTTON_PLAY
+
#endif
static struct plugin_api* rb;
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index ab8e5f327e..b1e9e10a55 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -76,6 +76,12 @@ PLUGIN_HEADER
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define SNAKE_QUIT BUTTON_POWER
+#define SNAKE_UP BUTTON_SCROLL_UP
+#define SNAKE_DOWN BUTTON_SCROLL_DOWN
+#define SNAKE_PLAYPAUSE BUTTON_PLAY
+
#else
#error "lacks keymapping"
#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index bb89d86cf5..30660c0f89 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -219,6 +219,18 @@ PLUGIN_HEADER
#define SNAKE2_PLAYPAUSE BUTTON_SELECT
#define SNAKE2_PLAYPAUSE_TEXT "Select"
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define SNAKE2_UP BUTTON_SCROLL_UP
+#define SNAKE2_DOWN BUTTON_SCROLL_DOWN
+#define SNAKE2_QUIT BUTTON_POWER
+#define SNAKE2_LEVEL_UP BUTTON_SCROLL_UP
+#define SNAKE2_LEVEL_DOWN BUTTON_SCROLL_DOWN
+#define SNAKE2_MAZE_NEXT BUTTON_RIGHT
+#define SNAKE2_MAZE_LAST BUTTON_LEFT
+#define SNAKE2_SELECT_TYPE BUTTON_PLAY
+#define SNAKE2_PLAYPAUSE BUTTON_FF
+#define SNAKE2_PLAYPAUSE_TEXT "FF"
+
#else
#error "lacks keymapping"
#endif
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index 35efad70da..8f907a7ec6 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -45,6 +45,8 @@ PLUGIN_HEADER
#define SNOW_QUIT BUTTON_POWER
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define SNOW_QUIT BUTTON_A
+#elif CONFIG_KEYPAD == IRIVER_H10_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 6dfbdc6df6..06788d4806 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -102,6 +102,16 @@ extern const fb_data sokoban_tiles[];
#define SOKOBAN_LEVEL_DOWN (BUTTON_POWER | BUTTON_DOWN)
#define SOKOBAN_LEVEL_REPEAT BUTTON_SELECT
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define SOKOBAN_UP BUTTON_SCROLL_UP
+#define SOKOBAN_DOWN BUTTON_SCROLL_DOWN
+#define SOKOBAN_QUIT BUTTON_POWER
+#define SOKOBAN_UNDO_PRE BUTTON_REW
+#define SOKOBAN_UNDO (BUTTON_REW | BUTTON_REL)
+#define SOKOBAN_LEVEL_UP (BUTTON_PLAY | BUTTON_SCROLL_UP)
+#define SOKOBAN_LEVEL_DOWN (BUTTON_PLAY | BUTTON_SCROLL_DOWN)
+#define SOKOBAN_LEVEL_REPEAT BUTTON_FF
+
#endif
#ifdef HAVE_LCD_COLOR
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 3253eb2bd4..c4a5445364 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -1557,4 +1557,11 @@ enum plugin_status plugin_start( struct plugin_api* api, void* parameter )
return ( result == SOLITAIRE_USB ) ? PLUGIN_USB_CONNECTED : PLUGIN_OK;
}
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define HELP_SOL_MOVE "REW: Select cards, Move cards, reveal hidden cards ..."
+#define HELP_SOL_DRAW "PLAY: Un-select a card if it was selected. Else, draw 3 new cards out of the remains' stack."
+#define HELP_SOL_REM2CUR "REW+LEFT: Put the card on top of the remains' stack on top of the cursor."
+#define HELP_SOL_CUR2STACK "REW+UP..: Put the card under the cursor on one of the 4 final stacks."
+#define HELP_SOL_REM2STACK "REW+DOWN: Put the card on top of the remains' stack on one of the 4 final stacks."
+
#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 2cc3db9161..aeac49b92f 100755
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -105,6 +105,20 @@ static struct plugin_api* rb; /* global api struct pointer */
#define AST_RIGHT_REP (BUTTON_RIGHT | BUTTON_REPEAT)
#define AST_FIRE BUTTON_SELECT
#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT
+
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define AST_PAUSE BUTTON_PLAY
+#define AST_QUIT BUTTON_POWER
+#define AST_THRUST_REP BUTTON_SCROLL_UP | BUTTON_REPEAT
+#define AST_THRUST BUTTON_SCROLL_UP
+#define AST_HYPERSPACE BUTTON_SCROLL_DOWN
+#define AST_LEFT BUTTON_LEFT
+#define AST_LEFT_REP BUTTON_LEFT | BUTTON_REPEAT
+#define AST_RIGHT BUTTON_RIGHT
+#define AST_RIGHT_REP (BUTTON_RIGHT | BUTTON_REPEAT)
+#define AST_FIRE BUTTON_REW
+#define AST_FIRE_REP BUTTON_REW | BUTTON_REPEAT
+
#endif
#define SHOW_COL 0
@@ -127,7 +141,8 @@ static struct plugin_api* rb; /* global api struct pointer */
(CONFIG_KEYPAD == IAUDIO_X5_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_4G_PAD) || \
- (CONFIG_KEYPAD == GIGABEAT_PAD)
+ (CONFIG_KEYPAD == GIGABEAT_PAD)|| \
+ (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define ENEMY_MISSILE_SURVIVAL_LENGTH 120
#define MISSILE_SURVIVAL_LENGTH 80
#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index c6d533f96f..0848b3398e 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -136,6 +136,18 @@ PLUGIN_HEADER
#define STAR_LEVEL_REPEAT (BUTTON_POWER | BUTTON_RIGHT)
#define STAR_MENU_RUN BUTTON_RIGHT
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+
+#define STAR_QUIT BUTTON_POWER
+#define STAR_UP BUTTON_SCROLL_UP
+#define STAR_DOWN BUTTON_SCROLL_DOWN
+#define STAR_TOGGLE_CONTROL_PRE BUTTON_REW
+#define STAR_TOGGLE_CONTROL (BUTTON_REW | BUTTON_REL)
+#define STAR_LEVEL_UP (BUTTON_PLAY | BUTTON_SCROLL_UP)
+#define STAR_LEVEL_DOWN (BUTTON_PLAY | BUTTON_SCROLL_DOWN)
+#define STAR_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_RIGHT)
+#define STAR_MENU_RUN BUTTON_FF
+
#endif
/* function returns because of USB? */
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 64c2b34588..ef3fd688e8 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -39,6 +39,12 @@ static struct plugin_api* rb; /* global api struct pointer */
#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define STARFIELD_QUIT BUTTON_POWER
+#define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_UP
+#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_DOWN
+#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
+#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define STARFIELD_QUIT BUTTON_A
#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index c6ed928de5..20d17c75b2 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -54,6 +54,9 @@ static int fontwidth, fontheight;
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define STATS_STOP BUTTON_A
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define STATS_STOP BUTTON_POWER
+
#endif
/* TODO: Better get the exts from the filetypes var in tree.c */
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index d8204e4082..849ff687ce 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -95,6 +95,13 @@ PLUGIN_HEADER
#define STOPWATCH_LAP_TIMER BUTTON_MENU
#define STOPWATCH_SCROLL_UP BUTTON_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define STOPWATCH_QUIT BUTTON_POWER
+#define STOPWATCH_START_STOP BUTTON_PLAY
+#define STOPWATCH_RESET_TIMER BUTTON_REW
+#define STOPWATCH_LAP_TIMER BUTTON_FF
+#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_UP
+#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_DOWN
#endif
static struct plugin_api* rb;
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 0985ff5710..761be3a988 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -90,6 +90,16 @@
#define SUDOKU_BUTTON_MENU BUTTON_MENU
#define SUDOKU_BUTTON_POSSIBLE BUTTON_POWER
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+#define SUDOKU_BUTTON_QUIT BUTTON_POWER
+#define SUDOKU_BUTTON_UP BUTTON_SCROLL_UP
+#define SUDOKU_BUTTON_DOWN BUTTON_SCROLL_DOWN
+#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
+#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
+#define SUDOKU_BUTTON_TOGGLE BUTTON_REW
+#define SUDOKU_BUTTON_MENU BUTTON_PLAY
+#define SUDOKU_BUTTON_POSSIBLE BUTTON_FF
+
#elif
#error SUDOKU: Unsupported keypad
#endif
diff --git a/apps/plugins/text_editor.c b/apps/plugins/text_editor.c
index 01af458654..f983dd30a3 100644
--- a/apps/plugins/text_editor.c
+++ b/apps/plugins/text_editor.c
@@ -57,6 +57,11 @@
#define TEXT_EDITOR_CANCEL BUTTON_A
#define TEXT_EDITOR_ITEM_MENU BUTTON_MENU
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define TEXT_EDITOR_SELECT BUTTON_REW
+#define TEXT_EDITOR_CANCEL BUTTON_POWER
+#define TEXT_EDITOR_ITEM_MENU BUTTON_PLAY
+
#else
#error TEXT_EDITOR: Unsupported keypad
#endif
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index e30f08defb..9180fa6dcd 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -154,6 +154,16 @@ PLUGIN_HEADER
#define VIEWER_MENU BUTTON_MENU
#define VIEWER_AUTOSCROLL BUTTON_A
+/* iriver H10 keys */
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define VIEWER_QUIT BUTTON_POWER
+#define VIEWER_PAGE_UP BUTTON_SCROLL_UP
+#define VIEWER_PAGE_DOWN BUTTON_SCROLL_DOWN
+#define VIEWER_SCREEN_LEFT BUTTON_LEFT
+#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
+#define VIEWER_MENU BUTTON_REW
+#define VIEWER_AUTOSCROLL BUTTON_PLAY
+
#endif
struct preferences {
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index e3d56c9d5c..559aafabc1 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -94,6 +94,17 @@ PLUGIN_HEADER
#define VUMETER_UP BUTTON_UP
#define VUMETER_DOWN BUTTON_DOWN
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+#define VUMETER_QUIT BUTTON_POWER
+#define VUMETER_HELP BUTTON_PLAY
+#define VUMETER_MENU BUTTON_REW
+#define VUMETER_MENU_EXIT BUTTON_REW
+#define VUMETER_MENU_EXIT2 BUTTON_POWER
+#define VUMETER_LEFT BUTTON_LEFT
+#define VUMETER_RIGHT BUTTON_RIGHT
+#define VUMETER_UP BUTTON_SCROLL_UP
+#define VUMETER_DOWN BUTTON_SCROLL_DOWN
+
#endif
const struct plugin_api* rb;
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 7dc0ecdf90..3ea063f16c 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -127,6 +127,19 @@ PLUGIN_HEADER
#define PLAYERS_TEXT "Up/Down"
#define WORMS_TEXT "Left/Right"
+#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
+
+#define BTN_DIR_UP BUTTON_SCROLL_UP
+#define BTN_DIR_DOWN BUTTON_SCROLL_DOWN
+#define BTN_DIR_LEFT BUTTON_LEFT
+#define BTN_DIR_RIGHT BUTTON_RIGHT
+#define BTN_STARTPAUSE BUTTON_PLAY
+#define BTN_QUIT BUTTON_POWER
+#define BTN_STOPRESET BUTTON_REW
+
+#define PLAYERS_TEXT "Up/Down"
+#define WORMS_TEXT "Left/Right"
+
#endif
#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64)
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index bf2d96e743..76172ad7ca 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -66,6 +66,16 @@ PLUGIN_HEADER
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_MENU
+#elif CONFIG_KEYPAD == IRIVER_H10_PAD
+
+#define QUIT BUTTON_POWER
+#define LEFT BUTTON_LEFT
+#define RIGHT BUTTON_RIGHT
+#define SELECT BUTTON_REW
+#define UP BUTTON_SCROLL_UP
+#define DOWN BUTTON_SCROLL_DOWN
+#define PAUSE BUTTON_PLAY
+
#else
#error Unsupported keypad
#endif