summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/pluginlib_actions.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-05-20 17:41:28 +0000
committerThomas Martitz <kugel@rockbox.org>2010-05-20 17:41:28 +0000
commit20e9d56ba5507021bdde898f4b0a0eb14f2af861 (patch)
tree20a1ff36d0cc0f530bc7c7648b1bca2f9127a5c8 /apps/plugins/lib/pluginlib_actions.c
parent97365803d390e44155fc41657bd03a7b121956aa (diff)
downloadrockbox-20e9d56ba5507021bdde898f4b0a0eb14f2af861.tar.gz
rockbox-20e9d56ba5507021bdde898f4b0a0eb14f2af861.zip
S#10387 - Rework pluginlib actions
It changes pluginlib actions to contain only a single and simple context (and other one for remote directional buttons), consisting of 7(9) buttons: up/down/left/right, select OR short select and long select, exit and cancel (plus 2 for scrollwheel targets). This ensures contexts don't clash with other contexts and simplifies them, at the expense of reduced versatility. However, the versatility made it largely unusable due to the great number of targets. This should allow for using pluginlib actions safely for the most simple plugins (e.g. almost all demos). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26202 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib/pluginlib_actions.c')
-rw-r--r--apps/plugins/lib/pluginlib_actions.c749
1 files changed, 227 insertions, 522 deletions
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 29c9430f64..b68c390aae 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -25,7 +25,8 @@
25#include "pluginlib_actions.h" 25#include "pluginlib_actions.h"
26 26
27#if defined(HAVE_REMOTE_LCD) 27#if defined(HAVE_REMOTE_LCD)
28const struct button_mapping remote_directions[] = 28/* remote directions */
29const struct button_mapping pla_remote_ctx[] =
29{ 30{
30#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 31#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
31 (CONFIG_KEYPAD == IRIVER_H300_PAD) 32 (CONFIG_KEYPAD == IRIVER_H300_PAD)
@@ -68,35 +69,34 @@ const struct button_mapping remote_directions[] =
68 { PLA_DOWN_REPEAT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE}, 69 { PLA_DOWN_REPEAT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE},
69 { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE}, 70 { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
70 { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE}, 71 { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
71#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD)
72 { PLA_UP, BUTTON_UP, BUTTON_NONE},
73 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE},
74 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
75 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
76 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE},
77 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REW, BUTTON_NONE},
78 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE},
79 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE},
80#else 72#else
81 #error pluginlib_actions: Unsupported remote keypad 73 #error pluginlib_actions: No remote directions
82#endif 74#endif
83 {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} 75 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_PLUGIN),
84}; 76};
85#endif /* HAVE_REMOTE_LCD */ 77#endif /* HAVE_REMOTE_LCD */
86 78
87const struct button_mapping generic_directions[] = 79/* these were taken from the bubbles plugin, so may need tweaking */
80const struct button_mapping pla_main_ctx[] =
88{ 81{
82 /* Touchscreens */
89#ifdef HAVE_TOUCHSCREEN 83#ifdef HAVE_TOUCHSCREEN
90 { PLA_UP, BUTTON_TOPMIDDLE, BUTTON_NONE}, 84 { PLA_CANCEL, BUTTON_BOTTOMRIGHT, BUTTON_NONE},
91 { PLA_DOWN, BUTTON_BOTTOMMIDDLE, BUTTON_NONE}, 85 { PLA_SELECT, BUTTON_CENTER, BUTTON_NONE},
92 { PLA_LEFT, BUTTON_MIDLEFT, BUTTON_NONE}, 86 { PLA_SELECT_REL, BUTTON_CENTER|BUTTON_REL, BUTTON_NONE},
93 { PLA_RIGHT, BUTTON_MIDRIGHT, BUTTON_NONE}, 87 { PLA_SELECT_REPEAT, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_NONE},
94 { PLA_UP_REPEAT, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, 88 { PLA_UP, BUTTON_TOPMIDDLE, BUTTON_NONE},
95 { PLA_DOWN_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE}, 89 { PLA_DOWN, BUTTON_BOTTOMMIDDLE, BUTTON_NONE},
96 { PLA_LEFT_REPEAT, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_NONE}, 90 { PLA_LEFT, BUTTON_MIDLEFT, BUTTON_NONE},
97 { PLA_RIGHT_REPEAT, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_NONE}, 91 { PLA_RIGHT, BUTTON_MIDRIGHT, BUTTON_NONE},
92 { PLA_UP_REPEAT, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE},
93 { PLA_DOWN_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE},
94 { PLA_LEFT_REPEAT, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_NONE},
95 { PLA_RIGHT_REPEAT, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_NONE},
98#endif 96#endif
99#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \ 97
98 /* Directions */
99#if ((CONFIG_KEYPAD == IRIVER_H100_PAD) \
100 || (CONFIG_KEYPAD == IRIVER_H300_PAD) \ 100 || (CONFIG_KEYPAD == IRIVER_H300_PAD) \
101 || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ 101 || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \
102 || (CONFIG_KEYPAD == GIGABEAT_PAD) \ 102 || (CONFIG_KEYPAD == GIGABEAT_PAD) \
@@ -110,86 +110,67 @@ const struct button_mapping generic_directions[] =
110 || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \ 110 || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \
111 || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \ 111 || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \
112 || (CONFIG_KEYPAD == CREATIVEZVM_PAD) \ 112 || (CONFIG_KEYPAD == CREATIVEZVM_PAD) \
113 || (CONFIG_KEYPAD == SANSA_M200_PAD) 113 || (CONFIG_KEYPAD == SANSA_M200_PAD)\
114 { PLA_UP, BUTTON_UP, BUTTON_NONE}, 114 || (CONFIG_KEYPAD == SANSA_E200_PAD) \
115 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, 115 || (CONFIG_KEYPAD == SANSA_FUZE_PAD) \
116 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 116 || (CONFIG_KEYPAD == SAMSUNG_YH_PAD))
117 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, 117 { PLA_UP, BUTTON_UP, BUTTON_NONE },
118 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, 118 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE },
119 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE}, 119 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
120 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, 120 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
121 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, 121 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
122 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
123 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
124 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
125 /* now the bad ones that don't have standard names for the directional
126 * buttons */
122#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 127#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \
123 || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 128 || (CONFIG_KEYPAD == IPOD_3G_PAD) \
124 || (CONFIG_KEYPAD == IPOD_4G_PAD) \ 129 || (CONFIG_KEYPAD == IPOD_4G_PAD)
125 || (CONFIG_KEYPAD == SANSA_E200_PAD) \ 130 { PLA_UP, BUTTON_MENU, BUTTON_NONE },
126 || (CONFIG_KEYPAD == SANSA_FUZE_PAD) 131 ( PLA_DOWN, BUTTON_PLAY, BUTTON_NONE },
127 { PLA_UP, BUTTON_SCROLL_BACK, BUTTON_NONE}, 132 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
128 { PLA_DOWN, BUTTON_SCROLL_FWD, BUTTON_NONE}, 133 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
129 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 134 { PLA_UP_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE },
130 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, 135 { PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
131 { PLA_UP_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE}, 136 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
132 { PLA_DOWN_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE}, 137 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
133 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, 138#elif (CONFIG_KEYPAD == PLAYER_PAD)
134 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, 139 { PLA_UP, BUTTON_PLAY, BUTTON_NONE },
135#elif CONFIG_KEYPAD == PLAYER_PAD 140 { PLA_DOWN, BUTTON_STOP, BUTTON_NONE },
136 {PLA_UP, BUTTON_STOP, BUTTON_NONE}, 141 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
137 {PLA_DOWN, BUTTON_PLAY, BUTTON_NONE}, 142 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
138 {PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 143 { PLA_UP_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
139 {PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, 144 { PLA_DOWN_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE },
140 {PLA_UP_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE}, 145 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
141 {PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, 146 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
142 {PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
143 {PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
144#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 147#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
145 { PLA_UP, BUTTON_SCROLL_UP, BUTTON_NONE}, 148 { PLA_UP, BUTTON_SCROLL_UP, BUTTON_NONE },
146 { PLA_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE}, 149 { PLA_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE },
147 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 150 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
148 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, 151 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
149 { PLA_UP_REPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE}, 152 { PLA_UP_REPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
150 { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, 153 { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
151 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, 154 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
152 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, 155 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
153#elif (CONFIG_KEYPAD == MROBE500_PAD)
154#elif (CONFIG_KEYPAD == COWON_D2_PAD)
155#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
156 { PLA_UP, BUTTON_RC_VOL_UP, BUTTON_NONE},
157 { PLA_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
158 { PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE},
159 { PLA_RIGHT, BUTTON_RC_FF, BUTTON_NONE},
160 { PLA_UP_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
161 { PLA_DOWN_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
162 { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
163 { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
164#elif (CONFIG_KEYPAD == IAUDIO67_PAD)
165 { PLA_UP, BUTTON_STOP, BUTTON_NONE},
166 { PLA_DOWN, BUTTON_PLAY, BUTTON_NONE},
167 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
168 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
169 { PLA_UP_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE},
170 { PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
171 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
172 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
173#elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) 156#elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD)
174 { PLA_UP, BUTTON_UP, BUTTON_NONE}, 157 { PLA_UP, BUTTON_UP, BUTTON_NONE },
175 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, 158 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE },
176 { PLA_LEFT, BUTTON_PREV, BUTTON_NONE}, 159 { PLA_LEFT, BUTTON_PREV, BUTTON_NONE },
177 { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE}, 160 { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE },
178 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, 161 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
179 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE}, 162 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
180 { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE}, 163 { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
181 { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE}, 164 { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
182#elif (CONFIG_KEYPAD == ONDAVX747_PAD) /* Touchscreen target */ 165#elif (CONFIG_KEYPAD == IAUDIO67_PAD)
183#elif (CONFIG_KEYPAD == ONDAVX777_PAD) /* Touchscreen target */ 166 { PLA_UP, BUTTON_STOP, BUTTON_NONE },
184#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) 167 { PLA_DOWN, BUTTON_PLAY, BUTTON_NONE },
185 { PLA_UP, BUTTON_UP, BUTTON_NONE}, 168 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
186 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, 169 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
187 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, 170 { PLA_UP_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE },
188 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, 171 { PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
189 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, 172 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
190 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REW, BUTTON_NONE}, 173 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
191 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE},
192 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE},
193#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD) 174#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
194 { PLA_UP, BUTTON_UP, BUTTON_NONE}, 175 { PLA_UP, BUTTON_UP, BUTTON_NONE},
195 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, 176 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE},
@@ -210,448 +191,172 @@ const struct button_mapping generic_directions[] =
210 { PLA_RIGHT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, 191 { PLA_RIGHT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
211 192
212#else 193#else
213 #error pluginlib_actions: Unsupported keypad 194#ifndef HAVE_TOUCHSCREEN
195 #error pluginlib_actions: No directions defined
214#endif 196#endif
215 {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE}
216};
217
218const struct button_mapping generic_left_right_fire[] =
219{
220#ifdef HAVE_TOUCHSCREEN
221 { PLA_LEFT, BUTTON_MIDLEFT, BUTTON_NONE},
222 { PLA_LEFT_REPEAT, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_NONE},
223 { PLA_RIGHT, BUTTON_MIDRIGHT, BUTTON_NONE},
224 { PLA_RIGHT_REPEAT, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_NONE},
225 { PLA_FIRE, BUTTON_CENTER, BUTTON_NONE},
226 { PLA_FIRE_REPEAT, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_NONE},
227#endif 197#endif
228#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \
229 || (CONFIG_KEYPAD == IRIVER_H300_PAD) \
230 || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \
231 || (CONFIG_KEYPAD == GIGABEAT_PAD) \
232 || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \
233 || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \
234 || (CONFIG_KEYPAD == MROBE100_PAD) \
235 || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \
236 || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \
237 || (CONFIG_KEYPAD == SANSA_M200_PAD)
238 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
239 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
240 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
241 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
242 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
243 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
244#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \
245 || (CONFIG_KEYPAD == IPOD_3G_PAD) \
246 || (CONFIG_KEYPAD == IPOD_4G_PAD)
247 { PLA_LEFT, BUTTON_SCROLL_BACK, BUTTON_NONE},
248 { PLA_RIGHT, BUTTON_SCROLL_FWD, BUTTON_NONE},
249 { PLA_LEFT_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE},
250 { PLA_RIGHT_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE},
251 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
252 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
253#elif CONFIG_KEYPAD == ONDIO_PAD
254 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
255 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
256 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
257 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
258 { PLA_FIRE, BUTTON_UP, BUTTON_NONE},
259 { PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
260#elif CONFIG_KEYPAD == PLAYER_PAD
261 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
262 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
263 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
264 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
265 { PLA_FIRE, BUTTON_ON, BUTTON_NONE},
266 { PLA_FIRE_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE},
267#elif CONFIG_KEYPAD == RECORDER_PAD
268 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
269 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
270 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
271 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
272 { PLA_FIRE, BUTTON_PLAY, BUTTON_NONE},
273 { PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
274#elif (CONFIG_KEYPAD == SANSA_C200_PAD) \
275 || (CONFIG_KEYPAD == ARCHOS_AV300_PAD)
276 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
277 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
278 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
279 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
280 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
281 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
282#elif (CONFIG_KEYPAD == SANSA_E200_PAD) \
283 || (CONFIG_KEYPAD == SANSA_FUZE_PAD)
284 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
285 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
286 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
287 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
288 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
289 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
290#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
291 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
292 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
293 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
294 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
295 { PLA_FIRE, BUTTON_REW, BUTTON_NONE},
296 { PLA_FIRE_REPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE},
297#elif (CONFIG_KEYPAD == MROBE500_PAD)
298 { PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE},
299 { PLA_RIGHT, BUTTON_RC_FF, BUTTON_NONE},
300 { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
301 { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
302 { PLA_FIRE, BUTTON_RC_HEART, BUTTON_NONE},
303 { PLA_FIRE_REPEAT, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_NONE},
304#elif (CONFIG_KEYPAD == COWON_D2_PAD)
305 { PLA_LEFT, BUTTON_MINUS, BUTTON_NONE},
306 { PLA_LEFT_REPEAT, BUTTON_MINUS|BUTTON_REPEAT, BUTTON_NONE},
307 { PLA_RIGHT, BUTTON_PLUS, BUTTON_NONE},
308 { PLA_RIGHT_REPEAT, BUTTON_PLUS|BUTTON_REPEAT, BUTTON_NONE},
309 { PLA_FIRE, BUTTON_MENU, BUTTON_NONE},
310 { PLA_FIRE_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE},
311#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
312 { PLA_LEFT, BUTTON_RC_REW, BUTTON_NONE},
313 { PLA_RIGHT, BUTTON_RC_FF, BUTTON_NONE},
314 { PLA_LEFT_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
315 { PLA_RIGHT_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
316 { PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE},
317 { PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE},
318#elif (CONFIG_KEYPAD == IAUDIO67_PAD)
319 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
320 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
321 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
322 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
323 { PLA_FIRE, BUTTON_MENU, BUTTON_NONE},
324 { PLA_FIRE_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE},
325#elif (CONFIG_KEYPAD == CREATIVEZVM_PAD)
326 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
327 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
328 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
329 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
330 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
331 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
332#elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD)
333 { PLA_LEFT, BUTTON_PREV, BUTTON_NONE},
334 { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE},
335 { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE},
336 { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE},
337 { PLA_FIRE, BUTTON_PLAY, BUTTON_NONE},
338 { PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
339#elif (CONFIG_KEYPAD == ONDAVX747_PAD) /* Touchscreen target */
340#elif (CONFIG_KEYPAD == ONDAVX777_PAD) /* Touchscreen target */
341#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD)
342 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
343 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
344 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE},
345 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REW, BUTTON_NONE},
346 { PLA_FIRE, BUTTON_UP, BUTTON_NONE},
347 { PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE},
348#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
349 { PLA_LEFT, BUTTON_PREV, BUTTON_NONE},
350 { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE},
351 { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE},
352 { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE},
353 { PLA_FIRE, BUTTON_OK, BUTTON_NONE},
354 { PLA_FIRE_REPEAT, BUTTON_OK|BUTTON_REPEAT, BUTTON_NONE},
355#elif (CONFIG_KEYPAD == MPIO_HD200_PAD)
356 { PLA_LEFT, BUTTON_VOL_DOWN, BUTTON_NONE},
357 { PLA_RIGHT, BUTTON_VOL_UP, BUTTON_NONE},
358 { PLA_LEFT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
359 { PLA_RIGHT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
360 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
361 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
362 198
363 199 /* Scrollwheels */
364#else 200#ifdef HAVE_SCROLLWHEEL
365 #error pluginlib_actions: Unsupported keypad 201 { PLA_SCROLL_BACK, BUTTON_SCROLL_BACK, BUTTON_NONE },
202 { PLA_SCROLL_FWD, BUTTON_SCROLL_FWD, BUTTON_NONE },
203 { PLA_SCROLL_BACK_REPEAT,BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE },
204 { PLA_SCROLL_FWD_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE },
366#endif 205#endif
367 {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE}
368};
369 206
370/* these were taken from the bubbles plugin, so may need tweaking */ 207 /* Actions */
371const struct button_mapping generic_actions[] =
372{
373#ifdef HAVE_TOUCHSCREEN
374 {PLA_QUIT, BUTTON_BOTTOMRIGHT, BUTTON_NONE},
375 {PLA_START, BUTTON_CENTER, BUTTON_NONE},
376 {PLA_MENU, BUTTON_TOPLEFT, BUTTON_NONE},
377 {PLA_FIRE, BUTTON_BOTTOMMIDDLE, BUTTON_NONE},
378 {PLA_FIRE_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE},
379#endif
380#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) 208#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
381 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, 209 {PLA_CANCEL, BUTTON_OFF, BUTTON_NONE },
382 {PLA_QUIT, BUTTON_RC_STOP, BUTTON_NONE}, 210 {PLA_CANCEL, BUTTON_RC_STOP, BUTTON_NONE },
383 {PLA_START, BUTTON_ON, BUTTON_NONE}, 211 {PLA_EXIT, BUTTON_ON, BUTTON_NONE },
384 {PLA_START, BUTTON_RC_ON, BUTTON_NONE}, 212 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE },
385 {PLA_MENU, BUTTON_MODE, BUTTON_NONE}, 213 {PLA_SELECT, BUTTON_RC_ON, BUTTON_NONE },
386 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 214 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
387 {PLA_FIRE, BUTTON_RC_MENU, BUTTON_NONE}, 215 {PLA_SELECT_REL, BUTTON_RC_ON|BUTTON_REL, BUTTON_RC_ON },
388 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 216 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE },
389 {PLA_FIRE_REPEAT, BUTTON_RC_MENU|BUTTON_REPEAT, BUTTON_NONE}, 217 {PLA_SELECT_REPEAT, BUTTON_RC_ON|BUTTON_REPEAT, BUTTON_NONE },
390#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \ 218#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \
391 || (CONFIG_KEYPAD == IPOD_3G_PAD) \ 219 || (CONFIG_KEYPAD == IPOD_3G_PAD) \
392 || (CONFIG_KEYPAD == IPOD_4G_PAD) 220 || (CONFIG_KEYPAD == IPOD_4G_PAD)
393 {PLA_QUIT, BUTTON_MENU|BUTTON_SELECT, BUTTON_NONE}, 221 {PLA_CANCEL, BUTTON_MENU|BUTTON_SELECT, BUTTON_NONE },
394 {PLA_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, 222 {PLA_EXIT, BUTTON_PLAY|BUTTON_SELECT, BUTTON_NONE },
395 {PLA_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_NONE}, 223 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE },
396 {PLA_FIRE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, 224 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
397 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 225 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE },
398#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 226#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
399 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 227 {PLA_CANCEL, BUTTON_POWER, BUTTON_NONE },
400 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 228 {PLA_EXIT, BUTTON_PLAY|BUTTON_SELECT, BUTTON_NONE },
401 {PLA_START, BUTTON_RC_PLAY, BUTTON_NONE}, 229 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE },
402 {PLA_MENU, BUTTON_REC, BUTTON_NONE}, 230 {PLA_SELECT, BUTTON_RC_MODE, BUTTON_NONE },
403 {PLA_MENU, BUTTON_RC_MENU, BUTTON_NONE}, 231 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
404 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 232 {PLA_SELECT_REL, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE },
405 {PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE}, 233 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE },
406 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 234 {PLA_SELECT_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE },
407 {PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, 235#elif (CONFIG_KEYPAD == GIGABEAT_PAD \
408#elif CONFIG_KEYPAD == GIGABEAT_PAD 236 || CONFIG_KEYPAD == SANSA_E200_PAD \
409 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 237 || CONFIG_KEYPAD == SANSA_C200_PAD \
410 {PLA_START, BUTTON_A, BUTTON_NONE}, 238 || CONFIG_KEYPAD == SANSA_CLIP_PAD \
411 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 239 || CONFIG_KEYPAD == SANSA_M200_PAD \
412 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 240 || CONFIG_KEYPAD == MROBE100_PAD \
413 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 241 || CONFIG_KEYPAD == PHILIPS_SA9200_PAD \
414#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 242 || CONFIG_KEYPAD == PHILIPS_HDD1630_PAD)
415 {PLA_QUIT, BUTTON_BACK, BUTTON_NONE}, 243 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
416 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 244 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
417 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 245 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
418 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 246 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
419 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 247 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
420#elif CONFIG_KEYPAD == RECORDER_PAD 248#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
421 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, 249 {PLA_CANCEL, BUTTON_BACK, BUTTON_NONE},
422 {PLA_START, BUTTON_ON, BUTTON_NONE}, 250 {PLA_EXIT, BUTTON_MENU, BUTTON_NONE},
423 {PLA_MENU, BUTTON_F1, BUTTON_NONE}, 251 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
424 {PLA_FIRE, BUTTON_PLAY, BUTTON_NONE}, 252 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
425 {PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, 253 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
426#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD 254#elif (CONFIG_KEYPAD == RECORDER_PAD)
427 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, 255 {PLA_CANCEL, BUTTON_ON, BUTTON_NONE},
428 {PLA_START, BUTTON_ON, BUTTON_NONE}, 256 {PLA_EXIT, BUTTON_OFF, BUTTON_NONE},
429 {PLA_MENU, BUTTON_F1, BUTTON_NONE}, 257 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
430 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 258 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
431 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 259 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
432#elif CONFIG_KEYPAD == ONDIO_PAD 260#elif (CONFIG_KEYPAD == ARCHOS_AV300_PAD)
433 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE}, 261 {PLA_CANCEL, BUTTON_OFF|BUTTON_REL, BUTTON_OFF},
434 {PLA_START, BUTTON_MENU, BUTTON_NONE}, 262 {PLA_EXIT, BUTTON_OFF|BUTTON_REPEAT, BUTTON_NONE},
435 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, 263 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
436 {PLA_FIRE, BUTTON_UP, BUTTON_NONE}, 264 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
437 {PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE}, 265 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
438#elif CONFIG_KEYPAD == PLAYER_PAD 266#elif (CONFIG_KEYPAD == ONDIO_PAD)
439 {PLA_QUIT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE}, 267 {PLA_CANCEL, BUTTON_OFF|BUTTON_REL, BUTTON_OFF},
440 {PLA_START, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, 268 {PLA_EXIT, BUTTON_OFF|BUTTON_REPEAT, BUTTON_NONE},
441 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 269 {PLA_SELECT, BUTTON_MENU, BUTTON_NONE},
442 {PLA_FIRE, BUTTON_ON, BUTTON_NONE}, 270 {PLA_SELECT_REL, BUTTON_MENU|BUTTON_REL, BUTTON_MENU},
443 {PLA_FIRE_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE}, 271 {PLA_SELECT_REPEAT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE},
444#elif CONFIG_KEYPAD == SANSA_E200_PAD || \ 272#elif (CONFIG_KEYPAD == PLAYER_PAD)
445 CONFIG_KEYPAD == SANSA_C200_PAD || \ 273 {PLA_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_MENU},
446 CONFIG_KEYPAD == SANSA_CLIP_PAD || \ 274 {PLA_EXIT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE},
447 CONFIG_KEYPAD == SANSA_M200_PAD 275 {PLA_SELECT, BUTTON_ON, BUTTON_NONE},
448 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 276 {PLA_SELECT_REL, BUTTON_ON|BUTTON_REL, BUTTON_ON},
449 {PLA_START, BUTTON_UP, BUTTON_NONE}, 277 {PLA_SELECT_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE},
450 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, 278#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
451 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 279 {PLA_CANCEL, BUTTON_HOME|BUTTON_REL, BUTTON_HOME},
452 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 280 {PLA_EXIT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE},
453#elif CONFIG_KEYPAD == SANSA_FUZE_PAD 281 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
454 {PLA_QUIT, (BUTTON_HOME|BUTTON_REPEAT), BUTTON_NONE}, 282 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
455 {PLA_START, BUTTON_UP, BUTTON_NONE}, 283 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
456 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, 284#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
457 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 285 {PLA_CANCEL, BUTTON_PREV, BUTTON_NONE},
458 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 286 {PLA_EXIT, BUTTON_POWER, BUTTON_NONE},
459#elif CONFIG_KEYPAD == IRIVER_H10_PAD 287 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
460 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 288 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
461 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 289 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
462 {PLA_MENU, BUTTON_FF, BUTTON_NONE}, 290#elif (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
463 {PLA_FIRE, BUTTON_REW, BUTTON_NONE}, 291 {PLA_CANCEL, BUTTON_EQ|BUTOTN_REL, BUTTON_EQ},
464 {PLA_FIRE_REPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE}, 292 {PLA_EXIT, BUTTON_EQ|BUTTON_REPEAT, BUTTON_NONE},
465#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 293 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
466 {PLA_QUIT, BUTTON_EQ, BUTTON_NONE}, 294 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
467 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 295 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
468 {PLA_MENU, BUTTON_MODE, BUTTON_NONE},
469 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
470 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
471#elif (CONFIG_KEYPAD == MROBE500_PAD) 296#elif (CONFIG_KEYPAD == MROBE500_PAD)
472 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 297 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
473 {PLA_START, BUTTON_RC_PLAY, BUTTON_NONE}, 298 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
474 {PLA_MENU, BUTTON_RC_MODE, BUTTON_NONE}, 299 {PLA_SELECT, BUTTON_RC_HEART, BUTTON_NONE},
475 {PLA_FIRE, BUTTON_RC_HEART, BUTTON_NONE}, 300 {PLA_SELECT_REL, BUTTON_RC_HEART|BUTTON_REL, BUTTON_RC_HEART},
476 {PLA_FIRE_REPEAT, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_NONE}, 301 {PLA_SELECT_REPEAT, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_NONE},
477#elif CONFIG_KEYPAD == MROBE100_PAD
478 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
479 {PLA_START, BUTTON_PLAY, BUTTON_NONE},
480 {PLA_MENU, BUTTON_MENU, BUTTON_NONE},
481 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
482 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
483#elif (CONFIG_KEYPAD == COWON_D2_PAD) 302#elif (CONFIG_KEYPAD == COWON_D2_PAD)
484 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 303 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
485 {PLA_START, BUTTON_MINUS, BUTTON_NONE}, 304 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
486 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 305 {PLA_SELECT, BUTTON_MINUS, BUTTON_NONE},
487 {PLA_FIRE, BUTTON_PLUS, BUTTON_NONE}, 306 {PLA_SELECT_REL, BUTTON_MINUS|BUTTON_REL, BUTTON_MINUS},
488 {PLA_FIRE_REPEAT, BUTTON_PLUS|BUTTON_REPEAT, BUTTON_NONE}, 307 {PLA_SELECT_REPEAT, BUTTON_MINUS|BUTTON_MINUS, BUTTON_NONE},
489#elif CONFIG_KEYPAD == IAUDIO_M3_PAD 308#elif (CONFIG_KEYPAD == IAUDIO_M3_PAD)
490 {PLA_QUIT, BUTTON_RC_REC, BUTTON_NONE}, 309 {PLA_CANCEL, BUTTON_RC_REC|BUTTON_REL, BUTTON_RC_REC},
491 {PLA_START, BUTTON_RC_PLAY, BUTTON_NONE}, 310 {PLA_EXIT, BUTTON_RC_REC|BUTTON_REPEAT, BUTTON_NONE},
492 {PLA_MENU, BUTTON_RC_MENU, BUTTON_NONE}, 311 {PLA_SELECT, BUTTON_RC_MODE, BUTTON_NONE},
493 {PLA_FIRE, BUTTON_RC_MODE, BUTTON_NONE}, 312 {PLA_SELECT_REL, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE},
494 {PLA_FIRE_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE}, 313 {PLA_SELECT_REPEAT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_NONE},
495#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD 314#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
496 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 315 {PLA_EXIT, BUTTON_POWER, BUTTON_NONE},
497 {PLA_START, BUTTON_RIGHT, BUTTON_NONE}, 316 {PLA_CANCE BUTTON_MENU, BUTTON_NONE},
498 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 317 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
499 {PLA_FIRE, BUTTON_PLAY, BUTTON_NONE}, 318 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
500 {PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, 319 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
501#elif (CONFIG_KEYPAD == IAUDIO67_PAD) 320#elif (CONFIG_KEYPAD == IAUDIO67_PAD)
502 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 321 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
503 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 322 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
504 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 323 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
505 {PLA_FIRE, BUTTON_VOLUP, BUTTON_NONE}, 324 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
506 {PLA_FIRE_REPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE}, 325 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT BUTTON_NONE},
507#elif (CONFIG_KEYPAD == CREATIVEZVM_PAD) 326#elif (CONFIG_KEYPAD == CREATIVEZVM_PAD)
508 {PLA_QUIT, BUTTON_BACK, BUTTON_NONE}, 327 {PLA_CANCEL, BUTTON_BACK|BUTTON_REL, BUTTON_BACK},
509 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 328 {PLA_EXIT, BUTTON_BACK|BUTTON_REPEAT, BUTTON_NONE},
510 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 329 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
511 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 330 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
512 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 331 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
513#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
514 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
515 {PLA_START, BUTTON_VIEW, BUTTON_NONE},
516 {PLA_MENU, BUTTON_MENU, BUTTON_NONE},
517 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
518 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
519#elif (CONFIG_KEYPAD == ONDAVX747_PAD) 332#elif (CONFIG_KEYPAD == ONDAVX747_PAD)
520 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, 333 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
521 {PLA_START, BUTTON_VOL_DOWN, BUTTON_NONE}, 334 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
522 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 335 {PLA_SELECT, BUTTON_VOL_UP, BUTTON_NONE},
523 {PLA_FIRE, BUTTON_VOL_UP, BUTTON_NONE}, 336 {PLA_SELECT_REL, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP},
524 {PLA_FIRE_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, 337 {PLA_SELECT_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
525#elif (CONFIG_KEYPAD == ONDAVX777_PAD)
526 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
527 {PLA_START, BUTTON_VOL_DOWN, BUTTON_NONE},
528 {PLA_MENU, BUTTON_MENU, BUTTON_NONE},
529 {PLA_FIRE, BUTTON_VOL_UP, BUTTON_NONE},
530 {PLA_FIRE_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
531#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) 338#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD)
532 {PLA_QUIT, BUTTON_REW, BUTTON_NONE}, 339 {PLA_CANCEL, BUTTON_REW, BUTTON_NONE},
533 {PLA_START, BUTTON_FFWD, BUTTON_NONE}, 340 {PLA_EXIT, BUTTON_FFWD, BUTTON_NONE},
534 {PLA_MENU, BUTTON_PLAY, BUTTON_NONE}, 341 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
535 {PLA_FIRE, BUTTON_UP, BUTTON_NONE}, 342 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
536 {PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE}, 343 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
537#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD) 344#elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
538 {PLA_QUIT, BUTTON_REC, BUTTON_NONE}, 345 {PLA_CANCEL, BUTTON_MENU, BUTTON_NONE},
539 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 346 {PLA_EXIT, BUTTON_REC, BUTTON_NONE},
540 {PLA_MENU, BUTTON_MENU, BUTTON_NONE}, 347 {PLA_SELECT, BUTTON_OK, BUTTON_NONE},
541 {PLA_FIRE, BUTTON_OK, BUTTON_NONE}, 348 {PLA_SELECT_REL, BUTTON_OK|BUTTON_REL, BUTTON_OK },
542 {PLA_FIRE_REPEAT, BUTTON_OK|BUTTON_REPEAT, BUTTON_NONE}, 349 {PLA_SELECT_REPEAT, BUTTON_OK|BUTTON_REPEAT, BUTTON_NONE},
543#elif (CONFIG_KEYPAD == MPIO_HD200_PAD) 350#elif (CONFIG_KEYPAD == MPIO_HD200_PAD)
544 {PLA_QUIT, (BUTTON_REC|BUTTON_PLAY), BUTTON_NONE}, 351 {PLA_CANCEL, BUTTON_REC, BUTTON_NONE},
545 {PLA_START, BUTTON_PLAY, BUTTON_NONE}, 352 {PLA_EXIT, (BUTTON_REC|BUTTON_PLAY), BUTTON_NONE},
546 {PLA_MENU, BUTTON_REC, BUTTON_NONE}, 353 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
547 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, 354 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
548 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 355 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
549
550#else
551 #error pluginlib_actions: Unsupported keypad
552#endif
553 {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE}
554};
555
556const struct button_mapping generic_increase_decrease[] =
557{
558#ifdef HAVE_TOUCHSCREEN
559 {PLA_INC, BUTTON_TOPMIDDLE, BUTTON_NONE},
560 {PLA_DEC, BUTTON_BOTTOMMIDDLE, BUTTON_NONE},
561 {PLA_INC_REPEAT, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE},
562 {PLA_DEC_REPEAT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE},
563#endif
564#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \
565 || (CONFIG_KEYPAD == IRIVER_H300_PAD) \
566 || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \
567 || (CONFIG_KEYPAD == GIGABEAT_PAD) \
568 || (CONFIG_KEYPAD == RECORDER_PAD) \
569 || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \
570 || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) \
571 || (CONFIG_KEYPAD == ONDIO_PAD) \
572 || (CONFIG_KEYPAD == GIGABEAT_S_PAD) \
573 || (CONFIG_KEYPAD == MROBE100_PAD) \
574 || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) \
575 || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \
576 || (CONFIG_KEYPAD == SANSA_CLIP_PAD) \
577 || (CONFIG_KEYPAD == CREATIVEZVM_PAD) \
578 || (CONFIG_KEYPAD == SANSA_M200_PAD)
579 {PLA_INC, BUTTON_UP, BUTTON_NONE},
580 {PLA_DEC, BUTTON_DOWN, BUTTON_NONE},
581 {PLA_INC_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
582 {PLA_DEC_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE},
583#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
584 {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE},
585 {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE},
586 {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
587 {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
588#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \
589 || (CONFIG_KEYPAD == IPOD_3G_PAD) \
590 || (CONFIG_KEYPAD == IPOD_4G_PAD) \
591 || (CONFIG_KEYPAD == SANSA_E200_PAD) \
592 || (CONFIG_KEYPAD == SANSA_FUZE_PAD)
593 {PLA_INC, BUTTON_SCROLL_FWD, BUTTON_NONE},
594 {PLA_DEC, BUTTON_SCROLL_BACK, BUTTON_NONE},
595 {PLA_INC_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE},
596 {PLA_DEC_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE},
597#elif CONFIG_KEYPAD == PLAYER_PAD
598 {PLA_INC, BUTTON_STOP, BUTTON_NONE},
599 {PLA_DEC, BUTTON_PLAY, BUTTON_NONE},
600#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
601 {PLA_INC, BUTTON_SCROLL_UP, BUTTON_NONE},
602 {PLA_DEC, BUTTON_SCROLL_DOWN, BUTTON_NONE},
603 {PLA_INC_REPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE},
604 {PLA_DEC_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
605#elif (CONFIG_KEYPAD == MROBE500_PAD)
606 {PLA_INC, BUTTON_RC_PLAY, BUTTON_NONE},
607 {PLA_DEC, BUTTON_RC_DOWN, BUTTON_NONE},
608 {PLA_INC_REPEAT, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE},
609 {PLA_DEC_REPEAT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE},
610#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
611 {PLA_INC, BUTTON_RC_VOL_UP, BUTTON_NONE},
612 {PLA_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
613 {PLA_INC_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
614 {PLA_DEC_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
615#elif CONFIG_KEYPAD == COWON_D2_PAD
616 {PLA_INC, BUTTON_PLUS, BUTTON_NONE},
617 {PLA_DEC, BUTTON_MINUS, BUTTON_NONE},
618 {PLA_INC_REPEAT, BUTTON_PLUS|BUTTON_REPEAT, BUTTON_NONE},
619 {PLA_DEC_REPEAT, BUTTON_MINUS|BUTTON_REPEAT, BUTTON_NONE},
620#elif CONFIG_KEYPAD == IAUDIO67_PAD
621 {PLA_INC, BUTTON_VOLUP, BUTTON_NONE},
622 {PLA_DEC, BUTTON_VOLDOWN, BUTTON_NONE},
623 {PLA_INC_REPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE},
624 {PLA_DEC_REPEAT, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE},
625#elif CONFIG_KEYPAD == ONDAVX747_PAD
626 {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE},
627 {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE},
628 {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
629 {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
630#elif CONFIG_KEYPAD == ONDAVX777_PAD
631 {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE},
632 {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE},
633 {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
634 {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
635#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
636 {PLA_INC, BUTTON_UP, BUTTON_NONE},
637 {PLA_DEC, BUTTON_DOWN, BUTTON_NONE},
638 {PLA_INC_REPEAT, BUTTON_UP|BUTTON_REW, BUTTON_NONE},
639 {PLA_DEC_REPEAT, BUTTON_DOWN|BUTTON_REW, BUTTON_NONE},
640#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
641 {PLA_INC, BUTTON_UP, BUTTON_NONE},
642 {PLA_DEC, BUTTON_DOWN, BUTTON_NONE},
643 {PLA_INC_REPEAT, BUTTON_UP, BUTTON_NONE},
644 {PLA_DEC_REPEAT, BUTTON_DOWN, BUTTON_NONE},
645#elif CONFIG_KEYPAD == MPIO_HD200_PAD
646 {PLA_INC, BUTTON_VOL_UP, BUTTON_NONE},
647 {PLA_DEC, BUTTON_VOL_DOWN, BUTTON_NONE},
648 {PLA_INC_REPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
649 {PLA_DEC_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
650
651#else 356#else
652 #error pluginlib_actions: Unsupported keypad 357#error pluginlib_actions: No actions defined
653#endif 358#endif
654 {CONTEXT_PLUGIN,BUTTON_NONE,BUTTON_NONE} 359 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_PLUGIN),
655}; 360};
656 361
657static struct button_mapping **plugin_context_order; 362static struct button_mapping **plugin_context_order;