summaryrefslogtreecommitdiff
path: root/apps/plugins/chessbox
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/chessbox
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/chessbox')
-rw-r--r--apps/plugins/chessbox/chessbox.c4
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h26
2 files changed, 24 insertions, 6 deletions
diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c
index 906cc5d4c8..be69f672e4 100644
--- a/apps/plugins/chessbox/chessbox.c
+++ b/apps/plugins/chessbox/chessbox.c
@@ -680,6 +680,10 @@ static struct cb_command cb_getcommand (void) {
680#ifdef CB_PLAY_PRE 680#ifdef CB_PLAY_PRE
681 if (lastbutton != CB_PLAY_PRE) 681 if (lastbutton != CB_PLAY_PRE)
682 break; 682 break;
683 /* fallthrough */
684#endif
685#ifdef CB_PLAY_ALT
686 case CB_PLAY_ALT:
683#endif 687#endif
684 result.type = COMMAND_PLAY; 688 result.type = COMMAND_PLAY;
685 return result; 689 return result;
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 159bdf13a7..e38d7f417f 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -357,16 +357,30 @@
357#elif CONFIG_KEYPAD == ONDAVX777_PAD 357#elif CONFIG_KEYPAD == ONDAVX777_PAD
358#define CB_MENU BUTTON_POWER 358#define CB_MENU BUTTON_POWER
359 359
360#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ 360#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
361 (CONFIG_KEYPAD == SAMSUNG_YH920_PAD) 361#define CB_SELECT BUTTON_PLAY
362#define CB_SELECT BUTTON_FFWD
363#define CB_UP BUTTON_UP 362#define CB_UP BUTTON_UP
364#define CB_DOWN BUTTON_DOWN 363#define CB_DOWN BUTTON_DOWN
365#define CB_LEFT BUTTON_LEFT 364#define CB_LEFT BUTTON_LEFT
366#define CB_RIGHT BUTTON_RIGHT 365#define CB_RIGHT BUTTON_RIGHT
367#define CB_PLAY BUTTON_PLAY 366#define CB_PLAY BUTTON_REC
368#define CB_LEVEL (BUTTON_REW|BUTTON_RIGHT) 367#define CB_LEVEL BUTTON_FFWD
369#define CB_MENU (BUTTON_REW|BUTTON_LEFT) 368#define CB_MENU BUTTON_REW
369#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
370#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
371#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
372#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
373
374#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
375#define CB_SELECT BUTTON_PLAY
376#define CB_UP BUTTON_UP
377#define CB_DOWN BUTTON_DOWN
378#define CB_LEFT BUTTON_LEFT
379#define CB_RIGHT BUTTON_RIGHT
380#define CB_PLAY BUTTON_REC_SW_ON
381#define CB_PLAY_ALT BUTTON_REC_SW_OFF
382#define CB_LEVEL BUTTON_FFWD
383#define CB_MENU BUTTON_REW
370#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT) 384#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
371#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT) 385#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
372#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) 386#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)