summaryrefslogtreecommitdiff
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)
395#elif CONFIG_KEYPAD == ONDAVX777_PAD 395#elif CONFIG_KEYPAD == ONDAVX777_PAD
396#define DOOMBUTTON_ESC BUTTON_POWER 396#define DOOMBUTTON_ESC BUTTON_POWER
397 397
398#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ 398#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
399 (CONFIG_KEYPAD == SAMSUNG_YH920_PAD) 399#define DOOMBUTTON_UP BUTTON_UP
400#define DOOMBUTTON_DOWN BUTTON_DOWN
401#define DOOMBUTTON_LEFT BUTTON_LEFT
402#define DOOMBUTTON_RIGHT BUTTON_RIGHT
403#define DOOMBUTTON_SHOOT BUTTON_PLAY
404#define DOOMBUTTON_OPEN BUTTON_REW
405#define DOOMBUTTON_ESC BUTTON_REC_SW_ON
406#define DOOMBUTTON_ESC2 BUTTON_REC_SW_OFF
407#define DOOMBUTTON_ENTER BUTTON_PLAY
408#define DOOMBUTTON_WEAPON BUTTON_FFWD
409
410#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
400#define DOOMBUTTON_UP BUTTON_UP 411#define DOOMBUTTON_UP BUTTON_UP
401#define DOOMBUTTON_DOWN BUTTON_DOWN 412#define DOOMBUTTON_DOWN BUTTON_DOWN
402#define DOOMBUTTON_LEFT BUTTON_LEFT 413#define DOOMBUTTON_LEFT BUTTON_LEFT
@@ -404,7 +415,7 @@ void I_ShutdownGraphics(void)
404#define DOOMBUTTON_SHOOT BUTTON_PLAY 415#define DOOMBUTTON_SHOOT BUTTON_PLAY
405#define DOOMBUTTON_OPEN BUTTON_REW 416#define DOOMBUTTON_OPEN BUTTON_REW
406#define DOOMBUTTON_ESC BUTTON_REC 417#define DOOMBUTTON_ESC BUTTON_REC
407#define DOOMBUTTON_ENTER BUTTON_FFWD 418#define DOOMBUTTON_ENTER BUTTON_PLAY
408#define DOOMBUTTON_WEAPON BUTTON_FFWD 419#define DOOMBUTTON_WEAPON BUTTON_FFWD
409 420
410#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD 421#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
@@ -685,7 +696,11 @@ static inline void getkey()
685 D_PostEvent(&event); 696 D_PostEvent(&event);
686 } 697 }
687#ifdef DOOMBUTTON_ESC 698#ifdef DOOMBUTTON_ESC
688 if(released & DOOMBUTTON_ESC) 699 if(released & DOOMBUTTON_ESC
700#ifdef DOOMBUTTON_ESC2
701 || released & DOOMBUTTON_ESC2
702#endif
703 )
689 { 704 {
690 event.data1=KEY_ESCAPE; 705 event.data1=KEY_ESCAPE;
691 D_PostEvent(&event); 706 D_PostEvent(&event);
@@ -747,7 +762,11 @@ static inline void getkey()
747 D_PostEvent(&event); 762 D_PostEvent(&event);
748 } 763 }
749#ifdef DOOMBUTTON_ESC 764#ifdef DOOMBUTTON_ESC
750 if(pressed & DOOMBUTTON_ESC) 765 if(pressed & DOOMBUTTON_ESC
766#ifdef DOOMBUTTON_ESC2
767 || pressed & DOOMBUTTON_ESC2
768#endif
769 )
751 { 770 {
752 event.data1=KEY_ESCAPE; 771 event.data1=KEY_ESCAPE;
753 D_PostEvent(&event); 772 D_PostEvent(&event);