diff options
Diffstat (limited to 'apps/keymaps/keymap-mr500.c')
-rwxr-xr-x | apps/keymaps/keymap-mr500.c | 262 |
1 files changed, 26 insertions, 236 deletions
diff --git a/apps/keymaps/keymap-mr500.c b/apps/keymaps/keymap-mr500.c index f1efb8a418..8c8e0e470b 100755 --- a/apps/keymaps/keymap-mr500.c +++ b/apps/keymaps/keymap-mr500.c | |||
@@ -34,317 +34,107 @@ | |||
34 | * Insert LAST_ITEM_IN_LIST at the end of each mapping | 34 | * Insert LAST_ITEM_IN_LIST at the end of each mapping |
35 | */ | 35 | */ |
36 | 36 | ||
37 | /* CONTEXT_CUSTOM's used in this file... | ||
38 | |||
39 | CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions) | ||
40 | CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker screens | ||
41 | i.e where up/down is inc/dec | ||
42 | CONTEXT_SETTINGS = up/down is prev/next, l/r is inc/dec | ||
43 | |||
44 | */ | ||
45 | |||
46 | #define BUTTON_UP BUTTON_RC_PLAY | ||
47 | #define BUTTON_DOWN BUTTON_RC_DOWN | ||
48 | #define BUTTON_LEFT BUTTON_RC_REW | ||
49 | #define BUTTON_RIGHT BUTTON_RC_FF | ||
50 | #define BUTTON_SELECT BUTTON_RC_MODE | ||
51 | #define BUTTON_MENU BUTTON_RC_HEART | ||
52 | #define BUTTON_VOL_UP BUTTON_RC_VOL_UP | ||
53 | #define BUTTON_VOL_DOWN BUTTON_RC_VOL_DOWN | ||
54 | #define BUTTON_A BUTTON_NONE | ||
55 | #define BUTTON_RC_DSP BUTTON_RC_HEART | ||
56 | |||
57 | static const struct button_mapping button_context_standard[] = { | ||
58 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | ||
59 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
60 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
61 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
62 | 37 | ||
63 | { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, | 38 | #define BUTTON_UP BUTTON_RC_PLAY |
64 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | 39 | #define BUTTON_DOWN BUTTON_RC_DOWN |
40 | //#define BUTTON_LEFT BUTTON_RC_REW | ||
41 | //#define BUTTON_RIGHT BUTTON_RC_FF | ||
65 | 42 | ||
66 | { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_SELECT }, | 43 | #define BUTTON_SELECT BUTTON_RC_HEART |
67 | 44 | #define BUTTON_MENU BUTTON_RC_MODE | |
68 | { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | 45 | #define BUTTON_VOL_DOWN BUTTON_RC_VOL_DOWN |
69 | { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | 46 | #define BUTTON_VOL_UP BUTTON_RC_VOL_UP |
70 | |||
71 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
72 | { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, | ||
73 | 47 | ||
48 | static const struct button_mapping button_context_standard[] = { | ||
49 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | ||
50 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
51 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
52 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
53 | |||
54 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
55 | { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, | ||
56 | { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
57 | |||
58 | { ACTION_STD_MENU, BUTTON_MENU, BUTTON_NONE }, | ||
59 | { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, | ||
60 | { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
61 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | ||
62 | { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, | ||
63 | { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
74 | LAST_ITEM_IN_LIST | 64 | LAST_ITEM_IN_LIST |
75 | }; /* button_context_standard */ | 65 | }; /* button_context_standard */ |
76 | 66 | ||
77 | 67 | ||
78 | static const struct button_mapping button_context_wps[] = { | 68 | static const struct button_mapping button_context_wps[] = { |
79 | { ACTION_WPS_PLAY, BUTTON_A|BUTTON_REL, BUTTON_A }, | ||
80 | { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
81 | |||
82 | { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
83 | { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
84 | |||
85 | { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
86 | { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
87 | { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, | ||
88 | { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, | ||
89 | |||
90 | { ACTION_WPS_ABSETB_NEXTDIR, BUTTON_A|BUTTON_RIGHT, BUTTON_A }, | ||
91 | { ACTION_WPS_ABSETA_PREVDIR, BUTTON_A|BUTTON_LEFT, BUTTON_A }, | ||
92 | { ACTION_WPS_ABRESET, BUTTON_A|BUTTON_SELECT, BUTTON_A }, | ||
93 | |||
94 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
95 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
96 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
97 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
98 | { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
99 | { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, | ||
100 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
101 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
102 | |||
103 | { ACTION_WPS_PITCHSCREEN, BUTTON_A|BUTTON_UP, BUTTON_A }, | ||
104 | { ACTION_WPS_PITCHSCREEN, BUTTON_A|BUTTON_DOWN, BUTTON_A }, | ||
105 | |||
106 | { ACTION_WPS_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
107 | { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
108 | { ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
109 | |||
110 | { ACTION_WPS_ID3SCREEN, BUTTON_A|BUTTON_MENU, BUTTON_NONE }, | ||
111 | { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
112 | |||
113 | LAST_ITEM_IN_LIST | 69 | LAST_ITEM_IN_LIST |
114 | }; /* button_context_wps */ | 70 | }; /* button_context_wps */ |
115 | 71 | ||
116 | static const struct button_mapping button_context_list[] = { | 72 | static const struct button_mapping button_context_list[] = { |
117 | { ACTION_LISTTREE_PGUP, BUTTON_A|BUTTON_UP, BUTTON_A }, | ||
118 | { ACTION_LISTTREE_PGUP, BUTTON_UP|BUTTON_REL, BUTTON_A|BUTTON_UP }, | ||
119 | { ACTION_LISTTREE_PGUP, BUTTON_A|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
120 | { ACTION_LISTTREE_PGDOWN, BUTTON_A|BUTTON_DOWN, BUTTON_A }, | ||
121 | { ACTION_LISTTREE_PGDOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_A|BUTTON_DOWN }, | ||
122 | { ACTION_LISTTREE_PGDOWN, BUTTON_A|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
123 | #ifdef HAVE_VOLUME_IN_LIST | ||
124 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
125 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
126 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
127 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
128 | #endif | ||
129 | |||
130 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 73 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
131 | }; /* button_context_list */ | 74 | }; /* button_context_list */ |
132 | 75 | ||
133 | static const struct button_mapping button_context_tree[] = { | 76 | static const struct button_mapping button_context_tree[] = { |
134 | { ACTION_TREE_WPS, BUTTON_A|BUTTON_REL, BUTTON_A }, | ||
135 | { ACTION_TREE_STOP, BUTTON_POWER, BUTTON_NONE }, | ||
136 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
137 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, | ||
138 | |||
139 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) | 77 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) |
140 | }; /* button_context_tree */ | 78 | }; /* button_context_tree */ |
141 | 79 | ||
142 | static const struct button_mapping button_context_listtree_scroll_with_combo[] = { | 80 | static const struct button_mapping button_context_listtree_scroll_with_combo[] = { |
143 | { ACTION_NONE, BUTTON_A, BUTTON_NONE }, | ||
144 | { ACTION_TREE_PGLEFT, BUTTON_A|BUTTON_LEFT, BUTTON_A }, | ||
145 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_A|BUTTON_LEFT }, | ||
146 | { ACTION_TREE_PGLEFT, BUTTON_A|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL }, | ||
147 | { ACTION_TREE_ROOT_INIT, BUTTON_A|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_A|BUTTON_LEFT }, | ||
148 | { ACTION_TREE_PGLEFT, BUTTON_A|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
149 | { ACTION_TREE_PGRIGHT, BUTTON_A|BUTTON_RIGHT, BUTTON_A }, | ||
150 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_A|BUTTON_RIGHT }, | ||
151 | { ACTION_TREE_PGRIGHT, BUTTON_A|BUTTON_RIGHT, BUTTON_RIGHT|BUTTON_REL }, | ||
152 | { ACTION_TREE_PGRIGHT, BUTTON_A|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
153 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | 81 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), |
154 | }; | 82 | }; |
155 | 83 | ||
156 | static const struct button_mapping button_context_listtree_scroll_without_combo[] = { | 84 | static const struct button_mapping button_context_listtree_scroll_without_combo[] = { |
157 | { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, | ||
158 | { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
159 | { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
160 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
161 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, | ||
162 | { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, | ||
163 | { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
164 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
165 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, | ||
166 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | 85 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), |
167 | }; | 86 | }; |
168 | 87 | ||
169 | static const struct button_mapping button_context_settings[] = { | 88 | static const struct button_mapping button_context_settings[] = { |
170 | { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, | ||
171 | { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
172 | { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, | ||
173 | { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
174 | { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, | ||
175 | { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
176 | { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, | ||
177 | { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
178 | { ACTION_SETTINGS_RESET, BUTTON_A, BUTTON_NONE }, | ||
179 | 89 | ||
180 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 90 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
181 | }; /* button_context_settings */ | 91 | }; /* button_context_settings */ |
182 | 92 | ||
183 | static const struct button_mapping button_context_settings_right_is_inc[] = { | 93 | static const struct button_mapping button_context_settings_right_is_inc[] = { |
184 | { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, | ||
185 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
186 | { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, | ||
187 | { ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
188 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | ||
189 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
190 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
191 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
192 | { ACTION_SETTINGS_RESET, BUTTON_A, BUTTON_NONE }, | ||
193 | 94 | ||
194 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 95 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
195 | }; /* button_context_settingsgraphical */ | 96 | }; /* button_context_settingsgraphical */ |
196 | 97 | ||
197 | static const struct button_mapping button_context_yesno[] = { | 98 | static const struct button_mapping button_context_yesno[] = { |
198 | { ACTION_YESNO_ACCEPT, BUTTON_SELECT, BUTTON_NONE }, | ||
199 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 99 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
200 | }; /* button_context_settings_yesno */ | 100 | }; /* button_context_settings_yesno */ |
201 | 101 | ||
202 | static const struct button_mapping button_context_colorchooser[] = { | 102 | static const struct button_mapping button_context_colorchooser[] = { |
203 | { ACTION_STD_OK, BUTTON_A|BUTTON_REL, BUTTON_NONE }, | ||
204 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | 103 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), |
205 | }; /* button_context_colorchooser */ | 104 | }; /* button_context_colorchooser */ |
206 | 105 | ||
207 | static const struct button_mapping button_context_eq[] = { | 106 | static const struct button_mapping button_context_eq[] = { |
208 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
209 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | 107 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), |
210 | }; /* button_context_eq */ | 108 | }; /* button_context_eq */ |
211 | 109 | ||
212 | /** Bookmark Screen **/ | 110 | /** Bookmark Screen **/ |
213 | static const struct button_mapping button_context_bmark[] = { | 111 | static const struct button_mapping button_context_bmark[] = { |
214 | { ACTION_BMS_DELETE, BUTTON_A, BUTTON_NONE }, | ||
215 | |||
216 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), | 112 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), |
217 | }; /* button_context_bmark */ | 113 | }; /* button_context_bmark */ |
218 | 114 | ||
219 | static const struct button_mapping button_context_time[] = { | 115 | static const struct button_mapping button_context_time[] = { |
220 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | ||
221 | { ACTION_STD_OK, BUTTON_A, BUTTON_NONE }, | ||
222 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), | 116 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), |
223 | }; /* button_context_time */ | 117 | }; /* button_context_time */ |
224 | 118 | ||
225 | static const struct button_mapping button_context_quickscreen[] = { | 119 | static const struct button_mapping button_context_quickscreen[] = { |
226 | { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, | ||
227 | { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
228 | { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
229 | { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
230 | { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, | ||
231 | { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
232 | { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | ||
233 | { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
234 | { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, | ||
235 | 120 | ||
236 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 121 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
237 | }; /* button_context_quickscreen */ | 122 | }; /* button_context_quickscreen */ |
238 | 123 | ||
239 | static const struct button_mapping button_context_pitchscreen[] = { | 124 | static const struct button_mapping button_context_pitchscreen[] = { |
240 | { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, | ||
241 | { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
242 | { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, | ||
243 | { ACTION_PS_DEC_BIG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
244 | { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE }, | ||
245 | { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, | ||
246 | { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | ||
247 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, | ||
248 | { ACTION_PS_TOGGLE_MODE, BUTTON_MENU, BUTTON_NONE }, | ||
249 | { ACTION_PS_RESET, BUTTON_A, BUTTON_NONE }, | ||
250 | { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, | ||
251 | 125 | ||
252 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 126 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
253 | }; /* button_context_pitchcreen */ | 127 | }; /* button_context_pitchcreen */ |
254 | 128 | ||
255 | static const struct button_mapping button_context_keyboard[] = { | 129 | static const struct button_mapping button_context_keyboard[] = { |
256 | { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, | ||
257 | { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
258 | { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | ||
259 | { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
260 | { ACTION_KBD_CURSOR_LEFT, BUTTON_A|BUTTON_LEFT, BUTTON_NONE }, | ||
261 | { ACTION_KBD_CURSOR_LEFT, BUTTON_A|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
262 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_A|BUTTON_RIGHT, BUTTON_NONE }, | ||
263 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_A|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
264 | { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, | ||
265 | { ACTION_KBD_PAGE_FLIP, BUTTON_A|BUTTON_MENU, BUTTON_NONE }, | ||
266 | { ACTION_KBD_DONE, BUTTON_A|BUTTON_REL, BUTTON_A }, | ||
267 | { ACTION_KBD_ABORT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
268 | { ACTION_KBD_BACKSPACE, BUTTON_MENU, BUTTON_NONE }, | ||
269 | { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, | ||
270 | { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, | ||
271 | { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
272 | { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
273 | { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
274 | { ACTION_KBD_MORSE_INPUT, BUTTON_A|BUTTON_POWER, BUTTON_NONE }, | ||
275 | { ACTION_KBD_MORSE_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
276 | 130 | ||
277 | LAST_ITEM_IN_LIST | 131 | LAST_ITEM_IN_LIST |
278 | }; /* button_context_keyboard */ | 132 | }; /* button_context_keyboard */ |
279 | 133 | ||
280 | /***************************************************************************** | 134 | extern int current_tick; |
281 | * Remote control mappings | ||
282 | *****************************************************************************/ | ||
283 | |||
284 | static const struct button_mapping remote_button_context_standard[] = { | ||
285 | { ACTION_STD_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
286 | { ACTION_STD_PREVREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
287 | { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
288 | { ACTION_STD_NEXTREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
289 | { ACTION_STD_CANCEL, BUTTON_RC_REW, BUTTON_NONE }, | ||
290 | { ACTION_STD_OK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
291 | { ACTION_STD_CONTEXT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | ||
292 | { ACTION_STD_MENU, BUTTON_RC_DSP, BUTTON_NONE }, | ||
293 | |||
294 | LAST_ITEM_IN_LIST | ||
295 | }; | ||
296 | |||
297 | static const struct button_mapping remote_button_context_wps[] = { | ||
298 | { ACTION_WPS_PLAY, BUTTON_RC_PLAY, BUTTON_NONE }, | ||
299 | |||
300 | { ACTION_WPS_SKIPNEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
301 | { ACTION_WPS_SKIPPREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
302 | |||
303 | { ACTION_WPS_SEEKBACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
304 | { ACTION_WPS_SEEKFWD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
305 | { ACTION_WPS_STOPSEEK, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT }, | ||
306 | { ACTION_WPS_STOPSEEK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_REPEAT }, | ||
307 | |||
308 | { ACTION_WPS_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
309 | { ACTION_WPS_MENU, BUTTON_RC_DSP, BUTTON_NONE }, | ||
310 | |||
311 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
312 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
313 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
314 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
315 | |||
316 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
317 | }; | ||
318 | |||
319 | static const struct button_mapping remote_button_context_tree[] = { | ||
320 | { ACTION_TREE_WPS, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
321 | { ACTION_TREE_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
322 | { ACTION_STD_CANCEL, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
323 | |||
324 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
325 | }; | ||
326 | |||
327 | static const struct button_mapping* get_context_mapping_remote( int context ) | ||
328 | { | ||
329 | context ^= CONTEXT_REMOTE; | ||
330 | |||
331 | switch (context) | ||
332 | { | ||
333 | case CONTEXT_WPS: | ||
334 | return remote_button_context_wps; | ||
335 | case CONTEXT_MAINMENU: | ||
336 | case CONTEXT_TREE: | ||
337 | return remote_button_context_tree; | ||
338 | } | ||
339 | return remote_button_context_standard; | ||
340 | } | ||
341 | |||
342 | const struct button_mapping* get_context_mapping(int context) | 135 | const struct button_mapping* get_context_mapping(int context) |
343 | { | 136 | { |
344 | if (context&CONTEXT_REMOTE) | 137 | switch (context&(~CONTEXT_REMOTE)) |
345 | return get_context_mapping_remote(context); | ||
346 | |||
347 | switch (context) | ||
348 | { | 138 | { |
349 | case CONTEXT_STD: | 139 | case CONTEXT_STD: |
350 | return button_context_standard; | 140 | return button_context_standard; |