blob: a5c199d2096cad965ab69650a1ed7e393e626d1e [file] [log] [blame]
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +00001/***************************************************************************
2* __________ __ ___.
3* Open \______ \ ____ ____ | | _\_ |__ _______ ___
4* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7* \/ \/ \/ \/ \/
8* $Id$
9*
10* Copyright (C) 2006 Jonathan Gordon
11*
12*
13* All files in this archive are subject to the GNU General Public License.
14* See the file COPYING in the source tree root for full license agreement.
15*
16* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
17* KIND, either express or implied.
18*
19****************************************************************************/
20
21#ifndef __PLUGINLIB_ACTIONS_H__
22#define __PLUGINLIB_ACTIONS_H__
23
24#include "config.h"
25#include "plugin.h"
26#include "action.h"
27
28/* PLA stands for Plugin Lib Action :P */
29enum {
30 PLA_UP = LAST_ACTION_PLACEHOLDER+1,
31 PLA_DOWN,
32 PLA_LEFT,
33 PLA_RIGHT,
34 PLA_UP_REPEAT,
35 PLA_DOWN_REPEAT,
36 PLA_LEFT_REPEAT,
37 PLA_RIGHT_REPEAT,
38
39 PLA_QUIT,
40 PLA_START,
41 PLA_MENU,
42 PLA_FIRE,
43 PLA_FIRE_REPEAT,
44
45 LAST_PLUGINLIB_ACTION
46};
47
Kevin Ferraree68a2e62007-07-19 03:49:43 +000048#if defined(HAVE_REMOTE_LCD)
49static const struct button_mapping remote_directions[] =
50{
51#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
52 (CONFIG_KEYPAD == IRIVER_H300_PAD)
53 { PLA_UP, BUTTON_RC_BITRATE, BUTTON_NONE},
54 { PLA_DOWN, BUTTON_RC_SOURCE, BUTTON_NONE},
55 { PLA_LEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
56 { PLA_RIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE},
57 { PLA_UP_REPEAT, BUTTON_RC_BITRATE|BUTTON_REPEAT, BUTTON_NONE},
58 { PLA_DOWN_REPEAT, BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_NONE},
59 { PLA_LEFT_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
60 { PLA_RIGHT_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
61#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \
62 (CONFIG_KEYPAD == IRIVER_H10_PAD) || \
63 (CONFIG_KEYPAD == GIGABEAT_PAD)
64 { PLA_UP, BUTTON_RC_FF, BUTTON_NONE},
65 { PLA_DOWN, BUTTON_RC_REW, BUTTON_NONE},
66 { PLA_LEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
67 { PLA_RIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE},
68 { PLA_UP_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE},
69 { PLA_DOWN_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE},
70 { PLA_LEFT_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
71 { PLA_RIGHT_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
72#elif (CONFIG_KEYPAD == PLAYER_PAD) || \
73 (CONFIG_KEYPAD == RECORDER_PAD)
74 { PLA_UP, BUTTON_RC_VOL_UP, BUTTON_NONE},
75 { PLA_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE},
76 { PLA_LEFT, BUTTON_RC_LEFT, BUTTON_NONE},
77 { PLA_RIGHT, BUTTON_RC_RIGHT, BUTTON_NONE},
78 { PLA_UP_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE},
79 { PLA_DOWN_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
80 { PLA_LEFT_REPEAT, BUTTON_RC_LEFT|BUTTON_REPEAT, BUTTON_NONE},
81 { PLA_RIGHT_REPEAT, BUTTON_RC_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
82#else
83 #error pluginlib_actions: Unsupported remote keypad
84#endif
85 {CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE}
86};
87#endif /* HAVE_REMOTE_LCD */
88
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +000089static const struct button_mapping generic_directions[] =
90{
91#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \
92 || (CONFIG_KEYPAD == IRIVER_H300_PAD) \
Jens Arnold85a226d2007-03-16 23:02:39 +000093 || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +000094 || (CONFIG_KEYPAD == GIGABEAT_PAD) \
95 || (CONFIG_KEYPAD == RECORDER_PAD) \
Dave Chapmand64e6262007-01-14 13:48:09 +000096 || (CONFIG_KEYPAD == ARCHOS_AV300_PAD) \
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +000097 || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
98 { PLA_UP, BUTTON_UP, BUTTON_NONE},
99 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE},
100 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
101 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
102 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
103 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE},
104 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
105 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
106#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
107 { PLA_UP, BUTTON_SCROLL_FWD, BUTTON_NONE},
108 { PLA_DOWN, BUTTON_SCROLL_BACK, BUTTON_NONE},
Jonathan Gordon9ddcab82006-11-16 03:05:25 +0000109 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
110 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
Jonathan Gordone25c8402006-11-26 09:35:12 +0000111 { PLA_UP_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE},
112 { PLA_DOWN_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE},
113 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
114 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000115#elif CONFIG_KEYPAD == ONDIO_PAD
Jonathan Gordon9ddcab82006-11-16 03:05:25 +0000116 { PLA_UP, BUTTON_UP, BUTTON_NONE},
117 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE},
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000118 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
119 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
Jonathan Gordon9ddcab82006-11-16 03:05:25 +0000120 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
121 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE},
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000122 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
123 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
124#elif CONFIG_KEYPAD == PLAYER_PAD
125 {PLA_UP, BUTTON_STOP, BUTTON_NONE},
126 {PLA_DOWN, BUTTON_PLAY, BUTTON_NONE},
127 {PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
128 {PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
129 {PLA_UP_REPEAT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE},
130 {PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
131 {PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
132 {PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
133#elif (CONFIG_KEYPAD == SANSA_E200_PAD) \
134 || (CONFIG_KEYPAD == IRIVER_H10_PAD)
135 { PLA_UP, BUTTON_SCROLL_UP, BUTTON_NONE},
136 { PLA_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE},
137 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
138 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
139 { PLA_UP_REPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE},
140 { PLA_DOWN_REPEAT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE},
141 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
142 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
143#else
144 #error pluginlib_actions: Unsupported keypad
145#endif
146 {CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE}
147};
148
Jonathan Gordon73e31d12006-11-18 11:16:53 +0000149static const struct button_mapping generic_left_right_fire[] =
150{
151#if (CONFIG_KEYPAD == IRIVER_H100_PAD) \
152 || (CONFIG_KEYPAD == IRIVER_H300_PAD) \
Jens Arnold85a226d2007-03-16 23:02:39 +0000153 || (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \
Jonathan Gordon73e31d12006-11-18 11:16:53 +0000154 || (CONFIG_KEYPAD == GIGABEAT_PAD) \
155 || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
156 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
157 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
158 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
159 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
160 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
161 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
162#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
163 { PLA_LEFT, BUTTON_SCROLL_BACK, BUTTON_NONE},
164 { PLA_RIGHT, BUTTON_SCROLL_FWD, BUTTON_NONE},
Jonathan Gordone25c8402006-11-26 09:35:12 +0000165 { PLA_LEFT_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE},
166 { PLA_RIGHT_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE},
Jonathan Gordon73e31d12006-11-18 11:16:53 +0000167 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
168 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
169#elif CONFIG_KEYPAD == ONDIO_PAD
170 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
171 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
172 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
173 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
174 { PLA_FIRE, BUTTON_UP, BUTTON_NONE},
175 { PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
176#elif CONFIG_KEYPAD == PLAYER_PAD
177 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
178 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
179 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
180 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
181 { PLA_FIRE, BUTTON_ON, BUTTON_NONE},
182 { PLA_FIRE_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE},
183#elif CONFIG_KEYPAD == RECORDER_PAD
184 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
185 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
186 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
187 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
188 { PLA_FIRE, BUTTON_PLAY, BUTTON_NONE},
189 { PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
Dave Chapmand64e6262007-01-14 13:48:09 +0000190#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
191 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
192 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
193 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
194 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
195 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
196 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
Jonathan Gordon73e31d12006-11-18 11:16:53 +0000197#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
198 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
199 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
200 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
201 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
202 { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
203 { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE},
204#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
205 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE},
206 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE},
207 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE},
208 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE},
209 { PLA_FIRE, BUTTON_REW, BUTTON_NONE},
210 { PLA_FIRE_REPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE},
211#else
212 #error pluginlib_actions: Unsupported keypad
213#endif
214 {CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE}
215};
216
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000217/* these were taken from the bubbles plugin, so may need tweaking */
218static const struct button_mapping generic_actions[] =
219{
220#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
221 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE},
222 {PLA_QUIT, BUTTON_RC_STOP, BUTTON_NONE},
223 {PLA_START, BUTTON_ON, BUTTON_NONE},
224 {PLA_MENU, BUTTON_MODE, BUTTON_NONE},
225 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
226 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
227#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
228 {PLA_QUIT, BUTTON_MENU|BUTTON_SELECT, BUTTON_NONE},
229 {PLA_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
Jonathan Gordon73e31d12006-11-18 11:16:53 +0000230 {PLA_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_NONE},
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000231 {PLA_FIRE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
232 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
Jens Arnold85a226d2007-03-16 23:02:39 +0000233#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000234 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
235 {PLA_START, BUTTON_PLAY, BUTTON_NONE},
236 {PLA_MENU, BUTTON_REC, BUTTON_NONE},
237 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
238 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
239#elif CONFIG_KEYPAD == GIGABEAT_PAD
240 {PLA_QUIT, BUTTON_A, BUTTON_NONE},
241 {PLA_START, BUTTON_POWER, BUTTON_NONE},
242 {PLA_MENU, BUTTON_MENU, BUTTON_NONE},
243 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
244 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
245#elif CONFIG_KEYPAD == RECORDER_PAD
246 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE},
247 {PLA_START, BUTTON_ON, BUTTON_NONE},
248 {PLA_MENU, BUTTON_F1, BUTTON_NONE},
249 {PLA_FIRE, BUTTON_PLAY, BUTTON_NONE},
250 {PLA_FIRE_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
Dave Chapmand64e6262007-01-14 13:48:09 +0000251#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
252 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE},
253 {PLA_START, BUTTON_ON, BUTTON_NONE},
254 {PLA_MENU, BUTTON_F1, BUTTON_NONE},
255 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
256 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000257#elif CONFIG_KEYPAD == ONDIO_PAD
258 {PLA_QUIT, BUTTON_OFF, BUTTON_NONE},
259 {PLA_START, BUTTON_MENU, BUTTON_NONE},
260 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE},
261 {PLA_FIRE, BUTTON_UP, BUTTON_NONE},
262 {PLA_FIRE_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
263#elif CONFIG_KEYPAD == PLAYER_PAD
264 {PLA_QUIT, BUTTON_STOP|BUTTON_REPEAT, BUTTON_NONE},
265 {PLA_START, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
266 {PLA_MENU, BUTTON_MENU, BUTTON_NONE},
267 {PLA_FIRE, BUTTON_ON, BUTTON_NONE},
268 {PLA_FIRE_REPEAT, BUTTON_ON|BUTTON_REPEAT, BUTTON_NONE},
269#elif CONFIG_KEYPAD == SANSA_E200_PAD
270 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
Jonathan Gordonef35bb92006-11-16 03:12:27 +0000271 {PLA_START, BUTTON_UP, BUTTON_NONE},
Jonathan Gordon7b8b0ff2006-11-16 02:53:44 +0000272 {PLA_MENU, BUTTON_DOWN, BUTTON_NONE},
273 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
274 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
275#elif CONFIG_KEYPAD == IRIVER_H10_PAD
276 {PLA_QUIT, BUTTON_POWER, BUTTON_NONE},
277 {PLA_START, BUTTON_PLAY, BUTTON_NONE},
278 {PLA_MENU, BUTTON_FF, BUTTON_NONE},
279 {PLA_FIRE, BUTTON_REW, BUTTON_NONE},
280 {PLA_FIRE_REPEAT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE},
281#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
282 {PLA_QUIT, BUTTON_EQ, BUTTON_NONE},
283 {PLA_START, BUTTON_PLAY, BUTTON_NONE},
284 {PLA_MENU, BUTTON_MODE, BUTTON_NONE},
285 {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE},
286 {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
287#else
288 #error pluginlib_actions: Unsupported keypad
289#endif
290 {CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE}
291};
292
293int pluginlib_getaction(struct plugin_api *api,int timeout,
294 const struct button_mapping *plugin_contexts[],
295 int count);
296
297#endif /* __PLUGINLIB_ACTIONS_H__ */