summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitja Makarov <vitja.makarov@gmail.com>2009-09-11 11:16:21 +0000
committerVitja Makarov <vitja.makarov@gmail.com>2009-09-11 11:16:21 +0000
commit640fcab293b8ed2c8797645a87371bd741312e88 (patch)
treed1f9362a1217a7921df033cc23475c87f2ed06c2
parent8761d9e2405f2c665b6044defa5d32b4488d7bbd (diff)
downloadrockbox-640fcab293b8ed2c8797645a87371bd741312e88.tar.gz
rockbox-640fcab293b8ed2c8797645a87371bd741312e88.zip
iaudio7: keymap, fix some "sticky" keys
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22677 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/keymaps/keymap-iaudio67.c77
1 files changed, 36 insertions, 41 deletions
diff --git a/apps/keymaps/keymap-iaudio67.c b/apps/keymaps/keymap-iaudio67.c
index 14bb945527..ec700c5411 100644
--- a/apps/keymaps/keymap-iaudio67.c
+++ b/apps/keymaps/keymap-iaudio67.c
@@ -27,22 +27,22 @@
27 27
28/* {Action Code, Button code, Prereq button code } */ 28/* {Action Code, Button code, Prereq button code } */
29 29
30/* 30/*
31 * The format of the list is as follows 31 * The format of the list is as follows
32 * { Action Code, Button code, Prereq button code } 32 * { Action Code, Button code, Prereq button code }
33 * if there's no need to check the previous button's value, use BUTTON_NONE 33 * if there's no need to check the previous button's value, use BUTTON_NONE
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 */
36static const struct button_mapping button_context_standard[] = { 36static const struct button_mapping button_context_standard[] = {
37 { ACTION_STD_PREV, BUTTON_RIGHT, BUTTON_NONE }, 37 { ACTION_STD_PREV, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE },
38 { ACTION_STD_PREVREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 38 { ACTION_STD_PREVREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
39 39
40 { ACTION_STD_NEXT, BUTTON_LEFT, BUTTON_NONE }, 40 { ACTION_STD_NEXT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
41 { ACTION_STD_NEXTREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 41 { ACTION_STD_NEXTREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
42 42
43 { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, 43 { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
44 { ACTION_STD_OK, BUTTON_PLAY, BUTTON_NONE }, 44 { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
45 { ACTION_STD_CANCEL, BUTTON_STOP, BUTTON_NONE }, 45 { ACTION_STD_CANCEL, BUTTON_STOP|BUTTON_REL, BUTTON_NONE },
46 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, 46 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
47 47
48 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 48 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
@@ -81,16 +81,16 @@ static const struct button_mapping button_context_settings[] = {
81 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, 81 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE },
82// { ACTION_SETTINGS_RESET, BUTTON_PLAY, BUTTON_NONE }, 82// { ACTION_SETTINGS_RESET, BUTTON_PLAY, BUTTON_NONE },
83 83
84 { ACTION_SETTINGS_INC, BUTTON_VOLUP, BUTTON_NONE }, 84 { ACTION_SETTINGS_INC, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE },
85 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 85 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
86 86
87 { ACTION_SETTINGS_DEC, BUTTON_VOLDOWN, BUTTON_NONE }, 87 { ACTION_SETTINGS_DEC, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_NONE },
88 { ACTION_SETTINGS_DECREPEAT,BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 88 { ACTION_SETTINGS_DECREPEAT,BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
89 89
90 { ACTION_STD_PREV, BUTTON_RIGHT, BUTTON_NONE }, 90 { ACTION_STD_PREV, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE },
91 { ACTION_STD_PREVREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 91 { ACTION_STD_PREVREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
92 92
93 { ACTION_STD_NEXT, BUTTON_LEFT, BUTTON_NONE }, 93 { ACTION_STD_NEXT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
94 { ACTION_STD_NEXTREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 94 { ACTION_STD_NEXTREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
95 95
96 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), 96 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
@@ -99,9 +99,9 @@ static const struct button_mapping button_context_settings[] = {
99static const struct button_mapping button_context_list[] = { 99static const struct button_mapping button_context_list[] = {
100#ifdef HAVE_VOLUME_IN_LIST 100#ifdef HAVE_VOLUME_IN_LIST
101 { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 101 { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
102 { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, 102 { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REL, BUTTON_NONE },
103 103
104 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, 104 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE },
105 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 105 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
106#endif 106#endif
107 107
@@ -214,9 +214,9 @@ static const struct button_mapping button_context_recscreen[] = {
214 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, 214 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE },
215// { ACTION_REC_NEWFILE, BUTTON_REC|BUTTON_REL, BUTTON_REC }, 215// { ACTION_REC_NEWFILE, BUTTON_REC|BUTTON_REL, BUTTON_REC },
216 216
217 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, 217 { ACTION_SETTINGS_INC, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE },
218 { ACTION_SETTINGS_INCREPEAT,BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 218 { ACTION_SETTINGS_INCREPEAT,BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
219 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, 219 { ACTION_SETTINGS_DEC, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
220 { ACTION_SETTINGS_DECREPEAT,BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 220 { ACTION_SETTINGS_DECREPEAT,BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
221 221
222 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 222 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
@@ -226,46 +226,41 @@ static const struct button_mapping button_context_recscreen[] = {
226/** FM Radio Screen **/ 226/** FM Radio Screen **/
227#if CONFIG_TUNER 227#if CONFIG_TUNER
228static const struct button_mapping button_context_radio[] = { 228static const struct button_mapping button_context_radio[] = {
229 { ACTION_NONE, BUTTON_VOLUP, BUTTON_NONE }, 229 { ACTION_FM_MENU, BUTTON_MENU | BUTTON_REL, BUTTON_MENU },
230 { ACTION_FM_MENU, BUTTON_VOLDOWN, BUTTON_NONE }, 230 { ACTION_FM_MODE, BUTTON_MENU | BUTTON_REPEAT, BUTTON_MENU },
231 { ACTION_FM_PRESET, BUTTON_PLAY, BUTTON_NONE }, 231 { ACTION_FM_PRESET, BUTTON_STOP, BUTTON_NONE },
232 { ACTION_FM_STOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_VOLUP }, 232 { ACTION_FM_PLAY, BUTTON_PLAY | BUTTON_REL, BUTTON_NONE },
233// { ACTION_FM_MODE, BUTTON_REC, BUTTON_NONE }, 233 { ACTION_FM_STOP, BUTTON_PLAY | BUTTON_REPEAT, BUTTON_NONE },
234 { ACTION_FM_EXIT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 234 { ACTION_FM_EXIT, BUTTON_POWER, BUTTON_NONE },
235 { ACTION_FM_PLAY, BUTTON_VOLUP|BUTTON_REL, BUTTON_VOLUP },
236 { ACTION_SETTINGS_INC, BUTTON_LEFT, BUTTON_NONE },
237 { ACTION_SETTINGS_INCREPEAT,BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
238 { ACTION_SETTINGS_DEC, BUTTON_RIGHT, BUTTON_NONE },
239 { ACTION_SETTINGS_DECREPEAT,BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
240 235
241 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) 236 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS)
242}; /* button_context_radio */ 237}; /* button_context_radio */
243#endif 238#endif
244 239
245static const struct button_mapping button_context_keyboard[] = { 240static const struct button_mapping button_context_keyboard[] = {
246 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, 241 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
247 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 242 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
248 { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 243 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE },
249 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 244 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
250 245
251// { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_NONE }, 246// { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_NONE },
252// { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT,BUTTON_NONE }, 247// { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT,BUTTON_NONE },
253// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE }, 248// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE },
254// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE }, 249// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
255 250
256 { ACTION_KBD_UP, BUTTON_VOLUP, BUTTON_NONE }, 251 { ACTION_KBD_UP, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE },
257 { ACTION_KBD_UP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 252 { ACTION_KBD_UP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
258 { ACTION_KBD_DOWN, BUTTON_VOLDOWN, BUTTON_NONE }, 253 { ACTION_KBD_DOWN, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_NONE },
259 { ACTION_KBD_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 254 { ACTION_KBD_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
260 255
261// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN, BUTTON_NONE }, 256// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN, BUTTON_NONE },
262// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN|BUTTON_REPEAT,BUTTON_NONE }, 257// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN|BUTTON_REPEAT,BUTTON_NONE },
263 258
264// { ACTION_KBD_PAGE_FLIP, BUTTON_REC|BUTTON_PLAY, BUTTON_REC }, 259// { ACTION_KBD_PAGE_FLIP, BUTTON_REC|BUTTON_PLAY, BUTTON_REC },
265 260
266 { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, 261 { ACTION_KBD_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
267 { ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, 262 { ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
268 { ACTION_KBD_ABORT, BUTTON_MENU, BUTTON_NONE }, 263 { ACTION_KBD_ABORT, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
269 264
270 LAST_ITEM_IN_LIST 265 LAST_ITEM_IN_LIST
271}; /* button_context_keyboard */ 266}; /* button_context_keyboard */
@@ -283,7 +278,6 @@ const struct button_mapping* get_context_mapping(int context)
283 { 278 {
284 case CONTEXT_STD: 279 case CONTEXT_STD:
285 return button_context_standard; 280 return button_context_standard;
286
287 case CONTEXT_WPS: 281 case CONTEXT_WPS:
288 return button_context_wps; 282 return button_context_wps;
289 283
@@ -293,7 +287,7 @@ const struct button_mapping* get_context_mapping(int context)
293 case CONTEXT_MAINMENU: 287 case CONTEXT_MAINMENU:
294 if (global_settings.hold_lr_for_scroll_in_list) 288 if (global_settings.hold_lr_for_scroll_in_list)
295 return button_context_listtree_scroll_without_combo; 289 return button_context_listtree_scroll_without_combo;
296 else 290 else
297 return button_context_listtree_scroll_with_combo; 291 return button_context_listtree_scroll_with_combo;
298 case CONTEXT_CUSTOM|CONTEXT_TREE: 292 case CONTEXT_CUSTOM|CONTEXT_TREE:
299 return button_context_tree; 293 return button_context_tree;
@@ -327,6 +321,7 @@ const struct button_mapping* get_context_mapping(int context)
327 321
328 default: 322 default:
329 return button_context_standard; 323 return button_context_standard;
330 } 324 }
325
331 return button_context_standard; 326 return button_context_standard;
332} 327}