diff options
Diffstat (limited to 'apps/keymaps/keymap-gigabeat.c')
-rw-r--r-- | apps/keymaps/keymap-gigabeat.c | 53 |
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 | |||
276 | static 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 | |||
287 | static 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 | |||
308 | static 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 | |||
272 | const struct button_mapping* get_context_mapping(int context) | 322 | const 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: |