summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-01-18 11:09:06 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-01-18 11:09:06 +0000
commitcedba8830fd015e9a61b7a772927fefe565f7b41 (patch)
treee33e1b1ff14904098534a7e78d71ba672fcb78e0
parent205be712fe6ad03f194216bc0f936f1b5917eafd (diff)
downloadrockbox-cedba8830fd015e9a61b7a772927fefe565f7b41.tar.gz
rockbox-cedba8830fd015e9a61b7a772927fefe565f7b41.zip
Matt v.d. Westhuizen's iAudio X5 keypad adjustments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8366 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/bookmark.h5
-rw-r--r--apps/gui/list.h5
-rw-r--r--apps/gui/select.h8
-rw-r--r--apps/menu.h8
-rw-r--r--apps/plugins/battery_test.c2
-rw-r--r--apps/plugins/calculator.c10
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/chip8.c8
-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/dict.c2
-rw-r--r--apps/plugins/flipit.c11
-rw-r--r--apps/plugins/jewels.c10
-rw-r--r--apps/plugins/logo.c6
-rw-r--r--apps/plugins/minesweeper.c9
-rw-r--r--apps/plugins/mosaique.c5
-rw-r--r--apps/plugins/mp3_encoder.c5
-rw-r--r--apps/plugins/pong.c7
-rw-r--r--apps/plugins/rockblox.c6
-rw-r--r--apps/plugins/sliding_puzzle.c7
-rw-r--r--apps/plugins/snake.c6
-rw-r--r--apps/plugins/snake2.c10
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/sokoban.c10
-rw-r--r--apps/plugins/solitaire.c47
-rw-r--r--apps/plugins/star.c12
-rw-r--r--apps/plugins/starfield.c6
-rw-r--r--apps/plugins/stats.c2
-rw-r--r--apps/plugins/stopwatch.c7
-rw-r--r--apps/plugins/sudoku.c7
-rw-r--r--apps/plugins/viewer.c11
-rw-r--r--apps/recorder/keyboard.c14
-rw-r--r--apps/settings.h9
-rw-r--r--apps/tree.h15
-rw-r--r--docs/CREDITS1
-rw-r--r--firmware/export/button.h11
-rw-r--r--firmware/export/config-iaudiox5.h6
-rw-r--r--uisimulator/sdl/screenhack.c4
39 files changed, 310 insertions, 16 deletions
diff --git a/apps/bookmark.h b/apps/bookmark.h
index 284c0ceffb..adb6613482 100644
--- a/apps/bookmark.h
+++ b/apps/bookmark.h
@@ -43,6 +43,11 @@
43#define BOOKMARK_DELETE (BUTTON_PLAY | BUTTON_SELECT) 43#define BOOKMARK_DELETE (BUTTON_PLAY | BUTTON_SELECT)
44#define BOOKMARK_DOWN BUTTON_DOWN 44#define BOOKMARK_DOWN BUTTON_DOWN
45 45
46#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
47#define BOOKMARK_SELECT BUTTON_MENU
48#define BOOKMARK_DELETE BUTTON_REC | BUTTON_REPEAT
49#define BOOKMARK_DOWN BUTTON_DOWN
50
46#else /* player, recorder, gmini */ 51#else /* player, recorder, gmini */
47#define BOOKMARK_SELECT BUTTON_PLAY 52#define BOOKMARK_SELECT BUTTON_PLAY
48#define BOOKMARK_DELETE (BUTTON_ON | BUTTON_PLAY) 53#define BOOKMARK_DELETE (BUTTON_ON | BUTTON_PLAY)
diff --git a/apps/gui/list.h b/apps/gui/list.h
index 4f02693127..25fb07d7c4 100644
--- a/apps/gui/list.h
+++ b/apps/gui/list.h
@@ -78,6 +78,11 @@
78#define LIST_PREV BUTTON_UP 78#define LIST_PREV BUTTON_UP
79#define LIST_PGUP (BUTTON_ON | BUTTON_UP) 79#define LIST_PGUP (BUTTON_ON | BUTTON_UP)
80#define LIST_PGDN (BUTTON_ON | BUTTON_DOWN) 80#define LIST_PGDN (BUTTON_ON | BUTTON_DOWN)
81
82#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
83#define LIST_NEXT BUTTON_DOWN
84#define LIST_PREV BUTTON_UP
85
81#endif 86#endif
82 87
83/* 88/*
diff --git a/apps/gui/select.h b/apps/gui/select.h
index 3f6dd1413b..00c05c8d58 100644
--- a/apps/gui/select.h
+++ b/apps/gui/select.h
@@ -85,6 +85,14 @@
85#define SELECT_CANCEL BUTTON_OFF 85#define SELECT_CANCEL BUTTON_OFF
86#define SELECT_CANCEL2 BUTTON_MENU 86#define SELECT_CANCEL2 BUTTON_MENU
87 87
88#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
89#define SELECT_INC BUTTON_UP
90#define SELECT_DEC BUTTON_DOWN
91#define SELECT_OK BUTTON_MENU
92#define SELECT_OK2 BUTTON_LEFT
93#define SELECT_CANCEL BUTTON_PLAY
94#define SELECT_CANCEL2 BUTTON_POWER
95
88#endif 96#endif
89 97
90struct gui_select 98struct gui_select
diff --git a/apps/menu.h b/apps/menu.h
index 143933d833..cf942ea382 100644
--- a/apps/menu.h
+++ b/apps/menu.h
@@ -86,6 +86,14 @@
86#define MENU_EXIT_MENU BUTTON_PLAY 86#define MENU_EXIT_MENU BUTTON_PLAY
87#define MENU_ENTER BUTTON_RIGHT 87#define MENU_ENTER BUTTON_RIGHT
88 88
89#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
90
91#define MENU_NEXT BUTTON_DOWN
92#define MENU_PREV BUTTON_UP
93#define MENU_EXIT BUTTON_LEFT
94#define MENU_EXIT_MENU BUTTON_MENU
95#define MENU_ENTER BUTTON_RIGHT
96
89#endif 97#endif
90 98
91struct menu_item { 99struct menu_item {
diff --git a/apps/plugins/battery_test.c b/apps/plugins/battery_test.c
index c076ad74e8..31a2ac582c 100644
--- a/apps/plugins/battery_test.c
+++ b/apps/plugins/battery_test.c
@@ -45,6 +45,8 @@ PLUGIN_HEADER
45#define BATTERY_TEST_QUIT BUTTON_PLAY 45#define BATTERY_TEST_QUIT BUTTON_PLAY
46#elif (CONFIG_KEYPAD == IPOD_4G_PAD) 46#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
47#define BATTERY_TEST_QUIT BUTTON_MENU 47#define BATTERY_TEST_QUIT BUTTON_MENU
48#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
49#define BATTERY_TEST_QUIT BUTTON_POWER
48#endif 50#endif
49 51
50static struct plugin_api* rb; 52static struct plugin_api* rb;
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index ba18cc1c55..2584062fd7 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -143,6 +143,16 @@ PLUGIN_HEADER
143#define CALCULATOR_INPUT (BUTTON_SELECT | BUTTON_REL) 143#define CALCULATOR_INPUT (BUTTON_SELECT | BUTTON_REL)
144#define CALCULATOR_CALC (BUTTON_PLAY | BUTTON_REPEAT) 144#define CALCULATOR_CALC (BUTTON_PLAY | BUTTON_REPEAT)
145 145
146#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
147
148#define CALCULATOR_UP BUTTON_UP
149#define CALCULATOR_DOWN BUTTON_DOWN
150#define CALCULATOR_QUIT BUTTON_POWER
151#define CALCULATOR_INPUT_CALC_PRE BUTTON_MENU
152#define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL)
153#define CALCULATOR_CALC BUTTON_PLAY
154#define CALCULATOR_CLEAR BUTTON_REC
155
146#endif 156#endif
147 157
148static struct plugin_api* rb; 158static struct plugin_api* rb;
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 73f53c9205..6f1837ca2b 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -86,6 +86,16 @@ PLUGIN_HEADER
86#define CHC_SETTINGS_OK BUTTON_SELECT 86#define CHC_SETTINGS_OK BUTTON_SELECT
87#define CHC_SETTINGS_CANCEL BUTTON_PLAY 87#define CHC_SETTINGS_CANCEL BUTTON_PLAY
88 88
89#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
90#define CHC_QUIT BUTTON_REC
91#define CHC_STARTSTOP BUTTON_PLAY
92#define CHC_RESET BUTTON_POWER
93#define CHC_MENU BUTTON_MENU
94#define CHC_SETTINGS_INC BUTTON_RIGHT
95#define CHC_SETTINGS_DEC BUTTON_LEFT
96#define CHC_SETTINGS_OK BUTTON_MENU
97#define CHC_SETTINGS_CANCEL BUTTON_REC
98
89#endif 99#endif
90 100
91 101
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 50e32ed90b..66a2bfd70e 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -984,6 +984,14 @@ STATIC void chip8 (void)
984#define CHIP8_KEY6 BUTTON_RIGHT 984#define CHIP8_KEY6 BUTTON_RIGHT
985#define CHIP8_KEY8 BUTTON_SCROLL_FWD 985#define CHIP8_KEY8 BUTTON_SCROLL_FWD
986 986
987#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
988#define CHIP8_OFF BUTTON_POWER
989#define CHIP8_KEY2 BUTTON_UP
990#define CHIP8_KEY4 BUTTON_LEFT
991#define CHIP8_KEY5 BUTTON_MENU
992#define CHIP8_KEY6 BUTTON_RIGHT
993#define CHIP8_KEY8 BUTTON_DOWN
994
987#endif 995#endif
988 996
989static byte chip8_virtual_keys[16]; 997static byte chip8_virtual_keys[16];
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index a70e3322e0..378e39003c 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -106,6 +106,19 @@ PLUGIN_HEADER
106#define CUBE_PAUSE (BUTTON_SELECT | BUTTON_REL) 106#define CUBE_PAUSE (BUTTON_SELECT | BUTTON_REL)
107#define CUBE_HIGHSPEED (BUTTON_MODE | BUTTON_EQ) /* TODO: this is impossible */ 107#define CUBE_HIGHSPEED (BUTTON_MODE | BUTTON_EQ) /* TODO: this is impossible */
108 108
109#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
110#define CUBE_QUIT BUTTON_POWER
111#define CUBE_X_INC BUTTON_LEFT
112#define CUBE_X_DEC BUTTON_RIGHT
113#define CUBE_Y_INC BUTTON_UP
114#define CUBE_Y_DEC BUTTON_DOWN
115#define CUBE_Z_INC (BUTTON_PLAY | BUTTON_UP)
116#define CUBE_Z_DEC (BUTTON_PLAY | BUTTON_DOWN)
117#define CUBE_MODE BUTTON_MENU
118#define CUBE_PAUSE_PRE BUTTON_PLAY
119#define CUBE_PAUSE (BUTTON_PLAY | BUTTON_REL)
120#define CUBE_HIGHSPEED (BUTTON_REC | BUTTON_REL)
121
109#endif 122#endif
110 123
111#ifdef HAVE_LCD_BITMAP 124#ifdef HAVE_LCD_BITMAP
diff --git a/apps/plugins/databox/databox.c b/apps/plugins/databox/databox.c
index 2cc78a0b01..996134d37d 100644
--- a/apps/plugins/databox/databox.c
+++ b/apps/plugins/databox/databox.c
@@ -40,6 +40,9 @@ PLUGIN_HEADER
40#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 40#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
41#define DBX_SELECT BUTTON_SELECT 41#define DBX_SELECT BUTTON_SELECT
42#define DBX_STOP BUTTON_PLAY 42#define DBX_STOP BUTTON_PLAY
43#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
44#define DBX_SELECT BUTTON_MENU
45#define DBX_STOP BUTTON_PLAY
43#endif 46#endif
44 47
45#define MAX_TOKENS 70 48#define MAX_TOKENS 70
diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c
index f4e54becb8..da7cd6eb96 100644
--- a/apps/plugins/demystify.c
+++ b/apps/plugins/demystify.c
@@ -32,6 +32,12 @@ PLUGIN_HEADER
32#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT 32#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT
33#define DEMYSTIFY_INCREASE_SPEED BUTTON_SCROLL_FWD 33#define DEMYSTIFY_INCREASE_SPEED BUTTON_SCROLL_FWD
34#define DEMYSTIFY_DECREASE_SPEED BUTTON_SCROLL_BACK 34#define DEMYSTIFY_DECREASE_SPEED BUTTON_SCROLL_BACK
35#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
36#define DEMYSTIFY_QUIT BUTTON_POWER
37#define DEMYSTIFY_ADD_POLYGON BUTTON_RIGHT
38#define DEMYSTIFY_REMOVE_POLYGON BUTTON_LEFT
39#define DEMYSTIFY_INCREASE_SPEED BUTTON_UP
40#define DEMYSTIFY_DECREASE_SPEED BUTTON_DOWN
35#else 41#else
36#define DEMYSTIFY_QUIT BUTTON_OFF 42#define DEMYSTIFY_QUIT BUTTON_OFF
37#define DEMYSTIFY_ADD_POLYGON BUTTON_UP 43#define DEMYSTIFY_ADD_POLYGON BUTTON_UP
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index 7209240128..30ba2f442b 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -108,6 +108,8 @@ long reverse (long N) {
108#define LP_QUIT BUTTON_MENU 108#define LP_QUIT BUTTON_MENU
109#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 109#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
110#define LP_QUIT BUTTON_PLAY 110#define LP_QUIT BUTTON_PLAY
111#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
112#define LP_QUIT BUTTON_POWER
111#else 113#else
112#define LP_QUIT BUTTON_OFF 114#define LP_QUIT BUTTON_OFF
113#endif 115#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index f1fba878e3..13efac18a1 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -63,6 +63,17 @@ PLUGIN_HEADER
63#define FLIPIT_TOGGLE_PRE BUTTON_SELECT 63#define FLIPIT_TOGGLE_PRE BUTTON_SELECT
64#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL) 64#define FLIPIT_TOGGLE (BUTTON_SELECT | BUTTON_REL)
65 65
66#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
67
68#define FLIPIT_UP BUTTON_UP
69#define FLIPIT_DOWN BUTTON_DOWN
70#define FLIPIT_QUIT BUTTON_POWER
71#define FLIPIT_SHUFFLE (BUTTON_PLAY | BUTTON_LEFT)
72#define FLIPIT_SOLVE (BUTTON_PLAY | BUTTON_RIGHT)
73#define FLIPIT_STEP_BY_STEP (BUTTON_PLAY | BUTTON_UP)
74#define FLIPIT_TOGGLE_PRE BUTTON_MENU
75#define FLIPIT_TOGGLE (BUTTON_MENU | BUTTON_REL)
76
66#endif 77#endif
67 78
68static struct plugin_api* rb; 79static struct plugin_api* rb;
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index a4ce1ae92a..265149f410 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -87,6 +87,16 @@ PLUGIN_HEADER
87#define BEJEWELED_SELECT BUTTON_SELECT 87#define BEJEWELED_SELECT BUTTON_SELECT
88#define BEJEWELED_RESUME BUTTON_EQ 88#define BEJEWELED_RESUME BUTTON_EQ
89 89
90#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
91#define BEJEWELED_UP BUTTON_UP
92#define BEJEWELED_DOWN BUTTON_DOWN
93#define BEJEWELED_LEFT BUTTON_LEFT
94#define BEJEWELED_RIGHT BUTTON_RIGHT
95#define BEJEWELED_QUIT BUTTON_POWER
96#define BEJEWELED_START BUTTON_PLAY
97#define BEJEWELED_SELECT BUTTON_MENU
98#define BEJEWELED_RESUME BUTTON_REC
99
90#else 100#else
91 #error BEJEWELED: Unsupported keypad 101 #error BEJEWELED: Unsupported keypad
92#endif 102#endif
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index 01678596f0..c94136d0df 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -195,6 +195,12 @@ const unsigned char rockbox16x7[] = {
195#define LP_INC_X BUTTON_RIGHT 195#define LP_INC_X BUTTON_RIGHT
196#define LP_DEC_Y BUTTON_DOWN 196#define LP_DEC_Y BUTTON_DOWN
197#define LP_INC_Y BUTTON_UP 197#define LP_INC_Y BUTTON_UP
198#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
199#define LP_QUIT BUTTON_MENU
200#define LP_DEC_X BUTTON_LEFT
201#define LP_INC_X BUTTON_RIGHT
202#define LP_DEC_Y BUTTON_DOWN
203#define LP_INC_Y BUTTON_UP
198#else 204#else
199#define LP_QUIT BUTTON_OFF 205#define LP_QUIT BUTTON_OFF
200#define LP_DEC_X BUTTON_LEFT 206#define LP_DEC_X BUTTON_LEFT
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 5baaea6812..b6a6172f51 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -80,6 +80,15 @@ PLUGIN_HEADER
80#define MINESWP_DISCOVER (BUTTON_SELECT | BUTTON_PLAY) 80#define MINESWP_DISCOVER (BUTTON_SELECT | BUTTON_PLAY)
81#define MINESWP_INFO (BUTTON_SELECT | BUTTON_MENU) 81#define MINESWP_INFO (BUTTON_SELECT | BUTTON_MENU)
82 82
83#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
84#define MINESWP_UP BUTTON_UP
85#define MINESWP_DOWN BUTTON_DOWN
86#define MINESWP_QUIT BUTTON_POWER
87#define MINESWP_START BUTTON_REC
88#define MINESWP_TOGGLE BUTTON_PLAY
89#define MINESWP_DISCOVER BUTTON_MENU
90#define MINESWP_INFO (BUTTON_REC | BUTTON_PLAY)
91
83#endif 92#endif
84 93
85/* here is a global api struct pointer. while not strictly necessary, 94/* here is a global api struct pointer. while not strictly necessary,
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index bccc436cad..56c6a18921 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -63,6 +63,11 @@ PLUGIN_HEADER
63#define MOSAIQUE_SPEED BUTTON_MODE 63#define MOSAIQUE_SPEED BUTTON_MODE
64#define MOSAIQUE_RESTART BUTTON_SELECT 64#define MOSAIQUE_RESTART BUTTON_SELECT
65 65
66#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
67#define MOSAIQUE_QUIT BUTTON_POWER
68#define MOSAIQUE_SPEED BUTTON_MENU
69#define MOSAIQUE_RESTART BUTTON_PLAY
70
66#endif 71#endif
67 72
68enum plugin_status plugin_start(struct plugin_api* api, void* parameter) 73enum 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 2fce02c705..6e3a6e375e 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -1885,6 +1885,11 @@ char *get_mp3_filename(char *wav_name)
1885#define MP3ENC_NEXT BUTTON_SCROLL_FWD 1885#define MP3ENC_NEXT BUTTON_SCROLL_FWD
1886#define MP3ENC_DONE BUTTON_MENU 1886#define MP3ENC_DONE BUTTON_MENU
1887#define MP3ENC_SELECT BUTTON_SELECT 1887#define MP3ENC_SELECT BUTTON_SELECT
1888#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
1889#define MP3ENC_PREV BUTTON_UP
1890#define MP3ENC_NEXT BUTTON_DOWN
1891#define MP3ENC_DONE BUTTON_POWER
1892#define MP3ENC_SELECT BUTTON_MENU
1888#endif 1893#endif
1889 1894
1890enum plugin_status plugin_start(struct plugin_api* api, void* parameter) 1895enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 4e9d99b8f0..b725c9305a 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -65,6 +65,13 @@ PLUGIN_HEADER
65#define PONG_RIGHT_UP BUTTON_RIGHT 65#define PONG_RIGHT_UP BUTTON_RIGHT
66#define PONG_RIGHT_DOWN BUTTON_PLAY 66#define PONG_RIGHT_DOWN BUTTON_PLAY
67 67
68#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
69#define PONG_QUIT BUTTON_POWER
70#define PONG_LEFT_UP BUTTON_UP
71#define PONG_LEFT_DOWN BUTTON_DOWN
72#define PONG_RIGHT_UP BUTTON_REC
73#define PONG_RIGHT_DOWN BUTTON_PLAY
74
68#endif 75#endif
69 76
70static struct plugin_api* rb; 77static struct plugin_api* rb;
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index f30a21aff8..0c976369cf 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -30,6 +30,12 @@ PLUGIN_HEADER
30#define ROCKBLOX_DOWN BUTTON_SCROLL_FWD 30#define ROCKBLOX_DOWN BUTTON_SCROLL_FWD
31#define ROCKBLOX_LEFT BUTTON_LEFT 31#define ROCKBLOX_LEFT BUTTON_LEFT
32#define ROCKBLOX_RIGHT BUTTON_RIGHT 32#define ROCKBLOX_RIGHT BUTTON_RIGHT
33#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
34#define ROCKBLOX_OFF BUTTON_POWER
35#define ROCKBLOX_UP BUTTON_UP
36#define ROCKBLOX_DOWN BUTTON_DOWN
37#define ROCKBLOX_LEFT BUTTON_LEFT
38#define ROCKBLOX_RIGHT BUTTON_RIGHT
33#else 39#else
34#define ROCKBLOX_OFF BUTTON_OFF 40#define ROCKBLOX_OFF BUTTON_OFF
35#define ROCKBLOX_UP BUTTON_UP 41#define ROCKBLOX_UP BUTTON_UP
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 060ab1866a..2e4a221930 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -52,6 +52,13 @@ PLUGIN_HEADER
52#define PUZZLE_SHUFFLE BUTTON_SELECT 52#define PUZZLE_SHUFFLE BUTTON_SELECT
53#define PUZZLE_PICTURE BUTTON_PLAY 53#define PUZZLE_PICTURE BUTTON_PLAY
54 54
55#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
56#define PUZZLE_QUIT BUTTON_POWER
57#define PUZZLE_UP BUTTON_UP
58#define PUZZLE_DOWN BUTTON_DOWN
59#define PUZZLE_SHUFFLE BUTTON_REC
60#define PUZZLE_PICTURE BUTTON_PLAY
61
55#endif 62#endif
56 63
57static struct plugin_api* rb; 64static struct plugin_api* rb;
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index dc78f17820..04a4f3e0e2 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -61,6 +61,12 @@ PLUGIN_HEADER
61#define SNAKE_DOWN BUTTON_PLAY 61#define SNAKE_DOWN BUTTON_PLAY
62#define SNAKE_PLAYPAUSE BUTTON_SELECT 62#define SNAKE_PLAYPAUSE BUTTON_SELECT
63 63
64#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
65#define SNAKE_QUIT BUTTON_POWER
66#define SNAKE_UP BUTTON_UP
67#define SNAKE_DOWN BUTTON_DOWN
68#define SNAKE_PLAYPAUSE BUTTON_PLAY
69
64#else 70#else
65#error "lacks keymapping" 71#error "lacks keymapping"
66#endif 72#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 4008209578..dbb6bbc6dd 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -103,6 +103,16 @@ PLUGIN_HEADER
103#define SNAKE2_SELECT_TYPE BUTTON_RIGHT 103#define SNAKE2_SELECT_TYPE BUTTON_RIGHT
104#define SNAKE2_PLAYPAUSE BUTTON_SELECT 104#define SNAKE2_PLAYPAUSE BUTTON_SELECT
105 105
106#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
107#define SNAKE2_UP BUTTON_UP
108#define SNAKE2_DOWN BUTTON_DOWN
109#define SNAKE2_QUIT BUTTON_POWER
110#define SNAKE2_LEVEL_UP BUTTON_REC
111#define SNAKE2_LEVEL_DOWN BUTTON_PLAY
112#define SNAKE2_SELECT_MAZE BUTTON_LEFT
113#define SNAKE2_SELECT_TYPE BUTTON_RIGHT
114#define SNAKE2_PLAYPAUSE BUTTON_MENU
115
106#else 116#else
107#error "lacks keymapping" 117#error "lacks keymapping"
108#endif 118#endif
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index a1405a1863..c1487a8009 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -40,6 +40,8 @@ PLUGIN_HEADER
40#define SNOW_QUIT BUTTON_MENU 40#define SNOW_QUIT BUTTON_MENU
41#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 41#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
42#define SNOW_QUIT BUTTON_PLAY 42#define SNOW_QUIT BUTTON_PLAY
43#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
44#define SNOW_QUIT BUTTON_POWER
43#else 45#else
44#define SNOW_QUIT BUTTON_OFF 46#define SNOW_QUIT BUTTON_OFF
45#endif 47#endif
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 994a1172c8..e823518ddb 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -75,6 +75,16 @@ PLUGIN_HEADER
75#define SOKOBAN_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT) 75#define SOKOBAN_LEVEL_DOWN (BUTTON_SELECT | BUTTON_LEFT)
76#define SOKOBAN_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY) 76#define SOKOBAN_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY)
77 77
78#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
79#define SOKOBAN_UP BUTTON_UP
80#define SOKOBAN_DOWN BUTTON_DOWN
81#define SOKOBAN_QUIT BUTTON_POWER
82#define SOKOBAN_UNDO_PRE BUTTON_MENU
83#define SOKOBAN_UNDO (BUTTON_MENU | BUTTON_REL)
84#define SOKOBAN_LEVEL_UP (BUTTON_PLAY | BUTTON_UP)
85#define SOKOBAN_LEVEL_DOWN (BUTTON_PLAY | BUTTON_DOWN)
86#define SOKOBAN_LEVEL_REPEAT BUTTON_REC
87
78#endif 88#endif
79 89
80#if LCD_DEPTH > 1 90#if LCD_DEPTH > 1
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 9a60635f45..33ac536267 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -109,19 +109,33 @@ static struct plugin_api* rb;
109#define SOL_OPT BUTTON_ON 109#define SOL_OPT BUTTON_ON
110#define SOL_REM BUTTON_REC 110#define SOL_REM BUTTON_REC
111 111
112#elif (CONFIG_KEYPAD == IPOD_4G_PAD) 112#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
113#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU) 113#define SOL_QUIT (BUTTON_SELECT | BUTTON_MENU)
114#define SOL_UP BUTTON_MENU 114#define SOL_UP BUTTON_MENU
115#define SOL_DOWN BUTTON_PLAY 115#define SOL_DOWN BUTTON_PLAY
116#define SOL_LEFT BUTTON_LEFT 116#define SOL_LEFT BUTTON_LEFT
117#define SOL_RIGHT BUTTON_RIGHT 117#define SOL_RIGHT BUTTON_RIGHT
118#define SOL_MOVE BUTTON_SELECT 118#define SOL_MOVE BUTTON_SELECT
119#define SOL_DRAW (BUTTON_SELECT | BUTTON_PLAY) 119#define SOL_DRAW (BUTTON_SELECT | BUTTON_PLAY)
120#define SOL_REM2CUR (BUTTON_SELECT | BUTTON_LEFT) 120#define SOL_REM2CUR (BUTTON_SELECT | BUTTON_LEFT)
121#define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_RIGHT) 121#define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_RIGHT)
122#define SOL_REM2STACK (BUTTON_LEFT | BUTTON_RIGHT) 122#define SOL_REM2STACK (BUTTON_LEFT | BUTTON_RIGHT)
123#define SOL_MENU_RUN BUTTON_SELECT 123#define SOL_MENU_RUN BUTTON_SELECT
124#define SOL_MENU_INFO (BUTTON_PLAY | BUTTON_MENU) 124#define SOL_MENU_INFO (BUTTON_PLAY | BUTTON_MENU)
125
126#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
127#define SOL_QUIT BUTTON_POWER
128#define SOL_UP BUTTON_UP
129#define SOL_DOWN BUTTON_DOWN
130#define SOL_LEFT BUTTON_LEFT
131#define SOL_RIGHT BUTTON_RIGHT
132#define SOL_MOVE BUTTON_MENU
133#define SOL_DRAW BUTTON_PLAY
134#define SOL_REM2CUR (BUTTON_REC | BUTTON_LEFT)
135#define SOL_CUR2STACK (BUTTON_REC | BUTTON_UP)
136#define SOL_REM2STACK (BUTTON_REC | BUTTON_DOWN)
137#define SOL_MENU_RUN BUTTON_MENU
138#define SOL_MENU_INFO BUTTON_PLAY
125 139
126#endif 140#endif
127 141
@@ -160,6 +174,13 @@ static struct plugin_api* rb;
160#define HELP_SOL_REM2CUR "SELECT+LEFT: Put the card on top of the remains' stack on top of the cursor." 174#define HELP_SOL_REM2CUR "SELECT+LEFT: Put the card on top of the remains' stack on top of the cursor."
161#define HELP_SOL_CUR2STACK "SELECT+RIGHT..: Put the card under the cursor on one of the 4 final stacks." 175#define HELP_SOL_CUR2STACK "SELECT+RIGHT..: Put the card under the cursor on one of the 4 final stacks."
162#define HELP_SOL_REM2STACK "LEFT+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks." 176#define HELP_SOL_REM2STACK "LEFT+RIGHT: Put the card on top of the remains' stack on one of the 4 final stacks."
177
178#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
179#define HELP_SOL_MOVE "MENU: Select cards, Move cards, reveal hidden cards ..."
180#define HELP_SOL_DRAW "PLAY: Un-select a card if it was selected. Else, draw 3 new cards out of the remains' stack."
181#define HELP_SOL_REM2CUR "REC+LEFT: Put the card on top of the remains' stack on top of the cursor."
182#define HELP_SOL_CUR2STACK "REC+UP..: Put the card under the cursor on one of the 4 final stacks."
183#define HELP_SOL_REM2STACK "REC+DOWN: Put the card on top of the remains' stack on one of the 4 final stacks."
163 184
164#endif 185#endif
165 186
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 03dac3482c..ddacfbcae2 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -110,6 +110,18 @@ PLUGIN_HEADER
110#define STAR_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY) 110#define STAR_LEVEL_REPEAT (BUTTON_SELECT | BUTTON_PLAY)
111#define STAR_MENU_RUN BUTTON_RIGHT 111#define STAR_MENU_RUN BUTTON_RIGHT
112 112
113#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
114
115#define STAR_QUIT BUTTON_POWER
116#define STAR_UP BUTTON_UP
117#define STAR_DOWN BUTTON_DOWN
118#define STAR_TOGGLE_CONTROL_PRE BUTTON_MENU
119#define STAR_TOGGLE_CONTROL (BUTTON_MENU | BUTTON_REL)
120#define STAR_LEVEL_UP (BUTTON_PLAY | BUTTON_UP)
121#define STAR_LEVEL_DOWN (BUTTON_PLAY | BUTTON_DOWN)
122#define STAR_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_RIGHT)
123#define STAR_MENU_RUN BUTTON_REC
124
113#endif 125#endif
114 126
115/* function returns because of USB? */ 127/* function returns because of USB? */
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 750c59fe41..f72c1ce5a9 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -32,6 +32,12 @@ static struct plugin_api* rb; /* global api struct pointer */
32#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK 32#define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK
33#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT 33#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
34#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT 34#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
35#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
36#define STARFIELD_QUIT BUTTON_POWER
37#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
38#define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN
39#define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT
40#define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT
35#else 41#else
36#define STARFIELD_QUIT BUTTON_OFF 42#define STARFIELD_QUIT BUTTON_OFF
37#define STARFIELD_INCREASE_ZMOVE BUTTON_UP 43#define STARFIELD_INCREASE_ZMOVE BUTTON_UP
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index b54adb584b..718b3ec928 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -34,6 +34,8 @@ static int fontwidth, fontheight;
34#define STATS_STOP BUTTON_MENU 34#define STATS_STOP BUTTON_MENU
35#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 35#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
36#define STATS_STOP BUTTON_PLAY 36#define STATS_STOP BUTTON_PLAY
37#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
38#define STATS_STOP BUTTON_POWER
37#else 39#else
38#define STATS_STOP BUTTON_OFF 40#define STATS_STOP BUTTON_OFF
39#endif 41#endif
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 3742a9a552..bccca7ea36 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -77,6 +77,13 @@ PLUGIN_HEADER
77#define STOPWATCH_LAP_TIMER BUTTON_SELECT 77#define STOPWATCH_LAP_TIMER BUTTON_SELECT
78#define STOPWATCH_SCROLL_UP BUTTON_UP 78#define STOPWATCH_SCROLL_UP BUTTON_UP
79#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 79#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
80#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
81#define STOPWATCH_QUIT BUTTON_POWER
82#define STOPWATCH_START_STOP BUTTON_PLAY
83#define STOPWATCH_RESET_TIMER BUTTON_REC
84#define STOPWATCH_LAP_TIMER BUTTON_MENU
85#define STOPWATCH_SCROLL_UP BUTTON_UP
86#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
80#endif 87#endif
81 88
82static struct plugin_api* rb; 89static struct plugin_api* rb;
diff --git a/apps/plugins/sudoku.c b/apps/plugins/sudoku.c
index 94ff96d171..b6df4e1235 100644
--- a/apps/plugins/sudoku.c
+++ b/apps/plugins/sudoku.c
@@ -103,6 +103,13 @@ PLUGIN_HEADER
103#define SUDOKU_BUTTON_MENU BUTTON_MENU 103#define SUDOKU_BUTTON_MENU BUTTON_MENU
104#define SUDOKU_BUTTON_POSSIBLE (BUTTON_SELECT | BUTTON_LEFT) 104#define SUDOKU_BUTTON_POSSIBLE (BUTTON_SELECT | BUTTON_LEFT)
105 105
106#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
107#define SUDOKU_BUTTON_QUIT BUTTON_POWER
108#define SUDOKU_BUTTON_UP BUTTON_UP
109#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
110#define SUDOKU_BUTTON_TOGGLE BUTTON_MENU
111#define SUDOKU_BUTTON_MENU BUTTON_PLAY
112#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
106 113
107#elif 114#elif
108 #error SUDOKU: Unsupported keypad 115 #error SUDOKU: Unsupported keypad
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index b98605af84..a1de3f9017 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -140,6 +140,17 @@ PLUGIN_HEADER
140#define VIEWER_MODE_LINE (BUTTON_EQ | BUTTON_REPEAT) 140#define VIEWER_MODE_LINE (BUTTON_EQ | BUTTON_REPEAT)
141#define VIEWER_MODE_WIDTH BUTTON_MODE 141#define VIEWER_MODE_WIDTH BUTTON_MODE
142 142
143/* iAudio X5 keys */
144#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
145#define VIEWER_QUIT BUTTON_POWER
146#define VIEWER_PAGE_UP BUTTON_UP
147#define VIEWER_PAGE_DOWN BUTTON_DOWN
148#define VIEWER_SCREEN_LEFT BUTTON_LEFT
149#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
150#define VIEWER_MODE_WRAP (BUTTON_PLAY | BUTTON_REL)
151#define VIEWER_MODE_LINE (BUTTON_PLAY | BUTTON_REPEAT)
152#define VIEWER_MODE_WIDTH BUTTON_MENU
153
143#endif 154#endif
144 155
145enum { 156enum {
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c
index 3cff78bbc5..88037ac5d5 100644
--- a/apps/recorder/keyboard.c
+++ b/apps/recorder/keyboard.c
@@ -128,6 +128,20 @@
128#define KBD_UP BUTTON_UP 128#define KBD_UP BUTTON_UP
129#define KBD_DOWN BUTTON_DOWN 129#define KBD_DOWN BUTTON_DOWN
130 130
131#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
132
133/* TODO: Check keyboard mappings */
134
135#define KBD_MODES /* iAudio X5 uses 2 modes, picker and line edit */
136#define KBD_SELECT (BUTTON_MENU | BUTTON_REL) /* backspace in line edit */
137#define KBD_SELECT_PRE BUTTON_MENU
138#define KBD_DONE BUTTON_PLAY
139#define KBD_ABORT BUTTON_REC
140#define KBD_LEFT BUTTON_LEFT
141#define KBD_RIGHT BUTTON_RIGHT
142#define KBD_UP BUTTON_UP
143#define KBD_DOWN BUTTON_DOWN
144
131#endif 145#endif
132 146
133#if KEYBOARD_PAGES == 1 147#if KEYBOARD_PAGES == 1
diff --git a/apps/settings.h b/apps/settings.h
index 2490635620..4d7d4fb707 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -107,6 +107,15 @@
107#define SETTINGS_OK BUTTON_SELECT 107#define SETTINGS_OK BUTTON_SELECT
108#define SETTINGS_CANCEL BUTTON_PLAY 108#define SETTINGS_CANCEL BUTTON_PLAY
109 109
110#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
111#define SETTINGS_INC BUTTON_UP
112#define SETTINGS_DEC BUTTON_DOWN
113#define SETTINGS_OK BUTTON_MENU
114#define SETTINGS_CANCEL BUTTON_REC
115#define SETTINGS_PREV BUTTON_LEFT
116#define SETTINGS_NEXT BUTTON_RIGHT
117#define SETTINGS_ACCEPT BUTTON_PLAY
118
110#endif 119#endif
111 120
112/* data structures */ 121/* data structures */
diff --git a/apps/tree.h b/apps/tree.h
index ad4a4a91aa..7a9958ca0d 100644
--- a/apps/tree.h
+++ b/apps/tree.h
@@ -164,6 +164,21 @@
164#define TREE_WPS_PRE BUTTON_SELECT 164#define TREE_WPS_PRE BUTTON_SELECT
165#define TREE_CONTEXT (BUTTON_RIGHT | BUTTON_REPEAT) 165#define TREE_CONTEXT (BUTTON_RIGHT | BUTTON_REPEAT)
166#define TREE_POWER_BTN (BUTTON_PLAY | BUTTON_REPEAT) 166#define TREE_POWER_BTN (BUTTON_PLAY | BUTTON_REPEAT)
167
168#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
169
170#define TREE_NEXT BUTTON_DOWN
171#define TREE_PREV BUTTON_UP
172#define TREE_EXIT BUTTON_LEFT
173#define TREE_ABORT BUTTON_PLAY
174#define TREE_RUN (BUTTON_RIGHT | BUTTON_REL)
175#define TREE_RUN_PRE BUTTON_RIGHT
176#define TREE_MENU (BUTTON_MENU | BUTTON_REPEAT)
177#define TREE_MENU_PRE BUTTON_MENU
178#define TREE_WPS (BUTTON_MENU | BUTTON_REL)
179#define TREE_WPS_PRE BUTTON_MENU
180#define TREE_CONTEXT (BUTTON_RIGHT | BUTTON_REPEAT)
181#define TREE_POWER_BTN (BUTTON_PLAY | BUTTON_REPEAT)
167#endif 182#endif
168 183
169struct entry { 184struct entry {
diff --git a/docs/CREDITS b/docs/CREDITS
index 78be75b1a6..b6deab6e3a 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -159,3 +159,4 @@ Martin Scarratt
159Karl Kurbjun 159Karl Kurbjun
160Tomasz Malesinski 160Tomasz Malesinski
161Andrew Pilley 161Andrew Pilley
162Matt v.d. Westhuizen
diff --git a/firmware/export/button.h b/firmware/export/button.h
index 7f50b1013c..c251f11890 100644
--- a/firmware/export/button.h
+++ b/firmware/export/button.h
@@ -172,6 +172,17 @@ bool button_hold(void);
172#define BUTTON_DOWN 0x0020 172#define BUTTON_DOWN 0x0020
173#define BUTTON_SELECT 0x0100 173#define BUTTON_SELECT 0x0100
174 174
175#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
176
177/* TODO: These codes should relate to the hardware */
178
179#define BUTTON_PLAY 0x0001
180#define BUTTON_REC 0x0002
181#define BUTTON_POWER 0x0004
182#define BUTTON_UP 0x0008
183#define BUTTON_DOWN 0x0010
184#define BUTTON_MENU 0x0020
185
175#endif /* RECORDER/PLAYER/ONDIO/GMINI KEYPAD */ 186#endif /* RECORDER/PLAYER/ONDIO/GMINI KEYPAD */
176 187
177#endif /* _BUTTON_H_ */ 188#endif /* _BUTTON_H_ */
diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h
index ac3073428b..fd9a8874a7 100644
--- a/firmware/export/config-iaudiox5.h
+++ b/firmware/export/config-iaudiox5.h
@@ -31,6 +31,9 @@
31 31
32#define CONFIG_LCD LCD_X5 32#define CONFIG_LCD LCD_X5
33 33
34/* Define this for LCD backlight available */
35#define CONFIG_BACKLIGHT BL_IRIVER_H100 /* port controlled */
36
34/* Define this if you have a software controlled poweroff */ 37/* Define this if you have a software controlled poweroff */
35#define HAVE_SW_POWEROFF 38#define HAVE_SW_POWEROFF
36 39
@@ -59,9 +62,6 @@
59/* The start address index for ROM builds */ 62/* The start address index for ROM builds */
60#define ROM_START 0x11010 63#define ROM_START 0x11010
61 64
62/* Define this for LCD backlight available */
63#define CONFIG_BACKLIGHT BL_IRIVER_H100 /* port controlled */
64
65/* Define this to the CPU frequency */ 65/* Define this to the CPU frequency */
66#define CPU_FREQ 11289600 66#define CPU_FREQ 11289600
67 67
diff --git a/uisimulator/sdl/screenhack.c b/uisimulator/sdl/screenhack.c
index c77cb575e4..ad138c282e 100644
--- a/uisimulator/sdl/screenhack.c
+++ b/uisimulator/sdl/screenhack.c
@@ -114,6 +114,10 @@
114#define KEYBOARD_SPECIFIC \ 114#define KEYBOARD_SPECIFIC \
115 "[not written yet]" 115 "[not written yet]"
116 116
117#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
118#define KEYBOARD_SPECIFIC \
119 "[not written yet]"
120
117#endif 121#endif
118 122
119 123