summaryrefslogtreecommitdiff
path: root/apps/keymaps/keymap-mr100.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/keymaps/keymap-mr100.c')
-rw-r--r--apps/keymaps/keymap-mr100.c273
1 files changed, 199 insertions, 74 deletions
diff --git a/apps/keymaps/keymap-mr100.c b/apps/keymaps/keymap-mr100.c
index 79a12428f7..9878b6c330 100644
--- a/apps/keymaps/keymap-mr100.c
+++ b/apps/keymaps/keymap-mr100.c
@@ -317,91 +317,196 @@ static const struct button_mapping remote_button_context_tree[] = {
317 317
318#ifdef USB_ENABLE_HID 318#ifdef USB_ENABLE_HID
319static const struct button_mapping button_context_usb_hid[] = { 319static const struct button_mapping button_context_usb_hid[] = {
320 { ACTION_USB_HID_INC, BUTTON_UP, BUTTON_NONE }, 320 { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
321 { ACTION_USB_HID_INC, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 321 { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER },
322 { ACTION_USB_HID_DEC, BUTTON_DOWN, BUTTON_NONE },
323 { ACTION_USB_HID_DEC, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
324 { ACTION_USB_HID_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
325 { ACTION_USB_HID_START_LONG, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
326 { ACTION_USB_HID_QUIT, BUTTON_DISPLAY|BUTTON_REL, BUTTON_DISPLAY },
327 { ACTION_USB_HID_QUIT_LONG, BUTTON_DISPLAY|BUTTON_REPEAT, BUTTON_DISPLAY },
328 { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
329 { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
330 { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
331 { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT },
332 { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
333 { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
334 { ACTION_USB_HID_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
335 { ACTION_USB_HID_MENU_LONG, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
336 { ACTION_USB_HID_MODE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
337 { ACTION_USB_HID_MODE_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER },
338 322
339 LAST_ITEM_IN_LIST 323 LAST_ITEM_IN_LIST
340}; /* button_context_usb_hid */ 324}; /* button_context_usb_hid */
341 325
342static const struct button_mapping button_context_usb_hid_mouse[] = { 326static const struct button_mapping button_context_usb_hid_mode_multimedia[] = {
343 { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, 327 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN, BUTTON_NONE },
344 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 328 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
345 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, 329 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP, BUTTON_NONE },
346 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 330 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
347 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE }, 331 { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
348 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 332 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
349 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 333 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_DISPLAY|BUTTON_REL, BUTTON_DISPLAY },
350 { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 334 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
351 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_SELECT|BUTTON_UP, BUTTON_NONE }, 335 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
352 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_MENU|BUTTON_UP, BUTTON_NONE }, 336 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
353 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_SELECT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
354 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_MENU|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
355 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_NONE },
356 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_MENU|BUTTON_DOWN, BUTTON_NONE },
357 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_SELECT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
358 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_MENU|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
359 { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_SELECT, BUTTON_NONE },
360 { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
361 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_SELECT|BUTTON_LEFT, BUTTON_NONE },
362 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
363 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_SELECT|BUTTON_RIGHT, BUTTON_NONE },
364 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
365 { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_MENU, BUTTON_NONE },
366 { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
367 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_MENU|BUTTON_LEFT, BUTTON_NONE },
368 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
369 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_MENU|BUTTON_RIGHT, BUTTON_NONE },
370 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
371 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_PLAY, BUTTON_NONE },
372 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
373 { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_PLAY|BUTTON_UP, BUTTON_NONE },
374 { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_PLAY|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
375 { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_PLAY|BUTTON_DOWN, BUTTON_NONE },
376 { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_PLAY|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
377 { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_NONE },
378 { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_PLAY|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
379 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE },
380 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_PLAY|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
381 337
382 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) 338 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
383}; /* button_context_usb_hid_mouse */ 339}; /* button_context_usb_hid_mode_multimedia */
340
341static const struct button_mapping button_context_usb_hid_mode_presentation[] = {
342 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
343 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_DISPLAY|BUTTON_REL, BUTTON_DISPLAY },
344 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
345 { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
346 { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
347 { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
348 { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT },
349 { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN },
350 { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN },
351 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP, BUTTON_NONE },
352 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
353 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN, BUTTON_NONE },
354 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
355 { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
356 { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
357
358 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
359}; /* button_context_usb_hid_mode_presentation */
360
361static const struct button_mapping button_context_usb_hid_mode_browser[] = {
362 { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP, BUTTON_NONE },
363 { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
364 { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN, BUTTON_NONE },
365 { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
366 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
367 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
368 { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
369 { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
370 { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
371 { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_PLAY|BUTTON_MENU|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_MENU },
372 { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
373 { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
374 { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_DISPLAY|BUTTON_REPEAT, BUTTON_DISPLAY },
375 { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
376 { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT },
377 { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
378
379 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
380}; /* button_context_usb_hid_mode_browser */
381
382#ifdef HAVE_USB_HID_MOUSE
383static const struct button_mapping button_context_usb_hid_mode_mouse[] = {
384 { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE },
385 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
386 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE },
387 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
388 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE },
389 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
390 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
391 { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
392 { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_MENU, BUTTON_NONE },
393 { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
394 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_MENU|BUTTON_UP, BUTTON_NONE },
395 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_MENU|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
396 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_MENU|BUTTON_DOWN, BUTTON_NONE },
397 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_MENU|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
398 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_MENU|BUTTON_LEFT, BUTTON_NONE },
399 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
400 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_MENU|BUTTON_RIGHT, BUTTON_NONE },
401 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
402 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_PLAY, BUTTON_NONE },
403 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
404 { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_PLAY|BUTTON_UP, BUTTON_NONE },
405 { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_PLAY|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
406 { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_PLAY|BUTTON_DOWN, BUTTON_NONE },
407 { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_PLAY|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
408 { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_NONE },
409 { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_PLAY|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
410 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE },
411 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_PLAY|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
412 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_UP, BUTTON_NONE },
413 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
414 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_DOWN, BUTTON_NONE },
415 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
416
417 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
418}; /* button_context_usb_hid_mode_mouse */
419#endif
384 420
385static const struct button_mapping remote_button_context_usb_hid[] = { 421static const struct button_mapping remote_button_context_usb_hid[] = {
386 { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP, BUTTON_NONE }, 422 { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_RC_HEART|BUTTON_REL, BUTTON_RC_HEART },
387 { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 423 { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_RC_HEART },
388 { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
389 { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
390 { ACTION_USB_HID_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY },
391 { ACTION_USB_HID_START_LONG, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY },
392 { ACTION_USB_HID_QUIT, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN },
393 { ACTION_USB_HID_QUIT_LONG, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_RC_DOWN },
394 { ACTION_USB_HID_LEFT, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW },
395 { ACTION_USB_HID_LEFT_LONG, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW },
396 { ACTION_USB_HID_RIGHT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF },
397 { ACTION_USB_HID_RIGHT_LONG, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF },
398 { ACTION_USB_HID_SELECT, BUTTON_RC_HEART|BUTTON_REL, BUTTON_RC_HEART },
399 { ACTION_USB_HID_MENU, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_DOWN },
400 { ACTION_USB_HID_MODE, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE },
401 { ACTION_USB_HID_MODE_LONG, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_RC_MODE },
402 424
403 LAST_ITEM_IN_LIST 425 LAST_ITEM_IN_LIST
404}; /* remote_button_context_usb_hid */ 426}; /* remote_button_context_usb_hid */
427
428static const struct button_mapping remote_button_context_usb_hid_mode_multimedia[] = {
429 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
430 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
431 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_RC_VOL_UP, BUTTON_NONE },
432 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
433 { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE },
434 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY },
435 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN },
436 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY },
437 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW },
438 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF },
439
440 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
441}; /* remote_button_context_usb_hid_mode_multimedia */
442
443static const struct button_mapping remote_button_context_usb_hid_mode_presentation[] = {
444 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY },
445 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN },
446 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY },
447 { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW },
448 { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF },
449 { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW },
450 { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF },
451 { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN },
452 { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_RC_DOWN },
453 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE },
454 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
455 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
456 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
457 { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE },
458 { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_RC_MODE },
459
460 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
461}; /* remote_button_context_usb_hid_mode_presentation */
462
463static const struct button_mapping remote_button_context_usb_hid_mode_browser[] = {
464 { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_RC_VOL_UP, BUTTON_NONE },
465 { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
466 { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
467 { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
468 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY },
469 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN },
470 { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY },
471 { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_RC_DOWN },
472 { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_RC_MODE },
473 { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW },
474 { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF },
475 { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW },
476 { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF },
477 { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE },
478
479 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
480}; /* remote_button_context_usb_hid_mode_browser */
481
482#ifdef HAVE_USB_HID_MOUSE
483static const struct button_mapping remote_button_context_usb_hid_mode_mouse[] = {
484 { ACTION_USB_HID_MOUSE_UP, BUTTON_RC_PLAY, BUTTON_NONE },
485 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE },
486 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_RC_DOWN, BUTTON_NONE },
487 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE },
488 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_RC_REW, BUTTON_NONE },
489 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE },
490 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RC_FF, BUTTON_NONE },
491 { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE },
492 { ACTION_USB_HID_MOUSE_BUTTON_RC_REW, BUTTON_RC_MODE, BUTTON_NONE },
493 { ACTION_USB_HID_MOUSE_BUTTON_RC_REW_REL, BUTTON_RC_MODE|BUTTON_REL, BUTTON_NONE },
494 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_RC_MODE|BUTTON_RC_PLAY, BUTTON_NONE },
495 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_RC_MODE|BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE },
496 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_RC_MODE|BUTTON_RC_DOWN, BUTTON_NONE },
497 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_RC_MODE|BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE },
498 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_RC_MODE|BUTTON_RC_REW, BUTTON_NONE },
499 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_RC_MODE|BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE },
500 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_RC_MODE|BUTTON_RC_FF, BUTTON_NONE },
501 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_RC_MODE|BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE },
502 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_RC_VOL_UP, BUTTON_NONE },
503 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
504 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
505 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
506
507 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
508}; /* remote_button_context_usb_hid_mode_mouse */
509#endif
405#endif 510#endif
406 511
407static const struct button_mapping* get_context_mapping_remote( int context ) 512static const struct button_mapping* get_context_mapping_remote( int context )
@@ -418,6 +523,16 @@ static const struct button_mapping* get_context_mapping_remote( int context )
418#ifdef USB_ENABLE_HID 523#ifdef USB_ENABLE_HID
419 case CONTEXT_USB_HID: 524 case CONTEXT_USB_HID:
420 return remote_button_context_usb_hid; 525 return remote_button_context_usb_hid;
526 case CONTEXT_USB_HID_MODE_MULTIMEDIA:
527 return remote_button_context_usb_hid_mode_multimedia;
528 case CONTEXT_USB_HID_MODE_PRESENTATION:
529 return remote_button_context_usb_hid_mode_presentation;
530 case CONTEXT_USB_HID_MODE_BROWSER:
531 return remote_button_context_usb_hid_mode_browser;
532#ifdef HAVE_USB_HID_MOUSE
533 case CONTEXT_USB_HID_MODE_MOUSE:
534 return remote_button_context_usb_hid_mode_mouse;
535#endif
421#endif 536#endif
422 } 537 }
423 return remote_button_context_standard; 538 return remote_button_context_standard;
@@ -472,6 +587,16 @@ const struct button_mapping* get_context_mapping(int context)
472#ifdef USB_ENABLE_HID 587#ifdef USB_ENABLE_HID
473 case CONTEXT_USB_HID: 588 case CONTEXT_USB_HID:
474 return button_context_usb_hid; 589 return button_context_usb_hid;
590 case CONTEXT_USB_HID_MODE_MULTIMEDIA:
591 return button_context_usb_hid_mode_multimedia;
592 case CONTEXT_USB_HID_MODE_PRESENTATION:
593 return button_context_usb_hid_mode_presentation;
594 case CONTEXT_USB_HID_MODE_BROWSER:
595 return button_context_usb_hid_mode_browser;
596#ifdef HAVE_USB_HID_MOUSE
597 case CONTEXT_USB_HID_MODE_MOUSE:
598 return button_context_usb_hid_mode_mouse;
599#endif
475#endif 600#endif
476 } 601 }
477 return button_context_standard; 602 return button_context_standard;