summaryrefslogtreecommitdiff
path: root/apps/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'apps/keymaps')
-rw-r--r--apps/keymaps/keymap-shanlingq1.c77
1 files changed, 77 insertions, 0 deletions
diff --git a/apps/keymaps/keymap-shanlingq1.c b/apps/keymaps/keymap-shanlingq1.c
new file mode 100644
index 0000000000..4745139e7a
--- /dev/null
+++ b/apps/keymaps/keymap-shanlingq1.c
@@ -0,0 +1,77 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2021 Aidan MacDonald
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22/* Button Code Definitions for Shanling Q1 target */
23
24#include "config.h"
25#include "action.h"
26#include "button.h"
27#include "settings.h"
28
29/* {Action Code, Button code, Prereq button code } */
30
31static const struct button_mapping button_context_standard[] = {
32 {ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE},
33 {ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE},
34 {ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
35 {ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
36 LAST_ITEM_IN_LIST
37}; /* button_context_standard */
38
39static const struct button_mapping button_context_wps[] = {
40 {ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
41 {ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
42 {ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REL, BUTTON_NONE},
43 {ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE},
44 {ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT},
45 {ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV},
46 {ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE},
47 {ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT},
48 {ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE},
49 {ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT},
50 {ACTION_STD_KEYLOCK, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
51 LAST_ITEM_IN_LIST
52}; /* button_context_wps */
53
54static const struct button_mapping button_context_list[] = {
55 {ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REL, BUTTON_NONE},
56 {ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE},
57 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
58}; /* button_context_list */
59
60const struct button_mapping* target_get_context_mapping(int context)
61{
62 switch (context)
63 {
64 default:
65 case CONTEXT_STD:
66 return button_context_standard;
67 case CONTEXT_WPS:
68 return button_context_wps;
69 case CONTEXT_TREE:
70 case CONTEXT_CUSTOM|CONTEXT_TREE:
71 case CONTEXT_MAINMENU:
72 case CONTEXT_BOOKMARKSCREEN:
73 //return button_context_tree;
74 case CONTEXT_LIST:
75 return button_context_list;
76 }
77}