summaryrefslogtreecommitdiff
path: root/apps/plugins/doom
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2015-12-27 18:14:41 +0100
committerSebastian Leonhardt <sebastian.leonhardt@web.de>2015-12-27 18:14:41 +0100
commit5e91ec14011656d8952007aceb99189cd28786ba (patch)
tree6e0d8a4850f5f7ec85f01bf599e840c25659881f /apps/plugins/doom
parentad65f8cc71bfe9e98936d5f781263850a9d50cc0 (diff)
downloadrockbox-5e91ec14011656d8952007aceb99189cd28786ba.zip
rockbox-5e91ec14011656d8952007aceb99189cd28786ba.tar.gz
rockbox-5e91ec14011656d8952007aceb99189cd28786ba.tar.bz2
rockbox-5e91ec14011656d8952007aceb99189cd28786ba.tar.xz
Samsung YH820/92x keymap bugfixes
This patch fixes some (mostly small) plugin issues with the "big" YH-keymap patch (a507b). Only one fix affects the main keymaps (virtual keyboard "DONE" now exits after long key /release/ instead of long button /press/). Change-Id: Id34f925ebfa97ae4974cd9405fbe1fee4f597833
Diffstat (limited to 'apps/plugins/doom')
-rw-r--r--apps/plugins/doom/i_video.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index c97dce9..8f13f4b 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -402,10 +402,9 @@ void I_ShutdownGraphics(void)
#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
+#define DOOMBUTTON_REC_SWITCH /* record switch toggles run mode; in game menu via hold switch */
#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
#define DOOMBUTTON_UP BUTTON_UP
@@ -618,7 +617,7 @@ static inline void getkey()
hswitch=0;
}
#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
- (CONFIG_KEYPAD == IPOD_1G2G_PAD)
+ (CONFIG_KEYPAD == IPOD_1G2G_PAD) || (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
/* Bring up the menu */
event.data1=KEY_ESCAPE;
#else
@@ -630,10 +629,12 @@ static inline void getkey()
holdbutton=rb->button_hold();
#endif
-#ifdef DOOMBUTTON_SCROLLWHEEL
+#if defined(DOOMBUTTON_SCROLLWHEEL) || defined(DOOMBUTTON_REC_SWITCH)
/* use button_get(false) for clickwheel checks */
int button; /* move me */
button = rb->button_get(false);
+
+#ifdef DOOMBUTTON_SCROLLWHEEL
switch(button){
case DOOMBUTTON_SCROLLWHEEL_CC | BUTTON_REPEAT:
case DOOMBUTTON_SCROLLWHEEL_CC:
@@ -649,6 +650,16 @@ static inline void getkey()
D_PostEvent(&event);
break;
}
+#endif
+#ifdef DOOMBUTTON_REC_SWITCH
+ if (button==BUTTON_REC_SW_ON || button==BUTTON_REC_SW_OFF) {
+ event.type = ev_keydown;
+ event.data1=KEY_CAPSLOCK; /* Enable run */
+ D_PostEvent(&event);
+ event.type = ev_keyup;
+ D_PostEvent(&event);
+ }
+#endif
#endif
newbuttonstate = rb->button_status();
#ifdef DOOMBUTTON_SCROLLWHEEL
@@ -696,11 +707,7 @@ static inline void getkey()
D_PostEvent(&event);
}
#ifdef DOOMBUTTON_ESC
- if(released & DOOMBUTTON_ESC
-#ifdef DOOMBUTTON_ESC2
- || released & DOOMBUTTON_ESC2
-#endif
- )
+ if(released & DOOMBUTTON_ESC)
{
event.data1=KEY_ESCAPE;
D_PostEvent(&event);
@@ -762,11 +769,7 @@ static inline void getkey()
D_PostEvent(&event);
}
#ifdef DOOMBUTTON_ESC
- if(pressed & DOOMBUTTON_ESC
-#ifdef DOOMBUTTON_ESC2
- || pressed & DOOMBUTTON_ESC2
-#endif
- )
+ if(pressed & DOOMBUTTON_ESC)
{
event.data1=KEY_ESCAPE;
D_PostEvent(&event);