summaryrefslogtreecommitdiffstats
path: root/apps/plugins/doom/i_video.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/doom/i_video.c
parenta8758c953d50fb020b245d5739c41de113638b49 (diff)
downloadrockbox-a507bb283782ee3adb1fc9ba0c6f094108ef558c.tar.gz
rockbox-a507bb283782ee3adb1fc9ba0c6f094108ef558c.zip
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/doom/i_video.c')
-rw-r--r--apps/plugins/doom/i_video.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 7ec768f1d3..c97dce9821 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -395,8 +395,19 @@ void I_ShutdownGraphics(void)
#elif CONFIG_KEYPAD == ONDAVX777_PAD
#define DOOMBUTTON_ESC BUTTON_POWER
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
- (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define DOOMBUTTON_UP BUTTON_UP
+#define DOOMBUTTON_DOWN BUTTON_DOWN
+#define DOOMBUTTON_LEFT BUTTON_LEFT
+#define DOOMBUTTON_RIGHT BUTTON_RIGHT
+#define DOOMBUTTON_SHOOT BUTTON_PLAY
+#define DOOMBUTTON_OPEN BUTTON_REW
+#define DOOMBUTTON_ESC BUTTON_REC_SW_ON
+#define DOOMBUTTON_ESC2 BUTTON_REC_SW_OFF
+#define DOOMBUTTON_ENTER BUTTON_PLAY
+#define DOOMBUTTON_WEAPON BUTTON_FFWD
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
#define DOOMBUTTON_UP BUTTON_UP
#define DOOMBUTTON_DOWN BUTTON_DOWN
#define DOOMBUTTON_LEFT BUTTON_LEFT
@@ -404,7 +415,7 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_SHOOT BUTTON_PLAY
#define DOOMBUTTON_OPEN BUTTON_REW
#define DOOMBUTTON_ESC BUTTON_REC
-#define DOOMBUTTON_ENTER BUTTON_FFWD
+#define DOOMBUTTON_ENTER BUTTON_PLAY
#define DOOMBUTTON_WEAPON BUTTON_FFWD
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
@@ -685,7 +696,11 @@ static inline void getkey()
D_PostEvent(&event);
}
#ifdef DOOMBUTTON_ESC
- if(released & DOOMBUTTON_ESC)
+ if(released & DOOMBUTTON_ESC
+#ifdef DOOMBUTTON_ESC2
+ || released & DOOMBUTTON_ESC2
+#endif
+ )
{
event.data1=KEY_ESCAPE;
D_PostEvent(&event);
@@ -747,7 +762,11 @@ static inline void getkey()
D_PostEvent(&event);
}
#ifdef DOOMBUTTON_ESC
- if(pressed & DOOMBUTTON_ESC)
+ if(pressed & DOOMBUTTON_ESC
+#ifdef DOOMBUTTON_ESC2
+ || pressed & DOOMBUTTON_ESC2
+#endif
+ )
{
event.data1=KEY_ESCAPE;
D_PostEvent(&event);