summaryrefslogtreecommitdiff
path: root/apps/keymaps/keymap-gigabeat.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/keymaps/keymap-gigabeat.c')
-rw-r--r--apps/keymaps/keymap-gigabeat.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/apps/keymaps/keymap-gigabeat.c b/apps/keymaps/keymap-gigabeat.c
index 7e7eb1ec65..c2e6a537b0 100644
--- a/apps/keymaps/keymap-gigabeat.c
+++ b/apps/keymaps/keymap-gigabeat.c
@@ -269,8 +269,61 @@ static const struct button_mapping button_context_keyboard[] = {
269 LAST_ITEM_IN_LIST 269 LAST_ITEM_IN_LIST
270}; /* button_context_keyboard */ 270}; /* button_context_keyboard */
271 271
272/*****************************************************************************
273 * Remote control mappings
274 *****************************************************************************/
275
276static const struct button_mapping remote_button_context_standard[] = {
277 { ACTION_STD_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE },
278 { ACTION_STD_PREVREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
279 { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
280 { ACTION_STD_NEXTREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
281 { ACTION_STD_CANCEL, BUTTON_RC_REW, BUTTON_NONE },
282 { ACTION_STD_OK, BUTTON_RC_FF, BUTTON_NONE },
283
284 LAST_ITEM_IN_LIST
285};
286
287static const struct button_mapping remote_button_context_wps[] = {
288 { ACTION_WPS_PLAY, BUTTON_RC_PLAY, BUTTON_NONE },
289
290 { ACTION_WPS_SKIPNEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF },
291 { ACTION_WPS_SKIPPREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW },
292
293 { ACTION_WPS_SEEKBACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE },
294 { ACTION_WPS_SEEKFWD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE },
295 { ACTION_WPS_STOPSEEK, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT },
296 { ACTION_WPS_STOPSEEK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_REPEAT },
297
298 { ACTION_WPS_STOP, BUTTON_RC_DSP, BUTTON_NONE },
299
300 { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
301 { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
302 { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
303 { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE },
304
305 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
306};
307
308static const struct button_mapping* get_context_mapping_remote( int context )
309{
310 context ^= CONTEXT_REMOTE;
311
312 switch (context)
313 {
314 case CONTEXT_WPS:
315 return remote_button_context_wps;
316
317 default:
318 return remote_button_context_standard;
319 }
320}
321
272const struct button_mapping* get_context_mapping(int context) 322const struct button_mapping* get_context_mapping(int context)
273{ 323{
324 if (context&CONTEXT_REMOTE)
325 return get_context_mapping_remote(context);
326
274 switch (context) 327 switch (context)
275 { 328 {
276 case CONTEXT_STD: 329 case CONTEXT_STD: