diff options
| author | Sebastian Leonhardt <sebastian.leonhardt@web.de> | 2015-07-20 01:50:26 +0200 |
|---|---|---|
| committer | Gerrit Rockbox <gerrit@rockbox.org> | 2015-11-15 23:46:39 +0100 |
| commit | a507bb283782ee3adb1fc9ba0c6f094108ef558c (patch) | |
| tree | acae6cf04f8e34172375061b6fbdc11b6ffb84cb /apps/plugins/imageviewer | |
| parent | a8758c953d50fb020b245d5739c41de113638b49 (diff) | |
| download | rockbox-a507bb283782ee3adb1fc9ba0c6f094108ef558c.zip rockbox-a507bb283782ee3adb1fc9ba0c6f094108ef558c.tar.gz rockbox-a507bb283782ee3adb1fc9ba0c6f094108ef558c.tar.bz2 rockbox-a507bb283782ee3adb1fc9ba0c6f094108ef558c.tar.xz | |
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
Diffstat (limited to 'apps/plugins/imageviewer')
| -rw-r--r-- | apps/plugins/imageviewer/imageviewer.c | 12 | ||||
| -rw-r--r-- | apps/plugins/imageviewer/imageviewer_button.h | 25 |
2 files changed, 32 insertions, 5 deletions
diff --git a/apps/plugins/imageviewer/imageviewer.c b/apps/plugins/imageviewer/imageviewer.c index 39507a1..05d2770 100644 --- a/apps/plugins/imageviewer/imageviewer.c +++ b/apps/plugins/imageviewer/imageviewer.c @@ -553,7 +553,8 @@ static int scroll_bmp(struct image_info *info) static long ss_timeout = 0; int button; -#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) +#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) \ + || defined(IMGVIEW_SLIDE_SHOW_PRE) int lastbutton = BUTTON_NONE; #endif @@ -642,6 +643,13 @@ static int scroll_bmp(struct image_info *info) #ifdef IMGVIEW_SLIDE_SHOW case IMGVIEW_SLIDE_SHOW: +#ifdef IMGVIEW_SLIDE_SHOW_PRE + if (lastbutton != IMGVIEW_SLIDE_SHOW_PRE) + break; +#endif +#ifdef IMGVIEW_SLIDE_SHOW2 + case IMGVIEW_SLIDE_SHOW2: +#endif iv_api.slideshow_enabled = !iv_api.slideshow_enabled; break; #endif @@ -714,7 +722,7 @@ static int scroll_bmp(struct image_info *info) break; } /* switch */ -#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) +#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) || defined(IMGVIEW_SLIDE_SHOW_PRE) if (button != BUTTON_NONE) lastbutton = button; #endif diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h index c5fb973..5c16ad2 100644 --- a/apps/plugins/imageviewer/imageviewer_button.h +++ b/apps/plugins/imageviewer/imageviewer_button.h @@ -314,8 +314,7 @@ #elif CONFIG_KEYPAD == ONDAVX747_PAD #elif CONFIG_KEYPAD == ONDAVX777_PAD -#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ - (CONFIG_KEYPAD == SAMSUNG_YH920_PAD) +#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD #define IMGVIEW_ZOOM_IN (BUTTON_PLAY|BUTTON_UP) #define IMGVIEW_ZOOM_OUT (BUTTON_PLAY|BUTTON_DOWN) #define IMGVIEW_UP BUTTON_UP @@ -324,9 +323,29 @@ #define IMGVIEW_RIGHT BUTTON_RIGHT #define IMGVIEW_NEXT BUTTON_FFWD #define IMGVIEW_PREVIOUS BUTTON_REW +#define IMGVIEW_NEXT_REPEAT (BUTTON_FFWD|BUTTON_REPEAT) +#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_REW|BUTTON_REPEAT) #define IMGVIEW_MENU_PRE BUTTON_PLAY #define IMGVIEW_MENU (BUTTON_PLAY|BUTTON_REL) -#define IMGVIEW_QUIT BUTTON_REC +#define IMGVIEW_SLIDE_SHOW BUTTON_REC_SW_ON +#define IMGVIEW_SLIDE_SHOW2 BUTTON_REC_SW_OFF + +#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD +#define IMGVIEW_ZOOM_IN (BUTTON_REC|BUTTON_UP) +#define IMGVIEW_ZOOM_OUT (BUTTON_REC|BUTTON_DOWN) +#define IMGVIEW_UP BUTTON_UP +#define IMGVIEW_DOWN BUTTON_DOWN +#define IMGVIEW_LEFT BUTTON_LEFT +#define IMGVIEW_RIGHT BUTTON_RIGHT +#define IMGVIEW_NEXT BUTTON_FFWD +#define IMGVIEW_PREVIOUS BUTTON_REW +#define IMGVIEW_NEXT_REPEAT (BUTTON_FFWD|BUTTON_REPEAT) +#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_REW|BUTTON_REPEAT) +#define IMGVIEW_MENU_PRE BUTTON_PLAY +#define IMGVIEW_MENU (BUTTON_PLAY|BUTTON_REL) +#define IMGVIEW_SLIDE_SHOW (BUTTON_PLAY|BUTTON_REPEAT) +#define IMGVIEW_SLIDE_SHOW_PRE BUTTON_PLAY +#define IMGVIEW_QUIT (BUTTON_REC|BUTTON_PLAY) #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD #define IMGVIEW_ZOOM_IN (BUTTON_REC | BUTTON_UP) |