YH8xx,YH9xx: Keymap improvement

The main "innovation" in this patch are two "virtual buttons"
for the record switch on YH92x targets. When the switch state
changes, a single BUTTON_REC_SW_ON or .._OFF button event will
be generated. Thus keymap code can react on switching, but
not on the actual state of the switch.

Wherever sensible, the following user scheme is applied:
- use PLAY as confirm button
- use REW button or Long REW to exit
- use REC (YH820) or FFWD (YH92X) as modifier key for button combos

Change-Id: Ic8d1db9cc6869daed8dda98990dfdf7f6fd5d5a1
This commit is contained in:
Sebastian Leonhardt 2015-07-20 01:50:26 +02:00 committed by Gerrit Rockbox
parent a8758c953d
commit a507bb2837
142 changed files with 1380 additions and 685 deletions

View file

@ -97,6 +97,10 @@ enum plugin_status plugin_start(const void* file)
#ifdef TV_AUTOSCROLL_PRE
if (lastbutton != TV_AUTOSCROLL_PRE)
break;
#endif
#ifdef TV_AUTOSCROLL2
/* fallthrough */
case TV_AUTOSCROLL2:
#endif
autoscroll = !autoscroll;
break;

View file

@ -380,17 +380,36 @@
#define TV_QUIT BUTTON_POWER
#define TV_BOOKMARK (BUTTON_RIGHT|BUTTON_POWER)
/* SAMSUNG YH-820 / YH-920 / YH-925 keys */
#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
(CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
#define TV_QUIT BUTTON_REC
/* SAMSUNG YH-920 / YH-925 keys */
#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
#define TV_QUIT (BUTTON_REW|BUTTON_REPEAT)
#define TV_SCROLL_UP BUTTON_UP
#define TV_SCROLL_DOWN BUTTON_DOWN
#define TV_SCREEN_LEFT BUTTON_LEFT
#define TV_SCREEN_RIGHT BUTTON_RIGHT
#define TV_MENU BUTTON_PLAY
#define TV_AUTOSCROLL BUTTON_REW
#define TV_BOOKMARK BUTTON_FFWD
#define TV_MENU BUTTON_REW
#define TV_AUTOSCROLL BUTTON_REC_SW_ON
#define TV_AUTOSCROLL2 BUTTON_REC_SW_OFF
#define TV_BOOKMARK BUTTON_PLAY
#define TV_LINE_UP (BUTTON_FFWD|BUTTON_UP)
#define TV_LINE_DOWN (BUTTON_FFWD|BUTTON_DOWN)
#define TV_COLUMN_LEFT (BUTTON_FFWD|BUTTON_LEFT)
#define TV_COLUMN_RIGHT (BUTTON_FFWD|BUTTON_RIGHT)
/* SAMSUNG YH-820 keys */
#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
#define TV_QUIT (BUTTON_REW|BUTTON_REPEAT)
#define TV_SCROLL_UP BUTTON_UP
#define TV_SCROLL_DOWN BUTTON_DOWN
#define TV_SCREEN_LEFT BUTTON_LEFT
#define TV_SCREEN_RIGHT BUTTON_RIGHT
#define TV_MENU BUTTON_REW
#define TV_AUTOSCROLL BUTTON_FFWD
#define TV_BOOKMARK BUTTON_PLAY
#define TV_LINE_UP (BUTTON_REC|BUTTON_UP)
#define TV_LINE_DOWN (BUTTON_REC|BUTTON_DOWN)
#define TV_COLUMN_LEFT (BUTTON_REC|BUTTON_LEFT)
#define TV_COLUMN_RIGHT (BUTTON_REC|BUTTON_RIGHT)
/* Packard Bell Vibe 500 keys */
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD