diff options
author | Mark Arigo <markarigo@gmail.com> | 2008-05-21 03:55:17 +0000 |
---|---|---|
committer | Mark Arigo <markarigo@gmail.com> | 2008-05-21 03:55:17 +0000 |
commit | b4275d4941e464c851ae3f5fe33c80f56ea365e5 (patch) | |
tree | 6f82b4e9cc490bf759dc4e1c64b4416d3b2d4879 /apps | |
parent | 4c99f9a74964c4a44ca27a216f302bdc79b23121 (diff) | |
download | rockbox-b4275d4941e464c851ae3f5fe33c80f56ea365e5.tar.gz rockbox-b4275d4941e464c851ae3f5fe33c80f56ea365e5.zip |
Philips GoGear SA9200 port. Working bootloader and normal builds, including sound. No touchpad now, buttons limited to using vol+/vol-/power for up/down/select. Rockbox USB is enabled since the OF is MTP only...read the warnings on the PortalPlayerUsb wiki page.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17591 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/SOURCES | 2 | ||||
-rw-r--r-- | apps/debug_menu.c | 15 | ||||
-rwxr-xr-x | apps/keymaps/keymap-sa9200.c | 315 | ||||
-rw-r--r-- | apps/lang/english.lang | 29 | ||||
-rw-r--r-- | apps/plugins/lib/pluginlib_actions.c | 15 |
5 files changed, 356 insertions, 20 deletions
diff --git a/apps/SOURCES b/apps/SOURCES index c8cd03a29d..8c7cc15ecb 100644 --- a/apps/SOURCES +++ b/apps/SOURCES | |||
@@ -189,4 +189,6 @@ keymaps/keymap-cowond2.c | |||
189 | keymaps/keymap-creativezvm.c | 189 | keymaps/keymap-creativezvm.c |
190 | #elif CONFIG_KEYPAD == CREATIVEZV_PAD | 190 | #elif CONFIG_KEYPAD == CREATIVEZV_PAD |
191 | keymaps/keymap-creativezv.c | 191 | keymaps/keymap-creativezv.c |
192 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD | ||
193 | keymaps/keymap-sa9200.c | ||
192 | #endif | 194 | #endif |
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index e198bfa18d..313a2aacac 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c | |||
@@ -99,7 +99,7 @@ | |||
99 | #include "debug-target.h" | 99 | #include "debug-target.h" |
100 | #endif | 100 | #endif |
101 | 101 | ||
102 | #if defined(SANSA_E200) | 102 | #if defined(SANSA_E200) || defined(PHILIPS_SA9200) |
103 | #include "i2c-pp.h" | 103 | #include "i2c-pp.h" |
104 | #include "as3514.h" | 104 | #include "as3514.h" |
105 | #endif | 105 | #endif |
@@ -1017,6 +1017,11 @@ static bool dbg_spdif(void) | |||
1017 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ | 1017 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ |
1018 | (CONFIG_KEYPAD == SANSA_C200_PAD) | 1018 | (CONFIG_KEYPAD == SANSA_C200_PAD) |
1019 | # define DEBUG_CANCEL BUTTON_LEFT | 1019 | # define DEBUG_CANCEL BUTTON_LEFT |
1020 | |||
1021 | /* This is temporary until the SA9200 touchpad works */ | ||
1022 | #elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) | ||
1023 | # define DEBUG_CANCEL BUTTON_POWER | ||
1024 | |||
1020 | #endif /* key definitions */ | 1025 | #endif /* key definitions */ |
1021 | 1026 | ||
1022 | /* Test code!!! */ | 1027 | /* Test code!!! */ |
@@ -1197,7 +1202,7 @@ bool dbg_ports(void) | |||
1197 | snprintf(buf, sizeof(buf), "REM: %03x PAD: %03x", | 1202 | snprintf(buf, sizeof(buf), "REM: %03x PAD: %03x", |
1198 | adc_read(ADC_REMOTE), adc_read(ADC_SCROLLPAD)); | 1203 | adc_read(ADC_REMOTE), adc_read(ADC_SCROLLPAD)); |
1199 | lcd_puts(0, line++, buf); | 1204 | lcd_puts(0, line++, buf); |
1200 | #elif defined(SANSA_E200) | 1205 | #elif defined(SANSA_E200) || defined(PHILIPS_SA9200) |
1201 | snprintf(buf, sizeof(buf), "ADC_BVDD: %4d", adc_read(ADC_BVDD)); | 1206 | snprintf(buf, sizeof(buf), "ADC_BVDD: %4d", adc_read(ADC_BVDD)); |
1202 | lcd_puts(0, line++, buf); | 1207 | lcd_puts(0, line++, buf); |
1203 | snprintf(buf, sizeof(buf), "ADC_RTCSUP: %4d", adc_read(ADC_RTCSUP)); | 1208 | snprintf(buf, sizeof(buf), "ADC_RTCSUP: %4d", adc_read(ADC_RTCSUP)); |
@@ -1220,6 +1225,7 @@ bool dbg_ports(void) | |||
1220 | lcd_puts(0, line++, buf); | 1225 | lcd_puts(0, line++, buf); |
1221 | snprintf(buf, sizeof(buf), "ADC_I_MICSUP1:%4d", adc_read(ADC_I_MICSUP1)); | 1226 | snprintf(buf, sizeof(buf), "ADC_I_MICSUP1:%4d", adc_read(ADC_I_MICSUP1)); |
1222 | lcd_puts(0, line++, buf); | 1227 | lcd_puts(0, line++, buf); |
1228 | #if !defined(PHILIPS_SA9200) | ||
1223 | snprintf(buf, sizeof(buf), "ADC_I_MICSUP2:%4d", adc_read(ADC_I_MICSUP2)); | 1229 | snprintf(buf, sizeof(buf), "ADC_I_MICSUP2:%4d", adc_read(ADC_I_MICSUP2)); |
1224 | lcd_puts(0, line++, buf); | 1230 | lcd_puts(0, line++, buf); |
1225 | snprintf(buf, sizeof(buf), "ADC_VBAT: %4d", adc_read(ADC_VBAT)); | 1231 | snprintf(buf, sizeof(buf), "ADC_VBAT: %4d", adc_read(ADC_VBAT)); |
@@ -1227,6 +1233,7 @@ bool dbg_ports(void) | |||
1227 | snprintf(buf, sizeof(buf), "CHARGER: %02X/%02X", i2c_readbyte(AS3514_I2C_ADDR, AS3514_CHARGER), i2c_readbyte(AS3514_I2C_ADDR, AS3514_IRQ_ENRD0)); | 1233 | snprintf(buf, sizeof(buf), "CHARGER: %02X/%02X", i2c_readbyte(AS3514_I2C_ADDR, AS3514_CHARGER), i2c_readbyte(AS3514_I2C_ADDR, AS3514_IRQ_ENRD0)); |
1228 | lcd_puts(0, line++, buf); | 1234 | lcd_puts(0, line++, buf); |
1229 | #endif | 1235 | #endif |
1236 | #endif | ||
1230 | lcd_update(); | 1237 | lcd_update(); |
1231 | if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL)) | 1238 | if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL)) |
1232 | return false; | 1239 | return false; |
@@ -2136,7 +2143,7 @@ static bool dbg_save_roms(void) | |||
2136 | 2143 | ||
2137 | return false; | 2144 | return false; |
2138 | } | 2145 | } |
2139 | #elif defined(CPU_PP) && !(defined(SANSA_E200) || defined(SANSA_C200)) | 2146 | #elif defined(CPU_PP) && !defined(HAVE_ATA_SD) |
2140 | static bool dbg_save_roms(void) | 2147 | static bool dbg_save_roms(void) |
2141 | { | 2148 | { |
2142 | int fd; | 2149 | int fd; |
@@ -2459,7 +2466,7 @@ struct the_menu_item { | |||
2459 | }; | 2466 | }; |
2460 | static const struct the_menu_item menuitems[] = { | 2467 | static const struct the_menu_item menuitems[] = { |
2461 | #if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || \ | 2468 | #if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || \ |
2462 | (defined(CPU_PP) && !(defined(SANSA_E200) || defined(SANSA_C200))) | 2469 | (defined(CPU_PP) && !defined(HAVE_ATA_SD)) |
2463 | { "Dump ROM contents", dbg_save_roms }, | 2470 | { "Dump ROM contents", dbg_save_roms }, |
2464 | #endif | 2471 | #endif |
2465 | #if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) \ | 2472 | #if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) \ |
diff --git a/apps/keymaps/keymap-sa9200.c b/apps/keymaps/keymap-sa9200.c new file mode 100755 index 0000000000..c2fa6e44e8 --- /dev/null +++ b/apps/keymaps/keymap-sa9200.c | |||
@@ -0,0 +1,315 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2006 Jonathan Gordon | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | |||
20 | /* Button Code Definitions for the Philips SA9200 target */ | ||
21 | #include <stdio.h> | ||
22 | #include <string.h> | ||
23 | #include <stdlib.h> | ||
24 | |||
25 | #include "config.h" | ||
26 | #include "action.h" | ||
27 | #include "button.h" | ||
28 | #include "settings.h" | ||
29 | |||
30 | /* | ||
31 | * The format of the list is as follows | ||
32 | * { Action Code, Button code, Prereq button code } | ||
33 | * if there's no need to check the previous button's value, use BUTTON_NONE | ||
34 | * Insert LAST_ITEM_IN_LIST at the end of each mapping | ||
35 | */ | ||
36 | |||
37 | /* CONTEXT_CUSTOM's used in this file... | ||
38 | |||
39 | CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions) | ||
40 | CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker screens | ||
41 | i.e where up/down is inc/dec | ||
42 | CONTEXT_SETTINGS = up/down is prev/next, l/r is inc/dec | ||
43 | |||
44 | */ | ||
45 | |||
46 | |||
47 | static const struct button_mapping button_context_standard[] = { | ||
48 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | ||
49 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
50 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
51 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
52 | |||
53 | { ACTION_STD_CANCEL, BUTTON_REW, BUTTON_NONE }, | ||
54 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | ||
55 | |||
56 | { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
57 | |||
58 | { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
59 | { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
60 | |||
61 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
62 | { ACTION_STD_OK, BUTTON_FFWD, BUTTON_NONE }, | ||
63 | |||
64 | LAST_ITEM_IN_LIST | ||
65 | }; /* button_context_standard */ | ||
66 | |||
67 | |||
68 | static const struct button_mapping button_context_wps[] = { | ||
69 | { ACTION_WPS_PLAY, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
70 | { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
71 | |||
72 | { ACTION_WPS_SKIPNEXT, BUTTON_FFWD|BUTTON_REL, BUTTON_FFWD }, | ||
73 | { ACTION_WPS_SKIPPREV, BUTTON_REW|BUTTON_REL, BUTTON_REW }, | ||
74 | |||
75 | { ACTION_WPS_SEEKBACK, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
76 | { ACTION_WPS_SEEKFWD, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
77 | { ACTION_WPS_STOPSEEK, BUTTON_REW|BUTTON_REL, BUTTON_REW|BUTTON_REPEAT }, | ||
78 | { ACTION_WPS_STOPSEEK, BUTTON_FFWD|BUTTON_REL, BUTTON_FFWD|BUTTON_REPEAT }, | ||
79 | |||
80 | { ACTION_WPS_ABSETB_NEXTDIR, BUTTON_RIGHT|BUTTON_FFWD, BUTTON_NONE }, | ||
81 | { ACTION_WPS_ABSETA_PREVDIR, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE }, | ||
82 | { ACTION_WPS_ABRESET, BUTTON_RIGHT|BUTTON_SELECT, BUTTON_NONE }, | ||
83 | |||
84 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
85 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
86 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
87 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
88 | { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
89 | { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, | ||
90 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
91 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
92 | |||
93 | { ACTION_WPS_PITCHSCREEN, BUTTON_RIGHT|BUTTON_UP, BUTTON_RIGHT }, | ||
94 | { ACTION_WPS_PITCHSCREEN, BUTTON_RIGHT|BUTTON_DOWN, BUTTON_RIGHT }, | ||
95 | |||
96 | { ACTION_WPS_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
97 | { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
98 | { ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
99 | |||
100 | { ACTION_WPS_ID3SCREEN, BUTTON_RIGHT|BUTTON_MENU, BUTTON_NONE }, | ||
101 | { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
102 | |||
103 | LAST_ITEM_IN_LIST | ||
104 | }; /* button_context_wps */ | ||
105 | |||
106 | static const struct button_mapping button_context_list[] = { | ||
107 | { ACTION_LISTTREE_PGUP, BUTTON_RIGHT|BUTTON_UP, BUTTON_RIGHT }, | ||
108 | { ACTION_LISTTREE_PGUP, BUTTON_UP|BUTTON_REL, BUTTON_RIGHT|BUTTON_UP }, | ||
109 | { ACTION_LISTTREE_PGUP, BUTTON_RIGHT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
110 | { ACTION_LISTTREE_PGDOWN, BUTTON_RIGHT|BUTTON_DOWN, BUTTON_RIGHT }, | ||
111 | { ACTION_LISTTREE_PGDOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_RIGHT|BUTTON_DOWN }, | ||
112 | { ACTION_LISTTREE_PGDOWN, BUTTON_RIGHT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
113 | #ifdef HAVE_VOLUME_IN_LIST | ||
114 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
115 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
116 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
117 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
118 | #endif | ||
119 | |||
120 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
121 | }; /* button_context_list */ | ||
122 | |||
123 | static const struct button_mapping button_context_tree[] = { | ||
124 | { ACTION_TREE_WPS, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
125 | { ACTION_TREE_STOP, BUTTON_POWER, BUTTON_NONE }, | ||
126 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
127 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, | ||
128 | |||
129 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) | ||
130 | }; /* button_context_tree */ | ||
131 | |||
132 | static const struct button_mapping button_context_listtree_scroll_with_combo[] = { | ||
133 | { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, | ||
134 | { ACTION_TREE_PGLEFT, BUTTON_RIGHT|BUTTON_REW, BUTTON_RIGHT }, | ||
135 | { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REL, BUTTON_RIGHT|BUTTON_REW }, | ||
136 | { ACTION_TREE_PGLEFT, BUTTON_RIGHT|BUTTON_REW, BUTTON_REW|BUTTON_REL }, | ||
137 | { ACTION_TREE_ROOT_INIT, BUTTON_RIGHT|BUTTON_REW|BUTTON_REPEAT, BUTTON_RIGHT|BUTTON_REW }, | ||
138 | { ACTION_TREE_PGLEFT, BUTTON_RIGHT|BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
139 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_FFWD, BUTTON_RIGHT }, | ||
140 | { ACTION_TREE_PGRIGHT, BUTTON_FFWD|BUTTON_REL, BUTTON_RIGHT|BUTTON_FFWD }, | ||
141 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_FFWD, BUTTON_FFWD|BUTTON_REL }, | ||
142 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
143 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | ||
144 | }; | ||
145 | |||
146 | static const struct button_mapping button_context_listtree_scroll_without_combo[] = { | ||
147 | { ACTION_NONE, BUTTON_REW, BUTTON_NONE }, | ||
148 | { ACTION_STD_CANCEL, BUTTON_REW|BUTTON_REL, BUTTON_REW }, | ||
149 | { ACTION_TREE_ROOT_INIT, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW }, | ||
150 | { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
151 | { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REL, BUTTON_REW|BUTTON_REPEAT }, | ||
152 | { ACTION_NONE, BUTTON_FFWD, BUTTON_NONE }, | ||
153 | { ACTION_STD_OK, BUTTON_FFWD|BUTTON_REL, BUTTON_FFWD }, | ||
154 | { ACTION_TREE_PGRIGHT, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
155 | { ACTION_TREE_PGRIGHT, BUTTON_FFWD|BUTTON_REL, BUTTON_FFWD|BUTTON_REPEAT }, | ||
156 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | ||
157 | }; | ||
158 | |||
159 | static const struct button_mapping button_context_settings[] = { | ||
160 | { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, | ||
161 | { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
162 | { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, | ||
163 | { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
164 | { ACTION_STD_PREV, BUTTON_REW, BUTTON_NONE }, | ||
165 | { ACTION_STD_PREVREPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
166 | { ACTION_STD_NEXT, BUTTON_FFWD, BUTTON_NONE }, | ||
167 | { ACTION_STD_NEXTREPEAT, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
168 | { ACTION_SETTINGS_RESET, BUTTON_RIGHT, BUTTON_NONE }, | ||
169 | |||
170 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
171 | }; /* button_context_settings */ | ||
172 | |||
173 | static const struct button_mapping button_context_settings_right_is_inc[] = { | ||
174 | { ACTION_SETTINGS_INC, BUTTON_FFWD, BUTTON_NONE }, | ||
175 | { ACTION_SETTINGS_INCREPEAT, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
176 | { ACTION_SETTINGS_DEC, BUTTON_REW, BUTTON_NONE }, | ||
177 | { ACTION_SETTINGS_DECREPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
178 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | ||
179 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
180 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
181 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
182 | { ACTION_SETTINGS_RESET, BUTTON_RIGHT, BUTTON_NONE }, | ||
183 | |||
184 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
185 | }; /* button_context_settingsgraphical */ | ||
186 | |||
187 | static const struct button_mapping button_context_yesno[] = { | ||
188 | { ACTION_YESNO_ACCEPT, BUTTON_SELECT, BUTTON_NONE }, | ||
189 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
190 | }; /* button_context_settings_yesno */ | ||
191 | |||
192 | static const struct button_mapping button_context_colorchooser[] = { | ||
193 | { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, | ||
194 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | ||
195 | }; /* button_context_colorchooser */ | ||
196 | |||
197 | static const struct button_mapping button_context_eq[] = { | ||
198 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
199 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | ||
200 | }; /* button_context_eq */ | ||
201 | |||
202 | /** Bookmark Screen **/ | ||
203 | static const struct button_mapping button_context_bmark[] = { | ||
204 | { ACTION_BMS_DELETE, BUTTON_RIGHT, BUTTON_NONE }, | ||
205 | |||
206 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), | ||
207 | }; /* button_context_bmark */ | ||
208 | |||
209 | static const struct button_mapping button_context_time[] = { | ||
210 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | ||
211 | { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, | ||
212 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), | ||
213 | }; /* button_context_time */ | ||
214 | |||
215 | static const struct button_mapping button_context_quickscreen[] = { | ||
216 | { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, | ||
217 | { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
218 | { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
219 | { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
220 | { ACTION_QS_LEFT, BUTTON_REW, BUTTON_NONE }, | ||
221 | { ACTION_QS_LEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
222 | { ACTION_QS_RIGHT, BUTTON_FFWD, BUTTON_NONE }, | ||
223 | { ACTION_QS_RIGHT, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
224 | { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, | ||
225 | |||
226 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
227 | }; /* button_context_quickscreen */ | ||
228 | |||
229 | static const struct button_mapping button_context_pitchscreen[] = { | ||
230 | { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, | ||
231 | { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
232 | { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, | ||
233 | { ACTION_PS_DEC_BIG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
234 | { ACTION_PS_NUDGE_LEFT, BUTTON_REW, BUTTON_NONE }, | ||
235 | { ACTION_PS_NUDGE_LEFTOFF, BUTTON_REW|BUTTON_REL, BUTTON_NONE }, | ||
236 | { ACTION_PS_NUDGE_RIGHT, BUTTON_FFWD, BUTTON_NONE }, | ||
237 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_FFWD|BUTTON_REL, BUTTON_NONE }, | ||
238 | { ACTION_PS_TOGGLE_MODE, BUTTON_MENU, BUTTON_NONE }, | ||
239 | { ACTION_PS_RESET, BUTTON_RIGHT, BUTTON_NONE }, | ||
240 | { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, | ||
241 | |||
242 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
243 | }; /* button_context_pitchcreen */ | ||
244 | |||
245 | static const struct button_mapping button_context_keyboard[] = { | ||
246 | { ACTION_KBD_LEFT, BUTTON_REW, BUTTON_NONE }, | ||
247 | { ACTION_KBD_LEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
248 | { ACTION_KBD_RIGHT, BUTTON_FFWD, BUTTON_NONE }, | ||
249 | { ACTION_KBD_RIGHT, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
250 | { ACTION_KBD_CURSOR_LEFT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE }, | ||
251 | { ACTION_KBD_CURSOR_LEFT, BUTTON_RIGHT|BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
252 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT|BUTTON_FFWD, BUTTON_NONE }, | ||
253 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT|BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
254 | { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, | ||
255 | { ACTION_KBD_PAGE_FLIP, BUTTON_RIGHT|BUTTON_MENU, BUTTON_NONE }, | ||
256 | { ACTION_KBD_DONE, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
257 | { ACTION_KBD_ABORT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
258 | { ACTION_KBD_BACKSPACE, BUTTON_MENU, BUTTON_NONE }, | ||
259 | { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, | ||
260 | { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, | ||
261 | { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
262 | { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
263 | { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
264 | { ACTION_KBD_MORSE_INPUT, BUTTON_RIGHT|BUTTON_POWER, BUTTON_NONE }, | ||
265 | { ACTION_KBD_MORSE_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
266 | |||
267 | LAST_ITEM_IN_LIST | ||
268 | }; /* button_context_keyboard */ | ||
269 | |||
270 | const struct button_mapping* get_context_mapping(int context) | ||
271 | { | ||
272 | switch (context) | ||
273 | { | ||
274 | case CONTEXT_STD: | ||
275 | return button_context_standard; | ||
276 | case CONTEXT_WPS: | ||
277 | return button_context_wps; | ||
278 | |||
279 | case CONTEXT_LIST: | ||
280 | return button_context_list; | ||
281 | case CONTEXT_MAINMENU: | ||
282 | case CONTEXT_TREE: | ||
283 | if (global_settings.hold_lr_for_scroll_in_list) | ||
284 | return button_context_listtree_scroll_without_combo; | ||
285 | else | ||
286 | return button_context_listtree_scroll_with_combo; | ||
287 | case CONTEXT_CUSTOM|CONTEXT_TREE: | ||
288 | return button_context_tree; | ||
289 | |||
290 | case CONTEXT_SETTINGS: | ||
291 | return button_context_settings; | ||
292 | case CONTEXT_CUSTOM|CONTEXT_SETTINGS: | ||
293 | return button_context_settings_right_is_inc; | ||
294 | |||
295 | case CONTEXT_SETTINGS_COLOURCHOOSER: | ||
296 | return button_context_colorchooser; | ||
297 | case CONTEXT_SETTINGS_EQ: | ||
298 | return button_context_eq; | ||
299 | |||
300 | case CONTEXT_SETTINGS_TIME: | ||
301 | return button_context_time; | ||
302 | |||
303 | case CONTEXT_YESNOSCREEN: | ||
304 | return button_context_yesno; | ||
305 | case CONTEXT_BOOKMARKSCREEN: | ||
306 | return button_context_bmark; | ||
307 | case CONTEXT_QUICKSCREEN: | ||
308 | return button_context_quickscreen; | ||
309 | case CONTEXT_PITCHSCREEN: | ||
310 | return button_context_pitchscreen; | ||
311 | case CONTEXT_KEYBOARD: | ||
312 | return button_context_keyboard; | ||
313 | } | ||
314 | return button_context_standard; | ||
315 | } | ||
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 2a087bb5cf..b0795d3e67 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -77,6 +77,9 @@ | |||
77 | # | 77 | # |
78 | # Olympus | 78 | # Olympus |
79 | # m:robe 100 mrobe100 | 79 | # m:robe 100 mrobe100 |
80 | # | ||
81 | # Philips | ||
82 | # GoGear SA9200 sa9200 | ||
80 | 83 | ||
81 | <phrase> | 84 | <phrase> |
82 | id: LANG_SET_BOOL_YES | 85 | id: LANG_SET_BOOL_YES |
@@ -323,13 +326,13 @@ | |||
323 | <source> | 326 | <source> |
324 | *: "PLAY = Yes" | 327 | *: "PLAY = Yes" |
325 | h100,h120,h300: "NAVI = Yes" | 328 | h100,h120,h300: "NAVI = Yes" |
326 | ipod*,x5,m5,gigabeat*,e200,c200,h10,h10_5gb,mrobe100: "SELECT = Yes" | 329 | ipod*,x5,m5,gigabeat*,e200,c200,h10,h10_5gb,mrobe100,sa9200: "SELECT = Yes" |
327 | player: "(PLAY/STOP)" | 330 | player: "(PLAY/STOP)" |
328 | </source> | 331 | </source> |
329 | <dest> | 332 | <dest> |
330 | *: "PLAY = Yes" | 333 | *: "PLAY = Yes" |
331 | h100,h120,h300: "NAVI = Yes" | 334 | h100,h120,h300: "NAVI = Yes" |
332 | ipod*,x5,m5,gigabeat*,e200,c200,h10,h10_5gb,mrobe100: "SELECT = Yes" | 335 | ipod*,x5,m5,gigabeat*,e200,c200,h10,h10_5gb,mrobe100,sa9200: "SELECT = Yes" |
333 | player: "(PLAY/STOP)" | 336 | player: "(PLAY/STOP)" |
334 | </dest> | 337 | </dest> |
335 | <voice> | 338 | <voice> |
@@ -2425,14 +2428,14 @@ | |||
2425 | h100,h120,h300: "Building database... %d found (STOP to return)" | 2428 | h100,h120,h300: "Building database... %d found (STOP to return)" |
2426 | ipod*: "Building database... %d found (PREV to return)" | 2429 | ipod*: "Building database... %d found (PREV to return)" |
2427 | x5,m5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)" | 2430 | x5,m5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)" |
2428 | h10,h10_5gb,e200,c200: "Building database... %d found (PREV to return)" | 2431 | h10,h10_5gb,e200,c200,sa9200: "Building database... %d found (PREV to return)" |
2429 | </source> | 2432 | </source> |
2430 | <dest> | 2433 | <dest> |
2431 | *: "Building database... %d found (OFF to return)" | 2434 | *: "Building database... %d found (OFF to return)" |
2432 | h100,h120,h300: "Building database... %d found (STOP to return)" | 2435 | h100,h120,h300: "Building database... %d found (STOP to return)" |
2433 | ipod*: "Building database... %d found (PREV to return)" | 2436 | ipod*: "Building database... %d found (PREV to return)" |
2434 | x5,m5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)" | 2437 | x5,m5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)" |
2435 | h10,h10_5gb,e200,c200: "Building database... %d found (PREV to return)" | 2438 | h10,h10_5gb,e200,c200,sa9200: "Building database... %d found (PREV to return)" |
2436 | </dest> | 2439 | </dest> |
2437 | <voice> | 2440 | <voice> |
2438 | *: "entries found for database" | 2441 | *: "entries found for database" |
@@ -3891,17 +3894,17 @@ | |||
3891 | <source> | 3894 | <source> |
3892 | *: none | 3895 | *: none |
3893 | e200: "Wheel Light Timeout" | 3896 | e200: "Wheel Light Timeout" |
3894 | c200,gigabeatf,mrobe100: "Button Light Timeout" | 3897 | c200,gigabeatf,mrobe100,sa9200: "Button Light Timeout" |
3895 | </source> | 3898 | </source> |
3896 | <dest> | 3899 | <dest> |
3897 | *: none | 3900 | *: none |
3898 | e200: "Wheel Light Timeout" | 3901 | e200: "Wheel Light Timeout" |
3899 | c200,gigabeatf,mrobe100: "Button Light Timeout" | 3902 | c200,gigabeatf,mrobe100,sa9200: "Button Light Timeout" |
3900 | </dest> | 3903 | </dest> |
3901 | <voice> | 3904 | <voice> |
3902 | *: none | 3905 | *: none |
3903 | e200: "Wheel Light Timeout" | 3906 | e200: "Wheel Light Timeout" |
3904 | c200,gigabeatf,mrobe100: "Button Light Timeout" | 3907 | c200,gigabeatf,mrobe100,sa9200: "Button Light Timeout" |
3905 | </voice> | 3908 | </voice> |
3906 | </phrase> | 3909 | </phrase> |
3907 | <phrase> | 3910 | <phrase> |
@@ -4183,17 +4186,17 @@ | |||
4183 | *: none | 4186 | *: none |
4184 | rtc: "ON = Set" | 4187 | rtc: "ON = Set" |
4185 | h100,h120,h300: "NAVI = Set" | 4188 | h100,h120,h300: "NAVI = Set" |
4186 | ipod*,x5,m5,h10,h10_5gb,e200,c200,gigabeat*,mrobe100: "SELECT = Set" | 4189 | ipod*,x5,m5,h10,h10_5gb,e200,c200,gigabeat*,mrobe100,sa9200: "SELECT = Set" |
4187 | </source> | 4190 | </source> |
4188 | <dest> | 4191 | <dest> |
4189 | *: none | 4192 | *: none |
4190 | rtc: "ON = Set" | 4193 | rtc: "ON = Set" |
4191 | h100,h120,h300: "NAVI = Set" | 4194 | h100,h120,h300: "NAVI = Set" |
4192 | ipod*,x5,m5,h10,h10_5gb,e200,c200,gigabeat*,mrobe100: "SELECT = Set" | 4195 | ipod*,x5,m5,h10,h10_5gb,e200,c200,gigabeat*,mrobe100,sa9200: "SELECT = Set" |
4193 | </dest> | 4196 | </dest> |
4194 | <voice> | 4197 | <voice> |
4195 | *: none | 4198 | *: none |
4196 | rtc,h100,h120,h300,h10,h10_5gb,x5,m5,ipod*,e200,c200,gigabeat*,mrobe100: "" | 4199 | rtc,h100,h120,h300,h10,h10_5gb,x5,m5,ipod*,e200,c200,gigabeat*,mrobe100,sa9200: "" |
4197 | </voice> | 4200 | </voice> |
4198 | </phrase> | 4201 | </phrase> |
4199 | <phrase> | 4202 | <phrase> |
@@ -4204,7 +4207,7 @@ | |||
4204 | *: none | 4207 | *: none |
4205 | rtc: "OFF = Revert" | 4208 | rtc: "OFF = Revert" |
4206 | h100,h120,h300: "STOP = Revert" | 4209 | h100,h120,h300: "STOP = Revert" |
4207 | ipod*,e200,c200: "MENU = Revert" | 4210 | ipod*,e200,c200,sa9200: "MENU = Revert" |
4208 | x5,m5: "RECORD = Revert" | 4211 | x5,m5: "RECORD = Revert" |
4209 | h10,h10_5gb: "PREV = Revert" | 4212 | h10,h10_5gb: "PREV = Revert" |
4210 | gigabeatf: "A = Revert" | 4213 | gigabeatf: "A = Revert" |
@@ -4215,7 +4218,7 @@ | |||
4215 | *: none | 4218 | *: none |
4216 | rtc: "OFF = Revert" | 4219 | rtc: "OFF = Revert" |
4217 | h100,h120,h300: "STOP = Revert" | 4220 | h100,h120,h300: "STOP = Revert" |
4218 | ipod*,e200,c200: "MENU = Revert" | 4221 | ipod*,e200,c200,sa9200: "MENU = Revert" |
4219 | x5,m5: "RECORD = Revert" | 4222 | x5,m5: "RECORD = Revert" |
4220 | h10,h10_5gb: "PREV = Revert" | 4223 | h10,h10_5gb: "PREV = Revert" |
4221 | gigabeatf: "A = Revert" | 4224 | gigabeatf: "A = Revert" |
@@ -4224,7 +4227,7 @@ | |||
4224 | </dest> | 4227 | </dest> |
4225 | <voice> | 4228 | <voice> |
4226 | *: none | 4229 | *: none |
4227 | rtc,h100,h120,h300,ipod*,e200,c200,x5,m5,h10,h10_gb,gigabeat*,mrobe100: "" | 4230 | rtc,h100,h120,h300,ipod*,e200,c200,x5,m5,h10,h10_gb,gigabeat*,mrobe100,sa9200: "" |
4228 | </voice> | 4231 | </voice> |
4229 | </phrase> | 4232 | </phrase> |
4230 | <phrase> | 4233 | <phrase> |
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index a63ffb352a..6a008303da 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c | |||
@@ -84,7 +84,8 @@ const struct button_mapping generic_directions[] = | |||
84 | || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ | 84 | || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ |
85 | || (CONFIG_KEYPAD == SANSA_C200_PAD) \ | 85 | || (CONFIG_KEYPAD == SANSA_C200_PAD) \ |
86 | || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ | 86 | || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ |
87 | || (CONFIG_KEYPAD == MROBE100_PAD) | 87 | || (CONFIG_KEYPAD == MROBE100_PAD) \ |
88 | || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) | ||
88 | { PLA_UP, BUTTON_UP, BUTTON_NONE}, | 89 | { PLA_UP, BUTTON_UP, BUTTON_NONE}, |
89 | { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, | 90 | { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, |
90 | { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, | 91 | { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, |
@@ -173,7 +174,8 @@ const struct button_mapping generic_left_right_fire[] = | |||
173 | || (CONFIG_KEYPAD == GIGABEAT_PAD) \ | 174 | || (CONFIG_KEYPAD == GIGABEAT_PAD) \ |
174 | || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ | 175 | || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ |
175 | || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ | 176 | || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ |
176 | || (CONFIG_KEYPAD == MROBE100_PAD) | 177 | || (CONFIG_KEYPAD == MROBE100_PAD) \ |
178 | || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) | ||
177 | { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, | 179 | { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, |
178 | { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, | 180 | { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, |
179 | { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, | 181 | { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, |
@@ -381,6 +383,12 @@ const struct button_mapping generic_actions[] = | |||
381 | {PLA_MENU, BUTTON_RC_MENU, BUTTON_NONE}, | 383 | {PLA_MENU, BUTTON_RC_MENU, BUTTON_NONE}, |
382 | {PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE}, | 384 | {PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE}, |
383 | {PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, | 385 | {PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, |
386 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD | ||
387 | {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, | ||
388 | {PLA_START, BUTTON_RIGHT, BUTTON_NONE}, | ||
389 | {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, | ||
390 | {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, | ||
391 | {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, | ||
384 | #else | 392 | #else |
385 | #error pluginlib_actions: Unsupported keypad | 393 | #error pluginlib_actions: Unsupported keypad |
386 | #endif | 394 | #endif |
@@ -404,7 +412,8 @@ const struct button_mapping generic_increase_decrease[] = | |||
404 | || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ | 412 | || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \ |
405 | || (CONFIG_KEYPAD == ONDIO_PAD) \ | 413 | || (CONFIG_KEYPAD == ONDIO_PAD) \ |
406 | || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ | 414 | || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \ |
407 | || (CONFIG_KEYPAD == MROBE100_PAD) | 415 | || (CONFIG_KEYPAD == MROBE100_PAD) \ |
416 | || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) | ||
408 | {PLA_INC, BUTTON_UP, BUTTON_NONE}, | 417 | {PLA_INC, BUTTON_UP, BUTTON_NONE}, |
409 | {PLA_DEC, BUTTON_DOWN, BUTTON_NONE}, | 418 | {PLA_DEC, BUTTON_DOWN, BUTTON_NONE}, |
410 | {PLA_INC_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, | 419 | {PLA_INC_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, |