summaryrefslogtreecommitdiff
path: root/apps/plugins/minesweeper.c
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2015-07-20 01:50:26 +0200
committerGerrit Rockbox <gerrit@rockbox.org>2015-11-15 23:46:39 +0100
commita507bb283782ee3adb1fc9ba0c6f094108ef558c (patch)
treeacae6cf04f8e34172375061b6fbdc11b6ffb84cb /apps/plugins/minesweeper.c
parenta8758c953d50fb020b245d5739c41de113638b49 (diff)
downloadrockbox-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.c29
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