summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2008-11-14 21:57:43 +0000
committerDominik Wenger <domonoky@googlemail.com>2008-11-14 21:57:43 +0000
commit83dc89f751bc57e060f5a4882beafb3064c3fd80 (patch)
tree23a1549588a9fc55850b6952cb5a4ffdc393f489
parent9a0224fd2800facac398b09ba386973c8ad0cab5 (diff)
downloadrockbox-83dc89f751bc57e060f5a4882beafb3064c3fd80.tar.gz
rockbox-83dc89f751bc57e060f5a4882beafb3064c3fd80.zip
m200v4: make buttons work again (added a small delay). make m200 keymap better. Add button mappings for the sim. Remove some config defines temporary to make building work again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19104 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/keymaps/keymap-m200.c72
-rw-r--r--firmware/export/config-m200v4.h6
-rw-r--r--firmware/target/arm/as3525/sansa-m200v4/button-m200v4.c14
-rw-r--r--uisimulator/sdl/button.c29
4 files changed, 81 insertions, 40 deletions
diff --git a/apps/keymaps/keymap-m200.c b/apps/keymaps/keymap-m200.c
index 46a109815c..20c2fb931f 100644
--- a/apps/keymaps/keymap-m200.c
+++ b/apps/keymaps/keymap-m200.c
@@ -18,7 +18,7 @@
18 * KIND, either express or implied. 18 * KIND, either express or implied.
19 * 19 *
20 ****************************************************************************/ 20 ****************************************************************************/
21/* Button Code Definitions for Sandisk c200 target */ 21/* Button Code Definitions for Sandisk m200 target */
22 22
23#include "config.h" 23#include "config.h"
24#include "action.h" 24#include "action.h"
@@ -34,11 +34,11 @@
34 * Insert LAST_ITEM_IN_LIST at the end of each mapping 34 * Insert LAST_ITEM_IN_LIST at the end of each mapping
35 */ 35 */
36static const struct button_mapping button_context_standard[] = { 36static const struct button_mapping button_context_standard[] = {
37 { ACTION_STD_PREV, BUTTON_VOLUP, BUTTON_NONE }, 37 { ACTION_STD_PREV, BUTTON_PLAYPAUSE, BUTTON_NONE },
38 { ACTION_STD_PREVREPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 38 { ACTION_STD_PREVREPEAT, BUTTON_PLAYPAUSE|BUTTON_REPEAT, BUTTON_NONE },
39 39
40 { ACTION_STD_NEXT, BUTTON_VOLDOWN, BUTTON_NONE }, 40 { ACTION_STD_NEXT, BUTTON_REPEATAB, BUTTON_NONE },
41 { ACTION_STD_NEXTREPEAT, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 41 { ACTION_STD_NEXTREPEAT, BUTTON_REPEATAB|BUTTON_REPEAT, BUTTON_NONE },
42 42
43 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 43 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
44 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, 44 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE },
@@ -53,8 +53,8 @@ static const struct button_mapping button_context_standard[] = {
53 53
54 54
55static const struct button_mapping button_context_wps[] = { 55static const struct button_mapping button_context_wps[] = {
56 { ACTION_WPS_PLAY, BUTTON_VOLUP|BUTTON_REL, BUTTON_VOLUP }, 56 { ACTION_WPS_PLAY, BUTTON_PLAYPAUSE|BUTTON_REL, BUTTON_PLAYPAUSE },
57 { ACTION_WPS_STOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_VOLUP }, 57 { ACTION_WPS_STOP, BUTTON_PLAYPAUSE|BUTTON_REPEAT, BUTTON_PLAYPAUSE },
58 58
59 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 59 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
60 { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 60 { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
@@ -66,14 +66,20 @@ static const struct button_mapping button_context_wps[] = {
66 66
67 { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_MENU|BUTTON_RIGHT, BUTTON_MENU }, 67 { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_MENU|BUTTON_RIGHT, BUTTON_MENU },
68 { ACTION_WPS_ABSETA_PREVDIR,BUTTON_MENU|BUTTON_LEFT, BUTTON_MENU }, 68 { ACTION_WPS_ABSETA_PREVDIR,BUTTON_MENU|BUTTON_LEFT, BUTTON_MENU },
69 { ACTION_WPS_ABRESET, BUTTON_MENU|BUTTON_VOLUP, BUTTON_MENU }, 69 { ACTION_WPS_ABRESET, BUTTON_MENU|BUTTON_PLAYPAUSE, BUTTON_MENU },
70
71 { ACTION_WPS_VOLUP, BUTTON_VOLUP, BUTTON_NONE },
72 { ACTION_WPS_VOLUP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
73
74 { ACTION_WPS_VOLDOWN, BUTTON_VOLDOWN, BUTTON_NONE },
75 { ACTION_WPS_VOLDOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
70 76
71 { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 77 { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
72 { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 78 { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
73 { ACTION_WPS_PITCHSCREEN, BUTTON_SELECT|BUTTON_VOLUP, BUTTON_SELECT }, 79 { ACTION_WPS_PITCHSCREEN, BUTTON_SELECT|BUTTON_PLAYPAUSE, BUTTON_SELECT },
74 { ACTION_WPS_ID3SCREEN, BUTTON_SELECT|BUTTON_VOLDOWN, BUTTON_SELECT }, 80 { ACTION_WPS_ID3SCREEN, BUTTON_SELECT|BUTTON_REPEATAB, BUTTON_SELECT },
75 { ACTION_WPS_CONTEXT, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_VOLDOWN }, 81 { ACTION_WPS_CONTEXT, BUTTON_REPEATAB|BUTTON_REL, BUTTON_REPEATAB },
76 { ACTION_WPS_QUICKSCREEN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_VOLDOWN }, 82 { ACTION_WPS_QUICKSCREEN, BUTTON_REPEATAB|BUTTON_REPEAT, BUTTON_REPEATAB },
77 83
78 LAST_ITEM_IN_LIST 84 LAST_ITEM_IN_LIST
79}; /* button_context_wps */ 85}; /* button_context_wps */
@@ -82,11 +88,11 @@ static const struct button_mapping button_context_settings[] = {
82 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, 88 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE },
83 { ACTION_SETTINGS_RESET, BUTTON_SELECT, BUTTON_NONE }, 89 { ACTION_SETTINGS_RESET, BUTTON_SELECT, BUTTON_NONE },
84 90
85 { ACTION_SETTINGS_INC, BUTTON_VOLUP, BUTTON_NONE }, 91 { ACTION_SETTINGS_INC, BUTTON_PLAYPAUSE, BUTTON_NONE },
86 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 92 { ACTION_SETTINGS_INCREPEAT,BUTTON_PLAYPAUSE|BUTTON_REPEAT, BUTTON_NONE },
87 93
88 { ACTION_SETTINGS_DEC, BUTTON_VOLDOWN, BUTTON_NONE }, 94 { ACTION_SETTINGS_DEC, BUTTON_REPEATAB, BUTTON_NONE },
89 { ACTION_SETTINGS_DECREPEAT,BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 95 { ACTION_SETTINGS_DECREPEAT,BUTTON_REPEATAB|BUTTON_REPEAT, BUTTON_NONE },
90 96
91 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, 97 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
92 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 98 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
@@ -132,7 +138,7 @@ static const struct button_mapping button_context_listtree_scroll_without_combo[
132}; /* button_context_listtree_scroll_without_combo */ 138}; /* button_context_listtree_scroll_without_combo */
133 139
134static const struct button_mapping button_context_listtree_scroll_with_combo[] = { 140static const struct button_mapping button_context_listtree_scroll_with_combo[] = {
135 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 141 // { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
136 142
137// { ACTION_TREE_PGLEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_REC }, 143// { ACTION_TREE_PGLEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_REC },
138// { ACTION_TREE_PGLEFT, BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 144// { ACTION_TREE_PGLEFT, BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
@@ -153,11 +159,11 @@ static const struct button_mapping button_context_quickscreen[] = {
153 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 159 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
154 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, 160 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
155 161
156 { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE }, 162 { ACTION_QS_DOWNINV, BUTTON_PLAYPAUSE|BUTTON_REL, BUTTON_NONE },
157 { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 163 { ACTION_QS_DOWNINV, BUTTON_PLAYPAUSE|BUTTON_REPEAT, BUTTON_NONE },
158 164
159 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_NONE }, 165 { ACTION_QS_DOWN, BUTTON_REPEATAB|BUTTON_REL, BUTTON_NONE },
160 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 166 { ACTION_QS_DOWN, BUTTON_REPEATAB|BUTTON_REPEAT, BUTTON_NONE },
161 167
162 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 168 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
163 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 169 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
@@ -181,11 +187,11 @@ static const struct button_mapping button_context_settings_right_is_inc[] = {
181}; /* button_context_settings_right_is_inc */ 187}; /* button_context_settings_right_is_inc */
182 188
183static const struct button_mapping button_context_pitchscreen[] = { 189static const struct button_mapping button_context_pitchscreen[] = {
184 { ACTION_PS_INC_SMALL, BUTTON_VOLUP, BUTTON_NONE }, 190 { ACTION_PS_INC_SMALL, BUTTON_PLAYPAUSE, BUTTON_NONE },
185 { ACTION_PS_INC_BIG, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 191 { ACTION_PS_INC_BIG, BUTTON_PLAYPAUSE|BUTTON_REPEAT, BUTTON_NONE },
186 192
187 { ACTION_PS_DEC_SMALL, BUTTON_VOLDOWN, BUTTON_NONE }, 193 { ACTION_PS_DEC_SMALL, BUTTON_REPEATAB, BUTTON_NONE },
188 { ACTION_PS_DEC_BIG, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 194 { ACTION_PS_DEC_BIG, BUTTON_REPEATAB|BUTTON_REPEAT, BUTTON_NONE },
189 195
190 { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE }, 196 { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE },
191 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 197 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
@@ -219,13 +225,13 @@ static const struct button_mapping button_context_recscreen[] = {
219/** FM Radio Screen **/ 225/** FM Radio Screen **/
220#if CONFIG_TUNER 226#if CONFIG_TUNER
221static const struct button_mapping button_context_radio[] = { 227static const struct button_mapping button_context_radio[] = {
222 { ACTION_NONE, BUTTON_VOLUP, BUTTON_NONE }, 228 { ACTION_NONE, BUTTON_PLAYPAUSE, BUTTON_NONE },
223 { ACTION_FM_MENU, BUTTON_VOLDOWN, BUTTON_NONE }, 229 { ACTION_FM_MENU, BUTTON_REPEATAB, BUTTON_NONE },
224 { ACTION_FM_PRESET, BUTTON_SELECT, BUTTON_NONE }, 230 { ACTION_FM_PRESET, BUTTON_SELECT, BUTTON_NONE },
225 { ACTION_FM_STOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_VOLUP }, 231 { ACTION_FM_STOP, BUTTON_PLAYPAUSE|BUTTON_REPEAT, BUTTON_PLAYPAUSE },
226 { ACTION_FM_MODE, BUTTON_REC, BUTTON_NONE }, 232 { ACTION_FM_MODE, BUTTON_REC, BUTTON_NONE },
227 { ACTION_FM_EXIT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 233 { ACTION_FM_EXIT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
228 { ACTION_FM_PLAY, BUTTON_VOLUP|BUTTON_REL, BUTTON_VOLUP }, 234 { ACTION_FM_PLAY, BUTTON_PLAYPAUSE|BUTTON_REL, BUTTON_PLAYPAUSE },
229 { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, 235 { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE },
230 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 236 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
231 { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, 237 { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE },
@@ -246,10 +252,10 @@ static const struct button_mapping button_context_keyboard[] = {
246// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE }, 252// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE },
247// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE }, 253// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
248 254
249 { ACTION_KBD_UP, BUTTON_VOLUP, BUTTON_NONE }, 255 { ACTION_KBD_UP, BUTTON_PLAYPAUSE, BUTTON_NONE },
250 { ACTION_KBD_UP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 256 { ACTION_KBD_UP, BUTTON_PLAYPAUSE|BUTTON_REPEAT, BUTTON_NONE },
251 { ACTION_KBD_DOWN, BUTTON_VOLDOWN, BUTTON_NONE }, 257 { ACTION_KBD_DOWN, BUTTON_REPEATAB, BUTTON_NONE },
252 { ACTION_KBD_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 258 { ACTION_KBD_DOWN, BUTTON_REPEATAB|BUTTON_REPEAT, BUTTON_NONE },
253 259
254// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN, BUTTON_NONE }, 260// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN, BUTTON_NONE },
255// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN|BUTTON_REPEAT,BUTTON_NONE }, 261// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN|BUTTON_REPEAT,BUTTON_NONE },
diff --git a/firmware/export/config-m200v4.h b/firmware/export/config-m200v4.h
index b16b5fed43..de66788f75 100644
--- a/firmware/export/config-m200v4.h
+++ b/firmware/export/config-m200v4.h
@@ -38,12 +38,12 @@
38#define HAVE_LCD_INVERT 38#define HAVE_LCD_INVERT
39 39
40/* define this if you have access to the quickscreen */ 40/* define this if you have access to the quickscreen */
41#define HAVE_QUICKSCREEN 41//#define HAVE_QUICKSCREEN
42/* define this if you have access to the pitchscreen */ 42/* define this if you have access to the pitchscreen */
43#define HAVE_PITCHSCREEN 43//#define HAVE_PITCHSCREEN
44 44
45/* define this if you would like tagcache to build on this target */ 45/* define this if you would like tagcache to build on this target */
46#define HAVE_TAGCACHE 46//#define HAVE_TAGCACHE
47 47
48/* define this if you have a flash memory storage */ 48/* define this if you have a flash memory storage */
49#define HAVE_FLASH_STORAGE 49#define HAVE_FLASH_STORAGE
diff --git a/firmware/target/arm/as3525/sansa-m200v4/button-m200v4.c b/firmware/target/arm/as3525/sansa-m200v4/button-m200v4.c
index c5d6c4941d..f8d64e2785 100644
--- a/firmware/target/arm/as3525/sansa-m200v4/button-m200v4.c
+++ b/firmware/target/arm/as3525/sansa-m200v4/button-m200v4.c
@@ -30,17 +30,20 @@ void button_init_device(void)
30 GPIOA_DIR |= ((1<<6) | (1<<5) | (1<<4)); /* A4-A6 row outputs */ 30 GPIOA_DIR |= ((1<<6) | (1<<5) | (1<<4)); /* A4-A6 row outputs */
31} 31}
32 32
33/* short delay is needed between raising a colum pin, and reading the row pin. values is arbitraty */
34static inline void btn_delay(void) { int i = 5; while(i--) ; }
35
33int button_read_device(void) 36int button_read_device(void)
34{ 37{
35 int result = BUTTON_NONE; 38 int result = BUTTON_NONE;
36 39
37 /* direct GPIO connections */ 40 /* direct GPIO connections */
38 if (GPIOA_PIN(3)) 41 if (GPIOA_PIN(3))
39 result |= BUTTON_MENU; 42 result |= BUTTON_MENU;
40 43
41 /* This is a keypad using A4-A6 as columns and A0-A2 as rows */ 44 /* This is a keypad using A4-A6 as columns and A0-A2 as rows */
42 GPIOA_PIN(4) = (1<<4); 45 GPIOA_PIN(4) = (1<<4);
43 46 btn_delay();
44 /* A4A0 is unused */ 47 /* A4A0 is unused */
45 48
46 if (GPIOA_PIN(1)) 49 if (GPIOA_PIN(1))
@@ -52,7 +55,8 @@ int button_read_device(void)
52 GPIOA_PIN(4) = 0x00; 55 GPIOA_PIN(4) = 0x00;
53 56
54 GPIOA_PIN(5) = (1<<5); 57 GPIOA_PIN(5) = (1<<5);
55 58 btn_delay();
59
56 if (GPIOA_PIN(0)) 60 if (GPIOA_PIN(0))
57 result |= BUTTON_LEFT; 61 result |= BUTTON_LEFT;
58 62
@@ -66,7 +70,8 @@ int button_read_device(void)
66 70
67 71
68 GPIOA_PIN(6) = (1<<6); 72 GPIOA_PIN(6) = (1<<6);
69 73 btn_delay();
74
70 if (GPIOA_PIN(0)) 75 if (GPIOA_PIN(0))
71 result |= BUTTON_REPEATAB; 76 result |= BUTTON_REPEATAB;
72 77
@@ -75,6 +80,7 @@ int button_read_device(void)
75 80
76 if (GPIOA_PIN(2)) 81 if (GPIOA_PIN(2))
77 result |= BUTTON_HOLD; 82 result |= BUTTON_HOLD;
83
78 GPIOA_PIN(6) = 0x00; 84 GPIOA_PIN(6) = 0x00;
79 85
80 return result; 86 return result;
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c
index 614308a070..6246228dd8 100644
--- a/uisimulator/sdl/button.c
+++ b/uisimulator/sdl/button.c
@@ -1020,6 +1020,35 @@ void button_event(int key, bool pressed)
1020 case SDLK_p: 1020 case SDLK_p:
1021 new_btn = BUTTON_POWER; 1021 new_btn = BUTTON_POWER;
1022 break; 1022 break;
1023#elif CONFIG_KEYPAD == SANSA_M200_PAD
1024 case SDLK_KP4:
1025 case SDLK_LEFT:
1026 new_btn = BUTTON_LEFT;
1027 break;
1028 case SDLK_KP6:
1029 case SDLK_RIGHT:
1030 new_btn = BUTTON_RIGHT;
1031 break;
1032 case SDLK_KP8:
1033 case SDLK_UP:
1034 new_btn = BUTTON_PLAYPAUSE;
1035 break;
1036 case SDLK_KP2:
1037 case SDLK_DOWN:
1038 new_btn = BUTTON_REPEATAB;
1039 break;
1040 case SDLK_PLUS:
1041 new_btn = BUTTON_MENU;
1042 break;
1043 case SDLK_KP5:
1044 new_btn = BUTTON_SELECT;
1045 break;
1046 case SDLK_KP7:
1047 new_btn = BUTTON_VOLDOWN;
1048 break;
1049 case SDLK_KP9:
1050 new_btn = BUTTON_VOLUP;
1051 break;
1023#else 1052#else
1024#error No keymap defined! 1053#error No keymap defined!
1025#endif /* CONFIG_KEYPAD */ 1054#endif /* CONFIG_KEYPAD */