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/minesweeper.c | |
| 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/minesweeper.c')
| -rw-r--r-- | apps/plugins/minesweeper.c | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c index 982bb8b..6250cb1 100644 --- a/apps/plugins/minesweeper.c +++ b/apps/plugins/minesweeper.c @@ -247,16 +247,27 @@ CONFIG_KEYPAD == ONDAVX777_PAD || \ CONFIG_KEYPAD == MROBE500_PAD # define MINESWP_QUIT BUTTON_POWER -#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ - (CONFIG_KEYPAD == SAMSUNG_YH920_PAD) +#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) # define MINESWP_LEFT BUTTON_LEFT # define MINESWP_RIGHT BUTTON_RIGHT # define MINESWP_UP BUTTON_UP # define MINESWP_DOWN BUTTON_DOWN -# define MINESWP_QUIT BUTTON_REC +# define MINESWP_QUIT (BUTTON_REW|BUTTON_REPEAT) # define MINESWP_TOGGLE BUTTON_PLAY -# define MINESWP_DISCOVER BUTTON_REW -# define MINESWP_INFO BUTTON_FFWD +# define MINESWP_DISCOVER BUTTON_FFWD +# define MINESWP_INFO BUTTON_REC + +#elif (CONFIG_KEYPAD == SAMSUNG_YH920_PAD) +# define MINESWP_LEFT BUTTON_LEFT +# define MINESWP_RIGHT BUTTON_RIGHT +# define MINESWP_UP BUTTON_UP +# define MINESWP_DOWN BUTTON_DOWN +# define MINESWP_QUIT (BUTTON_REW|BUTTON_REPEAT) +# define MINESWP_TOGGLE (BUTTON_PLAY|BUTTON_REL) +# define MINESWP_TOGGLE_PRE BUTTON_PLAY +# define MINESWP_DISCOVER BUTTON_FFWD +# define MINESWP_INFO (BUTTON_PLAY|BUTTON_REPEAT) +# define MINESWP_INFO_PRE BUTTON_PLAY #elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD) # define MINESWP_LEFT BUTTON_PREV @@ -788,7 +799,7 @@ static enum minesweeper_status minesweeper( void ) { int i, j; int button; -#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE) +#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE) || defined(MINESWP_INFO_PRE) int lastbutton = BUTTON_NONE; #endif @@ -977,6 +988,10 @@ static enum minesweeper_status minesweeper( void ) /* show how many mines you think you have found and how many * there really are on the game */ case MINESWP_INFO: +#ifdef MINESWP_INFO_PRE + if( lastbutton != MINESWP_INFO_PRE ) + break; +#endif if( no_mines ) break; int flags_used = count_flags(); @@ -996,7 +1011,7 @@ static enum minesweeper_status minesweeper( void ) return MINESWEEPER_USB; break; } -#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE) +#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE) || defined(MINESWP_INFO_PRE) if( button != BUTTON_NONE ) lastbutton = button; #endif |