From 5e91ec14011656d8952007aceb99189cd28786ba Mon Sep 17 00:00:00 2001 From: Sebastian Leonhardt Date: Sun, 27 Dec 2015 18:14:41 +0100 Subject: 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 --- apps/plugins/doom/i_video.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'apps/plugins/doom/i_video.c') diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c index c97dce9821..8f13f4b9cd 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); -- cgit v1.2.3