diff options
Diffstat (limited to 'apps/keymaps')
-rw-r--r-- | apps/keymaps/keymap-dx50.c | 301 | ||||
-rw-r--r-- | apps/keymaps/keymap-touchscreen.c | 12 |
2 files changed, 175 insertions, 138 deletions
diff --git a/apps/keymaps/keymap-dx50.c b/apps/keymaps/keymap-dx50.c index ee3b32005a..c6bb814469 100644 --- a/apps/keymaps/keymap-dx50.c +++ b/apps/keymaps/keymap-dx50.c | |||
@@ -1,13 +1,15 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * __________ __ ___. | 2 | * __________ __ ___ |
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | 3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | 4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / |
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | 5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | 6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
7 | * \/ \/ \/ \/ \/ | 7 | * \/ \/ \/ \/ \/ |
8 | * $Id$ | ||
9 | * | 8 | * |
10 | * Copyright (C) 2010 Maurus Cuelenaere | 9 | * Copyright (C) 2014 by Ilia Sergachev: Initial Rockbox port to iBasso DX50 |
10 | * Copyright (C) 2014 by Mario Basister: iBasso DX90 port | ||
11 | * Copyright (C) 2014 by Simon Rothen: Initial Rockbox repository submission, additional features | ||
12 | * Copyright (C) 2014 by Udo Schläpfer: Code clean up, additional features | ||
11 | * | 13 | * |
12 | * This program is free software; you can redistribute it and/or | 14 | * This program is free software; you can redistribute it and/or |
13 | * modify it under the terms of the GNU General Public License | 15 | * modify it under the terms of the GNU General Public License |
@@ -19,7 +21,6 @@ | |||
19 | * | 21 | * |
20 | ****************************************************************************/ | 22 | ****************************************************************************/ |
21 | 23 | ||
22 | /* Button Code Definitions for iBasso DX50 & DX90 */ | ||
23 | 24 | ||
24 | #include <stdio.h> | 25 | #include <stdio.h> |
25 | #include <string.h> | 26 | #include <string.h> |
@@ -30,190 +31,214 @@ | |||
30 | #include "button.h" | 31 | #include "button.h" |
31 | #include "settings.h" | 32 | #include "settings.h" |
32 | 33 | ||
34 | |||
33 | /* | 35 | /* |
34 | * The format of the list is as follows | 36 | Button Code Definitions for iBasso DX50 & DX90. |
35 | * { Action Code, Button code, Prereq button code } | 37 | |
36 | * if there's no need to check the previous button's value, use BUTTON_NONE | 38 | The format of the list is as follows |
37 | * Insert LAST_ITEM_IN_LIST at the end of each mapping | 39 | |
38 | */ | 40 | { Action Code, Button code, Prereq button code } |
39 | 41 | ||
40 | static const struct button_mapping button_context_standard[] = { | 42 | If there's no need to check the previous button's value, use BUTTON_NONE. |
41 | { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, | 43 | CAVEAT: The action without prereq button code will allways be choosen if it has a |
42 | { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, | 44 | lower index in the list. |
43 | { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 45 | Insert LAST_ITEM_IN_LIST at the end of each mapping |
44 | { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 46 | */ |
45 | { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | 47 | |
46 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | 48 | |
47 | { ACTION_STD_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, | 49 | static const struct button_mapping button_context_standard[] = |
50 | { | ||
51 | { ACTION_STD_CONTEXT, BUTTON_PLAY | BUTTON_REPEAT, BUTTON_PLAY }, | ||
52 | { ACTION_STD_OK, BUTTON_PLAY | BUTTON_REL, BUTTON_PLAY }, | ||
53 | { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, | ||
54 | { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, | ||
55 | { ACTION_STD_PREVREPEAT, BUTTON_LEFT | BUTTON_REPEAT, BUTTON_NONE }, | ||
56 | { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT | BUTTON_REPEAT, BUTTON_NONE }, | ||
57 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | ||
48 | 58 | ||
49 | LAST_ITEM_IN_LIST | 59 | LAST_ITEM_IN_LIST |
50 | }; /* button_context_standard */ | 60 | }; |
51 | 61 | ||
52 | static const struct button_mapping button_context_wps[] = { | 62 | |
53 | { ACTION_WPS_MENU, BUTTON_POWER, BUTTON_NONE }, | 63 | static const struct button_mapping button_context_wps[] = |
54 | { ACTION_WPS_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, | 64 | { |
55 | { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, | 65 | { ACTION_WPS_MENU, BUTTON_POWER, BUTTON_NONE }, |
56 | { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, | 66 | { ACTION_WPS_CONTEXT, BUTTON_PLAY | BUTTON_REPEAT, BUTTON_NONE }, |
57 | { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, | 67 | { ACTION_WPS_PLAY, BUTTON_PLAY | BUTTON_REL, BUTTON_NONE }, |
58 | { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 68 | { ACTION_WPS_SEEKBACK, BUTTON_LEFT | BUTTON_REPEAT, BUTTON_NONE }, |
59 | { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 69 | { ACTION_WPS_SEEKFWD, BUTTON_RIGHT | BUTTON_REPEAT, BUTTON_NONE }, |
60 | { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, | 70 | { ACTION_WPS_STOPSEEK, BUTTON_LEFT | BUTTON_REL, BUTTON_LEFT | BUTTON_REPEAT }, |
61 | { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, | 71 | { ACTION_WPS_STOPSEEK, BUTTON_RIGHT | BUTTON_REL, BUTTON_RIGHT | BUTTON_REPEAT }, |
62 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | 72 | { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT | BUTTON_REL, BUTTON_NONE }, |
63 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 73 | { ACTION_WPS_SKIPPREV, BUTTON_LEFT | BUTTON_REL, BUTTON_NONE }, |
64 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 74 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, |
65 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 75 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP | BUTTON_REPEAT, BUTTON_NONE }, |
76 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
77 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN | BUTTON_REPEAT, BUTTON_NONE }, | ||
78 | |||
66 | LAST_ITEM_IN_LIST | 79 | LAST_ITEM_IN_LIST |
67 | }; /* button_context_wps */ | 80 | }; |
68 | 81 | ||
69 | static const struct button_mapping button_context_list[] = { | 82 | |
70 | #ifdef HAVE_VOLUME_IN_LIST | 83 | static const struct button_mapping button_context_list[] = |
71 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 84 | { |
72 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | 85 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP | BUTTON_REPEAT, BUTTON_NONE }, |
73 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 86 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, |
74 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 87 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, |
75 | #endif | 88 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN | BUTTON_REPEAT, BUTTON_NONE }, |
89 | |||
76 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), | 90 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), |
77 | }; /* button_context_list */ | 91 | }; |
78 | 92 | ||
79 | static const struct button_mapping button_context_tree[] = { | ||
80 | 93 | ||
94 | static const struct button_mapping button_context_tree[] = | ||
95 | { | ||
81 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), | 96 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), |
82 | }; /* button_context_tree */ | 97 | }; |
83 | 98 | ||
84 | static const struct button_mapping button_context_listtree_scroll_with_combo[] = { | 99 | |
85 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | 100 | static const struct button_mapping button_context_listtree_scroll_with_combo[] = |
101 | { | ||
102 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM | CONTEXT_TREE), | ||
86 | }; | 103 | }; |
87 | 104 | ||
88 | static const struct button_mapping button_context_listtree_scroll_without_combo[] = { | 105 | |
89 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | 106 | static const struct button_mapping button_context_listtree_scroll_without_combo[] = |
107 | { | ||
108 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM | CONTEXT_TREE), | ||
90 | }; | 109 | }; |
91 | 110 | ||
92 | static const struct button_mapping button_context_settings[] = { | 111 | |
93 | { ACTION_SETTINGS_INC, BUTTON_VOL_UP|BUTTON_REL, BUTTON_NONE }, | 112 | static const struct button_mapping button_context_settings[] = |
94 | { ACTION_SETTINGS_INCREPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 113 | { |
95 | { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE }, | 114 | { ACTION_SETTINGS_INC, BUTTON_VOL_UP | BUTTON_REL, BUTTON_NONE }, |
96 | { ACTION_SETTINGS_DECREPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 115 | { ACTION_SETTINGS_INCREPEAT, BUTTON_VOL_UP | BUTTON_REPEAT, BUTTON_NONE }, |
116 | { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN | BUTTON_REL, BUTTON_NONE }, | ||
117 | { ACTION_SETTINGS_DECREPEAT, BUTTON_VOL_DOWN | BUTTON_REPEAT, BUTTON_NONE }, | ||
118 | |||
97 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), | 119 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), |
98 | }; /* button_context_settings */ | 120 | }; |
99 | 121 | ||
100 | static const struct button_mapping button_context_settings_right_is_inc[] = { | ||
101 | 122 | ||
123 | static const struct button_mapping button_context_settings_right_is_inc[] = | ||
124 | { | ||
102 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), | 125 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), |
103 | }; /* button_context_settingsgraphical */ | 126 | }; |
104 | 127 | ||
105 | static const struct button_mapping button_context_mainmenu[] = { | 128 | |
129 | static const struct button_mapping button_context_mainmenu[] = | ||
130 | { | ||
131 | { ACTION_TREE_WPS, BUTTON_POWER, BUTTON_NONE }, | ||
106 | 132 | ||
107 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_TREE), | 133 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_TREE), |
108 | }; /* button_context_mainmenu */ | 134 | }; |
109 | 135 | ||
110 | static const struct button_mapping button_context_yesno[] = { | 136 | |
111 | { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, | 137 | static const struct button_mapping button_context_yesno[] = |
138 | { | ||
139 | { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, | ||
140 | { ACTION_YESNO_ACCEPT, BUTTON_LEFT, BUTTON_NONE }, | ||
112 | 141 | ||
113 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), | 142 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), |
114 | }; /* button_context_settings_yesno */ | 143 | }; |
115 | 144 | ||
116 | static const struct button_mapping button_context_colorchooser[] = { | ||
117 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), | ||
118 | }; /* button_context_colorchooser */ | ||
119 | 145 | ||
120 | static const struct button_mapping button_context_eq[] = { | 146 | static const struct button_mapping button_context_colorchooser[] = |
147 | { | ||
121 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), | 148 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), |
122 | }; /* button_context_eq */ | 149 | }; |
123 | 150 | ||
124 | static const struct button_mapping button_context_keyboard[] = { | ||
125 | { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, | ||
126 | { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
127 | { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | ||
128 | { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
129 | 151 | ||
130 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_NONE }, | 152 | static const struct button_mapping button_context_eq[] = |
131 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PLAY|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 153 | { |
132 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE }, | 154 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), |
133 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_PLAY|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 155 | }; |
134 | { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, | ||
135 | 156 | ||
136 | { ACTION_KBD_UP, BUTTON_VOL_UP, BUTTON_NONE }, | 157 | |
137 | { ACTION_KBD_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 158 | static const struct button_mapping button_context_keyboard[] = |
138 | { ACTION_KBD_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 159 | { |
139 | { ACTION_KBD_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 160 | { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, |
161 | { ACTION_KBD_LEFT, BUTTON_LEFT | BUTTON_REPEAT, BUTTON_NONE }, | ||
162 | { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | ||
163 | { ACTION_KBD_RIGHT, BUTTON_RIGHT | BUTTON_REPEAT, BUTTON_NONE }, | ||
164 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PLAY | BUTTON_LEFT, BUTTON_NONE }, | ||
165 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PLAY | BUTTON_LEFT | BUTTON_REPEAT, BUTTON_NONE }, | ||
166 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_PLAY | BUTTON_RIGHT, BUTTON_NONE }, | ||
167 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_PLAY | BUTTON_RIGHT | BUTTON_REPEAT, BUTTON_NONE }, | ||
168 | { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, | ||
169 | { ACTION_KBD_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
170 | { ACTION_KBD_UP, BUTTON_VOL_UP | BUTTON_REPEAT, BUTTON_NONE }, | ||
171 | { ACTION_KBD_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
172 | { ACTION_KBD_DOWN, BUTTON_VOL_DOWN | BUTTON_REPEAT, BUTTON_NONE }, | ||
140 | 173 | ||
141 | LAST_ITEM_IN_LIST | 174 | LAST_ITEM_IN_LIST |
142 | }; /* button_context_keyboard */ | 175 | }; |
176 | |||
143 | 177 | ||
144 | /** Bookmark Screen **/ | 178 | |
145 | static const struct button_mapping button_context_bmark[] = { | 179 | static const struct button_mapping button_context_bmark[] = |
180 | { | ||
146 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), | 181 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), |
147 | }; /* button_context_bmark */ | 182 | }; |
183 | |||
148 | 184 | ||
149 | static const struct button_mapping button_context_time[] = { | 185 | static const struct button_mapping button_context_time[] = |
186 | { | ||
150 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), | 187 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), |
151 | }; /* button_context_time */ | 188 | }; |
152 | 189 | ||
153 | static const struct button_mapping button_context_quickscreen[] = { | 190 | |
191 | static const struct button_mapping button_context_quickscreen[] = | ||
192 | { | ||
154 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 193 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
155 | }; /* button_context_quickscreen */ | 194 | }; |
156 | 195 | ||
157 | static const struct button_mapping button_context_pitchscreen[] = { | ||
158 | 196 | ||
159 | { ACTION_PS_INC_SMALL, BUTTON_VOL_UP|BUTTON_REL, BUTTON_NONE }, | 197 | static const struct button_mapping button_context_pitchscreen[] = |
160 | { ACTION_PS_DEC_SMALL, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE }, | 198 | { |
161 | { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, | 199 | { ACTION_PS_INC_SMALL, BUTTON_VOL_UP | BUTTON_REL, BUTTON_NONE }, |
200 | { ACTION_PS_DEC_SMALL, BUTTON_VOL_DOWN |BUTTON_REL, BUTTON_NONE }, | ||
201 | { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, | ||
162 | 202 | ||
163 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 203 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
164 | }; /* button_context_pitchcreen */ | 204 | }; |
165 | 205 | ||
166 | 206 | ||
167 | static const struct button_mapping button_context_radio[] = { | 207 | static const struct button_mapping button_context_radio[] = |
208 | { | ||
168 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) | 209 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) |
169 | }; /* button_context_radio */ | 210 | }; |
211 | |||
170 | 212 | ||
171 | const struct button_mapping* target_get_context_mapping(int context) | 213 | const struct button_mapping* target_get_context_mapping(int context) |
172 | { | 214 | { |
173 | switch (context) | 215 | switch(context) |
174 | { | 216 | { |
175 | case CONTEXT_STD: | 217 | case CONTEXT_STD: { return button_context_standard; } |
176 | return button_context_standard; | 218 | case CONTEXT_WPS: { return button_context_wps; } |
177 | case CONTEXT_WPS: | 219 | case CONTEXT_LIST: { return button_context_list; } |
178 | return button_context_wps; | 220 | case CONTEXT_MAINMENU: { return button_context_mainmenu; } |
179 | 221 | case CONTEXT_CUSTOM | CONTEXT_TREE: { return button_context_tree; } | |
180 | case CONTEXT_LIST: | 222 | case CONTEXT_SETTINGS: { return button_context_settings; } |
181 | return button_context_list; | 223 | case CONTEXT_SETTINGS_COLOURCHOOSER: { return button_context_colorchooser; } |
182 | case CONTEXT_MAINMENU: | 224 | case CONTEXT_SETTINGS_EQ: { return button_context_eq; } |
183 | return button_context_mainmenu; | 225 | case CONTEXT_SETTINGS_TIME: { return button_context_time; } |
226 | case CONTEXT_KEYBOARD: { return button_context_keyboard; } | ||
227 | case CONTEXT_FM: { return button_context_radio; } | ||
228 | case CONTEXT_BOOKMARKSCREEN: { return button_context_bmark; } | ||
229 | case CONTEXT_QUICKSCREEN: { return button_context_quickscreen; } | ||
230 | case CONTEXT_PITCHSCREEN: { return button_context_pitchscreen; } | ||
231 | case CONTEXT_CUSTOM | CONTEXT_SETTINGS: | ||
232 | case CONTEXT_SETTINGS_RECTRIGGER: { return button_context_settings_right_is_inc; } | ||
184 | case CONTEXT_TREE: | 233 | case CONTEXT_TREE: |
185 | if (global_settings.hold_lr_for_scroll_in_list) | 234 | { |
235 | if(global_settings.hold_lr_for_scroll_in_list) | ||
236 | { | ||
186 | return button_context_listtree_scroll_without_combo; | 237 | return button_context_listtree_scroll_without_combo; |
187 | else | 238 | } |
188 | return button_context_listtree_scroll_with_combo; | 239 | return button_context_listtree_scroll_with_combo; |
189 | case CONTEXT_CUSTOM|CONTEXT_TREE: | 240 | } |
190 | return button_context_tree; | ||
191 | |||
192 | case CONTEXT_SETTINGS: | ||
193 | return button_context_settings; | ||
194 | case CONTEXT_CUSTOM|CONTEXT_SETTINGS: | ||
195 | case CONTEXT_SETTINGS_RECTRIGGER: | ||
196 | return button_context_settings_right_is_inc; | ||
197 | |||
198 | case CONTEXT_SETTINGS_COLOURCHOOSER: | ||
199 | return button_context_colorchooser; | ||
200 | case CONTEXT_SETTINGS_EQ: | ||
201 | return button_context_eq; | ||
202 | |||
203 | case CONTEXT_SETTINGS_TIME: | ||
204 | return button_context_time; | ||
205 | |||
206 | case CONTEXT_KEYBOARD: | ||
207 | return button_context_keyboard; | ||
208 | |||
209 | case CONTEXT_FM: | ||
210 | return button_context_radio; | ||
211 | case CONTEXT_BOOKMARKSCREEN: | ||
212 | return button_context_bmark; | ||
213 | case CONTEXT_QUICKSCREEN: | ||
214 | return button_context_quickscreen; | ||
215 | case CONTEXT_PITCHSCREEN: | ||
216 | return button_context_pitchscreen; | ||
217 | } | 241 | } |
242 | |||
218 | return button_context_standard; | 243 | return button_context_standard; |
219 | } | 244 | } |
diff --git a/apps/keymaps/keymap-touchscreen.c b/apps/keymaps/keymap-touchscreen.c index 9825c92e7d..6163cb054c 100644 --- a/apps/keymaps/keymap-touchscreen.c +++ b/apps/keymaps/keymap-touchscreen.c | |||
@@ -171,6 +171,13 @@ static const struct button_mapping button_context_settings_right_is_inc[] = { | |||
171 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM2|CONTEXT_CUSTOM|CONTEXT_SETTINGS) | 171 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM2|CONTEXT_CUSTOM|CONTEXT_SETTINGS) |
172 | }; /* button_context_settingsgraphical */ | 172 | }; /* button_context_settingsgraphical */ |
173 | 173 | ||
174 | |||
175 | static const struct button_mapping button_context_mainmenu[] = | ||
176 | { | ||
177 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM2 | CONTEXT_MAINMENU) | ||
178 | }; | ||
179 | |||
180 | |||
174 | static const struct button_mapping button_context_yesno[] = { | 181 | static const struct button_mapping button_context_yesno[] = { |
175 | { ACTION_YESNO_ACCEPT, BUTTON_TOPRIGHT, BUTTON_NONE }, | 182 | { ACTION_YESNO_ACCEPT, BUTTON_TOPRIGHT, BUTTON_NONE }, |
176 | { ACTION_YESNO_ACCEPT, BUTTON_BOTTOMLEFT, BUTTON_NONE }, | 183 | { ACTION_YESNO_ACCEPT, BUTTON_BOTTOMLEFT, BUTTON_NONE }, |
@@ -389,7 +396,12 @@ const struct button_mapping* get_context_mapping(int context) | |||
389 | 396 | ||
390 | case CONTEXT_LIST: | 397 | case CONTEXT_LIST: |
391 | return button_context_list; | 398 | return button_context_list; |
399 | |||
392 | case CONTEXT_MAINMENU: | 400 | case CONTEXT_MAINMENU: |
401 | { | ||
402 | return button_context_mainmenu; | ||
403 | } | ||
404 | |||
393 | case CONTEXT_TREE: | 405 | case CONTEXT_TREE: |
394 | if (global_settings.hold_lr_for_scroll_in_list) | 406 | if (global_settings.hold_lr_for_scroll_in_list) |
395 | return button_context_listtree_scroll_without_combo; | 407 | return button_context_listtree_scroll_without_combo; |