summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/action.h37
-rw-r--r--apps/bookmark.c14
-rw-r--r--apps/eq_menu.c14
-rw-r--r--apps/gui/color_picker.c4
-rw-r--r--apps/keymaps/keymap-h10.c15
-rw-r--r--apps/keymaps/keymap-h1x0_h3x0.c63
-rw-r--r--apps/keymaps/keymap-ifp7xx.c13
-rw-r--r--apps/keymaps/keymap-ipod.c23
-rw-r--r--apps/keymaps/keymap-ondio.c10
-rw-r--r--apps/keymaps/keymap-recorder.c6
-rw-r--r--apps/keymaps/keymap-x5.c15
-rw-r--r--apps/screens.c4
12 files changed, 141 insertions, 77 deletions
diff --git a/apps/action.h b/apps/action.h
index a74a2e145d..147b1532b7 100644
--- a/apps/action.h
+++ b/apps/action.h
@@ -46,13 +46,25 @@ enum {
46 CONTEXT_ID3DB = 5, 46 CONTEXT_ID3DB = 5,
47 /* Add new contexts here, no need to explicitly define a value for them */ 47 /* Add new contexts here, no need to explicitly define a value for them */
48 CONTEXT_LIST, 48 CONTEXT_LIST,
49 CONTEXT_SETTINGS, /* options style settings, like from menus */ 49 CONTEXT_SETTINGS, /* regular setting screens (and debug screens) */
50 CONTEXT_SETTINGSGRAPHICAL, /* screens like eq config and colour chooser */ 50 /* bellow are setting screens which may need to redefine the standard
51 51 setting screen keys, targets should return the CONTEXT_SETTINGS
52 CONTEXT_YESNOSCREEN, /*NOTE: make sure your target has this and ACTION_YESNO_ACCEPT */ 52 keymap unless they are not adequate for the screen
53 CONTEXT_BOOKMARKSCREEN, /*NOTE: requires the action_setting_* mappings also */ 53 NOTE: uses ACTION_STD_[NEXT|PREV] so make sure they are there also
54 and (possibly) ACTION_SETTINGS_[INC|DEC] */
55 CONTEXT_SETTINGS_EQ,
56 CONTEXT_SETTINGS_COLOURCHOOSER,
57 CONTEXT_SETTINGS_TIME,
58
59 /* The following contexts should use ACTION_STD_[NEXT|PREV]
60 and (possibly) ACTION_SETTINGS_[INC|DEC]
61 Also add any extra actions they need */
62 CONTEXT_BOOKMARKSCREEN, /* uses ACTION_BMS_ defines */
63 CONTEXT_ALARMSCREEN, /* uses ACTION_AS_ defines */
54 CONTEXT_QUICKSCREEN, /* uses ACTION_QS_ defines below */ 64 CONTEXT_QUICKSCREEN, /* uses ACTION_QS_ defines below */
55 CONTEXT_PITCHSCREEN, /* uses ACTION_PS_ defines below */ 65 CONTEXT_PITCHSCREEN, /* uses ACTION_PS_ defines below */
66
67 CONTEXT_YESNOSCREEN, /*NOTE: make sure your target has this and ACTION_YESNO_ACCEPT */
56 CONTEXT_RECSCREEN, 68 CONTEXT_RECSCREEN,
57}; 69};
58 70
@@ -127,15 +139,19 @@ enum {
127 /* settings */ 139 /* settings */
128 ACTION_SETTINGS_INC, 140 ACTION_SETTINGS_INC,
129 ACTION_SETTINGS_INCREPEAT, 141 ACTION_SETTINGS_INCREPEAT,
142 ACTION_SETTINGS_INCBIGSTEP,
130 ACTION_SETTINGS_DEC, 143 ACTION_SETTINGS_DEC,
131 ACTION_SETTINGS_DECREPEAT, 144 ACTION_SETTINGS_DECREPEAT,
132 145 ACTION_SETTINGS_DECBIGSTEP,
133 /* yesno screen */ 146 ACTION_SETTINGS_RESET,
134 ACTION_YESNO_ACCEPT,
135 147
136 /* bookmark screen */ 148 /* bookmark screen */
137 ACTION_BMARK_DELETE, 149 ACTION_BMS_SELECT,
150 ACTION_BMS_DELETE,
151 ACTION_BMS_EXIT,
138 152
153 /* alarm menu screen */
154
139 /* quickscreen */ 155 /* quickscreen */
140 ACTION_QS_LEFT, 156 ACTION_QS_LEFT,
141 ACTION_QS_RIGHT, 157 ACTION_QS_RIGHT,
@@ -155,6 +171,9 @@ enum {
155 ACTION_PS_RESET, 171 ACTION_PS_RESET,
156 ACTION_PS_EXIT, /* _STD_* isnt going to work here */ 172 ACTION_PS_EXIT, /* _STD_* isnt going to work here */
157 173
174 /* yesno screen */
175 ACTION_YESNO_ACCEPT,
176
158 177
159}; 178};
160 179
diff --git a/apps/bookmark.c b/apps/bookmark.c
index 8c30ec1466..412ecdea6e 100644
--- a/apps/bookmark.c
+++ b/apps/bookmark.c
@@ -571,7 +571,7 @@ static char* select_bookmark(const char* bookmark_file_name)
571#endif 571#endif
572 572
573 bookmark_count = get_bookmark_count(bookmark_file_name); 573 bookmark_count = get_bookmark_count(bookmark_file_name);
574 574 action_signalscreenchange();
575 while(true) 575 while(true)
576 { 576 {
577 if(bookmark_id < 0) 577 if(bookmark_id < 0)
@@ -612,7 +612,7 @@ static char* select_bookmark(const char* bookmark_file_name)
612 key = get_action(CONTEXT_BOOKMARKSCREEN,TIMEOUT_BLOCK); 612 key = get_action(CONTEXT_BOOKMARKSCREEN,TIMEOUT_BLOCK);
613 switch(key) 613 switch(key)
614 { 614 {
615 case ACTION_STD_OK: 615 case ACTION_BMS_SELECT:
616 /* User wants to use this bookmark */ 616 /* User wants to use this bookmark */
617#ifdef HAVE_LCD_BITMAP 617#ifdef HAVE_LCD_BITMAP
618 if (global_settings.statusbar) 618 if (global_settings.statusbar)
@@ -629,7 +629,7 @@ static char* select_bookmark(const char* bookmark_file_name)
629 action_signalscreenchange(); 629 action_signalscreenchange();
630 return bookmark; 630 return bookmark;
631 631
632 case ACTION_BMARK_DELETE: 632 case ACTION_BMS_DELETE:
633 /* User wants to delete this bookmark */ 633 /* User wants to delete this bookmark */
634 delete_bookmark(bookmark_file_name, bookmark_id); 634 delete_bookmark(bookmark_file_name, bookmark_id);
635 bookmark_id_prev=-2; 635 bookmark_id_prev=-2;
@@ -638,15 +638,17 @@ static char* select_bookmark(const char* bookmark_file_name)
638 bookmark_id = bookmark_count -1; 638 bookmark_id = bookmark_count -1;
639 break; 639 break;
640 640
641 case ACTION_SETTINGS_DEC: 641 case ACTION_STD_PREV:
642 case ACTION_STD_PREVREPEAT:
642 bookmark_id--; 643 bookmark_id--;
643 break; 644 break;
644 645
645 case ACTION_SETTINGS_INC: 646 case ACTION_STD_NEXT:
647 case ACTION_STD_NEXTREPEAT:
646 bookmark_id++; 648 bookmark_id++;
647 break; 649 break;
648 650
649 case ACTION_STD_CANCEL: 651 case ACTION_BMS_EXIT:
650#ifdef HAVE_LCD_BITMAP 652#ifdef HAVE_LCD_BITMAP
651 FOR_NB_SCREENS(i) 653 FOR_NB_SCREENS(i)
652 screens[i].setmargins(x, y); 654 screens[i].setmargins(x, y);
diff --git a/apps/eq_menu.c b/apps/eq_menu.c
index 7c8b1590c3..0743490723 100644
--- a/apps/eq_menu.c
+++ b/apps/eq_menu.c
@@ -619,7 +619,7 @@ bool eq_menu_graphical(void)
619 screens[i].update(); 619 screens[i].update();
620 } 620 }
621 621
622 button = get_action(CONTEXT_SETTINGSGRAPHICAL,TIMEOUT_BLOCK); 622 button = get_action(CONTEXT_SETTINGS_EQ,TIMEOUT_BLOCK);
623 623
624 switch (button) { 624 switch (button) {
625 case ACTION_SETTINGS_DEC: 625 case ACTION_SETTINGS_DEC:
@@ -638,23 +638,19 @@ bool eq_menu_graphical(void)
638 *(setting) = max; 638 *(setting) = max;
639 break; 639 break;
640 640
641#ifdef EQ_BTN_MODIFIER 641 case ACTION_SETTINGS_INCBIGSTEP:
642 case EQ_BTN_MODIFIER | EQ_BTN_INCREMENT:
643 case EQ_BTN_MODIFIER | EQ_BTN_INCREMENT | BUTTON_REPEAT:
644 *(setting) += fast_step; 642 *(setting) += fast_step;
645 has_changed = true; 643 has_changed = true;
646 if (*(setting) > max) 644 if (*(setting) > max)
647 *(setting) = max; 645 *(setting) = max;
648 break; 646 break;
649 647
650 case EQ_BTN_MODIFIER | EQ_BTN_DECREMENT: 648 case ACTION_SETTINGS_DECBIGSTEP:
651 case EQ_BTN_MODIFIER | EQ_BTN_DECREMENT | BUTTON_REPEAT:
652 *(setting) -= fast_step; 649 *(setting) -= fast_step;
653 has_changed = true; 650 has_changed = true;
654 if (*(setting) < min) 651 if (*(setting) < min)
655 *(setting) = min; 652 *(setting) = min;
656 break; 653 break;
657#endif
658 654
659 case ACTION_STD_PREV: 655 case ACTION_STD_PREV:
660 case ACTION_STD_PREVREPEAT: 656 case ACTION_STD_PREVREPEAT:
@@ -670,13 +666,13 @@ bool eq_menu_graphical(void)
670 current_band = 0; /* wrap around */ 666 current_band = 0; /* wrap around */
671 break; 667 break;
672 668
673 case ACTION_STD_OK: 669 case ACTION_STD_OK:
674 mode++; 670 mode++;
675 if (mode > Q) 671 if (mode > Q)
676 mode = GAIN; /* wrap around */ 672 mode = GAIN; /* wrap around */
677 break; 673 break;
678 674
679 case ACTION_STD_CANCEL: 675 case ACTION_STD_CANCEL:
680 exit_request = true; 676 exit_request = true;
681 result = false; 677 result = false;
682 break; 678 break;
diff --git a/apps/gui/color_picker.c b/apps/gui/color_picker.c
index 3decd30207..1217fcd08c 100644
--- a/apps/gui/color_picker.c
+++ b/apps/gui/color_picker.c
@@ -184,14 +184,16 @@ bool set_color(struct screen *display,char *title, int* color, int banned_color)
184 draw_screen(&screens[i], title, rgb_val, newcolor, slider); 184 draw_screen(&screens[i], title, rgb_val, newcolor, slider);
185 } 185 }
186 186
187 button = get_action(CONTEXT_SETTINGSGRAPHICAL,TIMEOUT_BLOCK); 187 button = get_action(CONTEXT_SETTINGS_COLOURCHOOSER,TIMEOUT_BLOCK);
188 switch (button) 188 switch (button)
189 { 189 {
190 case ACTION_STD_PREV: 190 case ACTION_STD_PREV:
191 case ACTION_STD_PREVREPEAT:
191 slider = (slider+2)%3; 192 slider = (slider+2)%3;
192 break; 193 break;
193 194
194 case ACTION_STD_NEXT: 195 case ACTION_STD_NEXT:
196 case ACTION_STD_NEXTREPEAT:
195 slider = (slider+1)%3; 197 slider = (slider+1)%3;
196 break; 198 break;
197 199
diff --git a/apps/keymaps/keymap-h10.c b/apps/keymaps/keymap-h10.c
index 029615faa5..db55f825e9 100644
--- a/apps/keymaps/keymap-h10.c
+++ b/apps/keymaps/keymap-h10.c
@@ -100,7 +100,7 @@ const struct button_mapping button_context_tree_scroll_lr[] = {
100 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 100 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
101 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, 101 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT },
102 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, 102 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT },
103 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|1), 103 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
104}; /* button_context_tree_scroll_lr */ 104}; /* button_context_tree_scroll_lr */
105 105
106const struct button_mapping button_context_yesno[] = { 106const struct button_mapping button_context_yesno[] = {
@@ -122,7 +122,7 @@ const struct button_mapping button_context_quickscreen[] = {
122 LAST_ITEM_IN_LIST 122 LAST_ITEM_IN_LIST
123}; /* button_context_quickscreen */ 123}; /* button_context_quickscreen */
124 124
125const struct button_mapping button_context_settingsgraphical[] = { 125const struct button_mapping button_context_settings_r_is_inc[] = {
126 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, 126 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE },
127 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 127 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
128 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, 128 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE },
@@ -135,7 +135,7 @@ const struct button_mapping button_context_settingsgraphical[] = {
135 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, 135 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
136 136
137 LAST_ITEM_IN_LIST 137 LAST_ITEM_IN_LIST
138}; /* button_context_settingsgraphical */ 138}; /* button_context_settings_r_is_inc */
139 139
140const struct button_mapping button_context_pitchscreen[] = { 140const struct button_mapping button_context_pitchscreen[] = {
141 { ACTION_PS_INC_SMALL, BUTTON_SCROLL_UP, BUTTON_NONE }, 141 { ACTION_PS_INC_SMALL, BUTTON_SCROLL_UP, BUTTON_NONE },
@@ -165,8 +165,11 @@ const struct button_mapping* get_context_mapping(int context)
165 case CONTEXT_WPS: 165 case CONTEXT_WPS:
166 return button_context_wps; 166 return button_context_wps;
167 167
168 case CONTEXT_SETTINGSGRAPHICAL: 168 case CONTEXT_SETTINGS_EQ:
169 return button_context_settingsgraphical; 169 case CONTEXT_SETTINGS_TIME:
170 case CONTEXT_SETTINGS_COLOURCHOOSER:
171 case CONTEXT_CUSTOM|CONTEXT_SETTINGS:
172 return button_context_settings_r_is_inc;
170 case CONTEXT_SETTINGS: 173 case CONTEXT_SETTINGS:
171 return button_context_settings; 174 return button_context_settings;
172 175
@@ -177,7 +180,7 @@ const struct button_mapping* get_context_mapping(int context)
177 if (global_settings.hold_lr_for_scroll_in_list) 180 if (global_settings.hold_lr_for_scroll_in_list)
178 return button_context_tree_scroll_lr; 181 return button_context_tree_scroll_lr;
179 /* else fall through to CUSTOM|1 */ 182 /* else fall through to CUSTOM|1 */
180 case CONTEXT_CUSTOM|1: 183 case CONTEXT_CUSTOM|CONTEXT_TREE:
181 return button_context_tree; 184 return button_context_tree;
182 case CONTEXT_QUICKSCREEN: 185 case CONTEXT_QUICKSCREEN:
183 return button_context_quickscreen; 186 return button_context_quickscreen;
diff --git a/apps/keymaps/keymap-h1x0_h3x0.c b/apps/keymaps/keymap-h1x0_h3x0.c
index d7096cb5c0..b68aed8a37 100644
--- a/apps/keymaps/keymap-h1x0_h3x0.c
+++ b/apps/keymaps/keymap-h1x0_h3x0.c
@@ -38,7 +38,9 @@
38/* CONTEXT_CUSTOM's used in this file... 38/* CONTEXT_CUSTOM's used in this file...
39 39
40CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions) 40CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions)
41 41CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker screens
42 i.e where up/down is inc/dec
43 CONTEXT_SETTINGS = up/down is prev/next, l/r is inc/dec
42 44
43*/ 45*/
44 46
@@ -51,12 +53,14 @@ const struct button_mapping button_context_standard[] = {
51 53
52 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, 54 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE },
53 { ACTION_STD_CANCEL, BUTTON_OFF, BUTTON_NONE }, 55 { ACTION_STD_CANCEL, BUTTON_OFF, BUTTON_NONE },
56
54 { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_SELECT }, 57 { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_SELECT },
55 58
56 { ACTION_STD_QUICKSCREEN, BUTTON_MODE|BUTTON_REPEAT, BUTTON_MODE }, 59 { ACTION_STD_QUICKSCREEN, BUTTON_MODE|BUTTON_REPEAT, BUTTON_MODE },
57 { ACTION_STD_MENU, BUTTON_MODE|BUTTON_REL, BUTTON_MODE }, 60 { ACTION_STD_MENU, BUTTON_MODE|BUTTON_REL, BUTTON_MODE },
58 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 61 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
59 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, 62 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE },
63 { ACTION_STD_OK, BUTTON_ON|BUTTON_REL, BUTTON_NONE },
60 64
61 LAST_ITEM_IN_LIST 65 LAST_ITEM_IN_LIST
62}; /* button_context_standard */ 66}; /* button_context_standard */
@@ -138,13 +142,16 @@ const struct button_mapping button_context_settings[] = {
138 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 142 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
139 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, 143 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE },
140 { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 144 { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
141 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 145 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
142 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 146 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
147 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
148 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
149 { ACTION_SETTINGS_RESET, BUTTON_ON, BUTTON_NONE },
143 150
144 LAST_ITEM_IN_LIST 151 LAST_ITEM_IN_LIST
145}; /* button_context_settings */ 152}; /* button_context_settings */
146 153
147const struct button_mapping button_context_settingsgraphical[] = { 154const struct button_mapping button_context_settings_right_is_inc[] = {
148 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, 155 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE },
149 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 156 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
150 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, 157 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE },
@@ -153,6 +160,7 @@ const struct button_mapping button_context_settingsgraphical[] = {
153 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 160 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
154 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 161 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE },
155 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 162 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
163 { ACTION_SETTINGS_RESET, BUTTON_ON, BUTTON_NONE },
156 164
157 LAST_ITEM_IN_LIST 165 LAST_ITEM_IN_LIST
158}; /* button_context_settingsgraphical */ 166}; /* button_context_settingsgraphical */
@@ -162,10 +170,26 @@ const struct button_mapping button_context_yesno[] = {
162 LAST_ITEM_IN_LIST 170 LAST_ITEM_IN_LIST
163}; /* button_context_settings_yesno */ 171}; /* button_context_settings_yesno */
164 172
173const struct button_mapping button_context_colorchooser[] = {
174 { ACTION_STD_OK, BUTTON_ON|BUTTON_REL, BUTTON_NONE },
175 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS),
176}; /* button_context_settings_bmark */
177
178const struct button_mapping button_context_eq[] = {
179 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
180 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS),
181}; /* button_context_settings_bmark */
182
165const struct button_mapping button_context_bmark[] = { 183const struct button_mapping button_context_bmark[] = {
166 { ACTION_BMARK_DELETE, BUTTON_REC, BUTTON_NONE }, 184 { ACTION_BMS_DELETE, BUTTON_REC, BUTTON_NONE },
167 { ACTION_STD_OK, BUTTON_SELECT, BUTTON_NONE }, 185 { ACTION_STD_OK, BUTTON_SELECT, BUTTON_NONE },
168 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGSGRAPHICAL), 186 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS),
187}; /* button_context_settings_bmark */
188
189const struct button_mapping button_context_time[] = {
190 { ACTION_STD_CANCEL, BUTTON_OFF, BUTTON_NONE },
191 { ACTION_STD_OK, BUTTON_ON, BUTTON_NONE },
192 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS),
169}; /* button_context_settings_bmark */ 193}; /* button_context_settings_bmark */
170 194
171const struct button_mapping button_context_quickscreen[] = { 195const struct button_mapping button_context_quickscreen[] = {
@@ -419,15 +443,15 @@ const struct button_mapping *button_context_yesno_h300lcdremote =
419 button_context_yesno_h100remote; 443 button_context_yesno_h100remote;
420 444
421const struct button_mapping button_context_bmark_h100remote[] = { 445const struct button_mapping button_context_bmark_h100remote[] = {
422 { ACTION_BMARK_DELETE, BUTTON_RC_REC, BUTTON_NONE }, 446 { ACTION_BMS_DELETE, BUTTON_RC_REC, BUTTON_NONE },
423 { ACTION_STD_OK, BUTTON_RC_ON, BUTTON_NONE }, 447 { ACTION_STD_OK, BUTTON_RC_ON, BUTTON_NONE },
424 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGSGRAPHICAL|CONTEXT_REMOTE), 448 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS|CONTEXT_REMOTE),
425}; /* button_context_settings_bmark */ 449}; /* button_context_settings_bmark */
426 450
427const struct button_mapping button_context_bmark_h300lcdremote[] = { 451const struct button_mapping button_context_bmark_h300lcdremote[] = {
428 { ACTION_BMARK_DELETE, BUTTON_RC_REC, BUTTON_NONE }, 452 { ACTION_BMS_DELETE, BUTTON_RC_REC, BUTTON_NONE },
429 { ACTION_STD_OK, BUTTON_RC_MENU, BUTTON_NONE }, 453 { ACTION_STD_OK, BUTTON_RC_MENU, BUTTON_NONE },
430 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGSGRAPHICAL|CONTEXT_REMOTE), 454 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS|CONTEXT_REMOTE),
431}; 455};
432 456
433const struct button_mapping button_context_quickscreen_h100remote[] = { 457const struct button_mapping button_context_quickscreen_h100remote[] = {
@@ -669,9 +693,6 @@ const struct button_mapping* get_context_mapping_remote(int context)
669 return remote_btn_ctxt_listtree_scroll_w_cmb; 693 return remote_btn_ctxt_listtree_scroll_w_cmb;
670 case CONTEXT_CUSTOM|CONTEXT_TREE: 694 case CONTEXT_CUSTOM|CONTEXT_TREE:
671 return remote_btn_ctxt_tree; 695 return remote_btn_ctxt_tree;
672
673 case CONTEXT_SETTINGSGRAPHICAL:
674 return remote_btn_ctxt_settingsgrph;
675 696
676 case CONTEXT_SETTINGS: 697 case CONTEXT_SETTINGS:
677 return remote_btn_ctxt_settings; 698 return remote_btn_ctxt_settings;
@@ -713,16 +734,22 @@ const struct button_mapping* get_context_mapping(int context)
713 return button_context_listtree_scroll_with_combo; 734 return button_context_listtree_scroll_with_combo;
714 case CONTEXT_CUSTOM|CONTEXT_TREE: 735 case CONTEXT_CUSTOM|CONTEXT_TREE:
715 return button_context_tree; 736 return button_context_tree;
716
717 case CONTEXT_SETTINGSGRAPHICAL:
718 return button_context_settingsgraphical;
719 737
720 case CONTEXT_SETTINGS: 738 case CONTEXT_SETTINGS:
721 return button_context_settings; 739 return button_context_settings;
740 case CONTEXT_CUSTOM|CONTEXT_SETTINGS:
741 return button_context_settings_right_is_inc;
742
743 case CONTEXT_SETTINGS_COLOURCHOOSER:
744 return button_context_colorchooser;
745 case CONTEXT_SETTINGS_EQ:
746 return button_context_eq;
722 747
723 case CONTEXT_YESNOSCREEN: 748 case CONTEXT_SETTINGS_TIME:
724 return button_context_yesno; 749 return button_context_time;
725 750
751 case CONTEXT_YESNOSCREEN:
752 return button_context_yesno;
726 case CONTEXT_BOOKMARKSCREEN: 753 case CONTEXT_BOOKMARKSCREEN:
727 return button_context_bmark; 754 return button_context_bmark;
728 case CONTEXT_QUICKSCREEN: 755 case CONTEXT_QUICKSCREEN:
diff --git a/apps/keymaps/keymap-ifp7xx.c b/apps/keymaps/keymap-ifp7xx.c
index 1da4f0974c..359aa5b6e2 100644
--- a/apps/keymaps/keymap-ifp7xx.c
+++ b/apps/keymaps/keymap-ifp7xx.c
@@ -82,7 +82,7 @@ const struct button_mapping button_context_settings[] = {
82 LAST_ITEM_IN_LIST 82 LAST_ITEM_IN_LIST
83}; /* button_context_settings */ 83}; /* button_context_settings */
84 84
85const struct button_mapping button_context_settingsgraphical[] = { 85const struct button_mapping button_context_settings_r_is_inc[] = {
86 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, 86 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE },
87 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 87 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
88 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, 88 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE },
@@ -101,9 +101,9 @@ const struct button_mapping button_context_yesno[] = {
101}; /* button_context_settings_yesno */ 101}; /* button_context_settings_yesno */
102 102
103const struct button_mapping button_context_bmark[] = { 103const struct button_mapping button_context_bmark[] = {
104 { ACTION_BMARK_DELETE, BUTTON_MODE, BUTTON_NONE }, 104 { ACTION_BMS_DELETE, BUTTON_MODE, BUTTON_NONE },
105 { ACTION_STD_OK, BUTTON_SELECT, BUTTON_NONE }, 105 { ACTION_STD_OK, BUTTON_SELECT, BUTTON_NONE },
106 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGSGRAPHICAL), 106 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS),
107}; /* button_context_settings_bmark */ 107}; /* button_context_settings_bmark */
108 108
109const struct button_mapping button_context_quickscreen[] = { 109const struct button_mapping button_context_quickscreen[] = {
@@ -143,8 +143,11 @@ const struct button_mapping* get_context_mapping(int context)
143 return button_context_standard; 143 return button_context_standard;
144 case CONTEXT_WPS: 144 case CONTEXT_WPS:
145 return button_context_wps; 145 return button_context_wps;
146 case CONTEXT_SETTINGSGRAPHICAL: 146 case CONTEXT_CUSTOM|CONTEXT_SETTINGS:
147 return button_context_settingsgraphical; 147 case CONTEXT_SETTINGS_EQ:
148 case CONTEXT_SETTINGS_COLOURCHOOSER:
149 case CONTEXT_SETTINGS_TIME:
150 return button_context_settings_r_is_inc;
148 case CONTEXT_SETTINGS: 151 case CONTEXT_SETTINGS:
149 return button_context_settings; 152 return button_context_settings;
150 case CONTEXT_YESNOSCREEN: 153 case CONTEXT_YESNOSCREEN:
diff --git a/apps/keymaps/keymap-ipod.c b/apps/keymaps/keymap-ipod.c
index 6cc6de6e1c..4f4ac4ad33 100644
--- a/apps/keymaps/keymap-ipod.c
+++ b/apps/keymaps/keymap-ipod.c
@@ -32,7 +32,7 @@
32 32
33/* CONTEXT_CUSTOM's used in this file... 33/* CONTEXT_CUSTOM's used in this file...
34 34
35CONTEXT_CUSTOM|1 = the standard list/tree defines (without directions) 35CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions)
36 36
37 37
38*/ 38*/
@@ -45,11 +45,11 @@ const struct button_mapping button_context_standard[] = {
45 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, 45 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE },
46 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, 46 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE },
47 47
48 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 48 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
49 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 49 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
50 { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, 50 { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
51 { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, 51 { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE },
52 { ACTION_STD_CANCEL, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, 52 { ACTION_STD_CANCEL, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
53 53
54 LAST_ITEM_IN_LIST 54 LAST_ITEM_IN_LIST
55}; /* button_context_standard */ 55}; /* button_context_standard */
@@ -69,7 +69,7 @@ const struct button_mapping button_context_tree_scroll_lr[] = {
69 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 69 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
70 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 70 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
71 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, 71 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT },
72 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|1), 72 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
73}; 73};
74 74
75const struct button_mapping button_context_wps[] = { 75const struct button_mapping button_context_wps[] = {
@@ -102,7 +102,8 @@ const struct button_mapping button_context_settings[] = {
102 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 102 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
103 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, 103 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
104 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 104 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
105 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, /* rel so bmark screen works */ 105 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
106 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
106 107
107 LAST_ITEM_IN_LIST 108 LAST_ITEM_IN_LIST
108}; /* button_context_settings */ 109}; /* button_context_settings */
@@ -113,7 +114,7 @@ const struct button_mapping button_context_yesno[] = {
113}; /* button_context_settings_yesno */ 114}; /* button_context_settings_yesno */
114 115
115const struct button_mapping button_context_bmark[] = { 116const struct button_mapping button_context_bmark[] = {
116 { ACTION_BMARK_DELETE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, 117 { ACTION_BMS_DELETE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
117 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), 118 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS),
118}; /* button_context_settings_bmark */ 119}; /* button_context_settings_bmark */
119 120
@@ -157,15 +158,17 @@ const struct button_mapping* get_context_mapping(int context)
157 case CONTEXT_TREE: 158 case CONTEXT_TREE:
158 if (global_settings.hold_lr_for_scroll_in_list) 159 if (global_settings.hold_lr_for_scroll_in_list)
159 return button_context_tree_scroll_lr; 160 return button_context_tree_scroll_lr;
160 /* else fall through to CUSTOM|1 */ 161 /* else fall through to CUSTOM|CONTEXT_TREE */
161 case CONTEXT_CUSTOM|1: 162 case CONTEXT_CUSTOM|CONTEXT_TREE:
162 return button_context_tree; 163 return button_context_tree;
163 164
164 case CONTEXT_LIST: 165 case CONTEXT_LIST:
165 case CONTEXT_MAINMENU: 166 case CONTEXT_MAINMENU:
166 break; 167 break;
168 case CONTEXT_SETTINGS_EQ:
169 case CONTEXT_SETTINGS_COLOURCHOOSER:
170 case CONTEXT_SETTINGS_TIME:
167 case CONTEXT_SETTINGS: 171 case CONTEXT_SETTINGS:
168 case CONTEXT_SETTINGSGRAPHICAL:
169 return button_context_settings; 172 return button_context_settings;
170 case CONTEXT_YESNOSCREEN: 173 case CONTEXT_YESNOSCREEN:
171 return button_context_yesno; 174 return button_context_yesno;
diff --git a/apps/keymaps/keymap-ondio.c b/apps/keymaps/keymap-ondio.c
index 57bdcc324a..141d23b5d1 100644
--- a/apps/keymaps/keymap-ondio.c
+++ b/apps/keymaps/keymap-ondio.c
@@ -27,7 +27,7 @@
27 27
28/* CONTEXT_CUSTOM's used in this file... 28/* CONTEXT_CUSTOM's used in this file...
29 29
30CONTEXT_CUSTOM|1 = the standard list/tree defines (without directions) 30CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions)
31 31
32 32
33*/ 33*/
@@ -95,7 +95,7 @@ const struct button_mapping button_context_tree_scroll_lr[] = {
95 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 95 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
96 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, 96 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT },
97 97
98 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|1), 98 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
99}; 99};
100 100
101const struct button_mapping button_context_yesno[] = { 101const struct button_mapping button_context_yesno[] = {
@@ -106,7 +106,7 @@ const struct button_mapping button_context_yesno[] = {
106 106
107struct button_mapping button_context_bmark[] = { 107struct button_mapping button_context_bmark[] = {
108 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 108 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
109 { ACTION_BMARK_DELETE, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, 109 { ACTION_BMS_DELETE, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
110 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 110 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
111 111
112 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), 112 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS),
@@ -160,8 +160,8 @@ const struct button_mapping* get_context_mapping( int context )
160 case CONTEXT_TREE: 160 case CONTEXT_TREE:
161 if (global_settings.hold_lr_for_scroll_in_list) 161 if (global_settings.hold_lr_for_scroll_in_list)
162 return button_context_tree_scroll_lr; 162 return button_context_tree_scroll_lr;
163 /* else fall through to CUSTOM|1 */ 163 /* else fall through to CUSTOM|CONTEXT_TREE */
164 case CONTEXT_CUSTOM|1: 164 case CONTEXT_CUSTOM|CONTEXT_TREE:
165 return button_context_tree; 165 return button_context_tree;
166 case CONTEXT_RECSCREEN: 166 case CONTEXT_RECSCREEN:
167 return button_context_recscreen; 167 return button_context_recscreen;
diff --git a/apps/keymaps/keymap-recorder.c b/apps/keymaps/keymap-recorder.c
index 72e04071a9..3e6eda99fc 100644
--- a/apps/keymaps/keymap-recorder.c
+++ b/apps/keymaps/keymap-recorder.c
@@ -86,6 +86,10 @@ static const struct button_mapping button_context_settings[] = {
86 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 86 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
87 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, 87 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE },
88 { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 88 { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
89 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
90 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
91 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
92 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
89 93
90 LAST_ITEM_IN_LIST 94 LAST_ITEM_IN_LIST
91}; 95};
@@ -204,7 +208,7 @@ const struct button_mapping* get_context_mapping( int context )
204 { 208 {
205 case CONTEXT_WPS: 209 case CONTEXT_WPS:
206 return button_context_wps; 210 return button_context_wps;
207 211 case CONTEXT_SETTINGS_TIME:
208 case CONTEXT_SETTINGS: 212 case CONTEXT_SETTINGS:
209 return button_context_settings; 213 return button_context_settings;
210 214
diff --git a/apps/keymaps/keymap-x5.c b/apps/keymaps/keymap-x5.c
index 3752b35f9c..e92baf4dbe 100644
--- a/apps/keymaps/keymap-x5.c
+++ b/apps/keymaps/keymap-x5.c
@@ -29,7 +29,7 @@
29 29
30/* CONTEXT_CUSTOM's used in this file... 30/* CONTEXT_CUSTOM's used in this file...
31 31
32CONTEXT_CUSTOM|1 = the standard list/tree defines (without directions) 32CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions)
33 33
34 34
35*/ 35*/
@@ -104,7 +104,7 @@ const struct button_mapping button_context_tree_scroll_lr[] = {
104 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 104 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
105 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 105 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
106 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, 106 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT },
107 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|1), 107 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
108}; 108};
109 109
110const struct button_mapping button_context_yesno[] = { 110const struct button_mapping button_context_yesno[] = {
@@ -126,7 +126,7 @@ const struct button_mapping button_context_quickscreen[] = {
126 LAST_ITEM_IN_LIST 126 LAST_ITEM_IN_LIST
127}; /* button_context_quickscreen */ 127}; /* button_context_quickscreen */
128 128
129const struct button_mapping button_context_settingsgraphical[] = { 129const struct button_mapping button_context_settings_r_is_inc[] = {
130 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, 130 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE },
131 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 131 { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
132 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, 132 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE },
@@ -246,8 +246,10 @@ const struct button_mapping* get_context_mapping( int context )
246 case CONTEXT_WPS: 246 case CONTEXT_WPS:
247 return button_context_wps; 247 return button_context_wps;
248 248
249 case CONTEXT_SETTINGSGRAPHICAL: 249 case CONTEXT_SETTINGS_EQ:
250 return button_context_settingsgraphical; 250 case CONTEXT_SETTINGS_COLOURCHOOSER:
251 case CONTEXT_SETTINGS_TIME:
252 return button_context_settings_r_is_inc;
251 253
252 case CONTEXT_SETTINGS: 254 case CONTEXT_SETTINGS:
253 return button_context_settings; 255 return button_context_settings;
@@ -259,7 +261,8 @@ const struct button_mapping* get_context_mapping( int context )
259 if (global_settings.hold_lr_for_scroll_in_list) 261 if (global_settings.hold_lr_for_scroll_in_list)
260 return button_context_tree_scroll_lr; 262 return button_context_tree_scroll_lr;
261 /* else fall through to CUSTOM|1 */ 263 /* else fall through to CUSTOM|1 */
262 case CONTEXT_CUSTOM|1: 264 case CONTEXT_CUSTOM|CONTEXT_TREE
265 :
263 return button_context_tree; 266 return button_context_tree;
264 case CONTEXT_QUICKSCREEN: 267 case CONTEXT_QUICKSCREEN:
265 return button_context_quickscreen; 268 return button_context_quickscreen;
diff --git a/apps/screens.c b/apps/screens.c
index e2e254581a..86a377ecc5 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -916,7 +916,7 @@ bool set_time_screen(const char* string, struct tm *tm)
916 say_time(cursorpos, tm); 916 say_time(cursorpos, tm);
917 } 917 }
918 918
919 button = get_action(CONTEXT_SETTINGS,HZ/2); 919 button = get_action(CONTEXT_SETTINGS_TIME,HZ/2);
920 switch ( button ) { 920 switch ( button ) {
921 case ACTION_STD_PREV: 921 case ACTION_STD_PREV:
922 cursorpos = (cursorpos + 6 - 1) % 6; 922 cursorpos = (cursorpos + 6 - 1) % 6;
@@ -925,6 +925,7 @@ bool set_time_screen(const char* string, struct tm *tm)
925 cursorpos = (cursorpos + 6 + 1) % 6; 925 cursorpos = (cursorpos + 6 + 1) % 6;
926 break; 926 break;
927 case ACTION_SETTINGS_INC: 927 case ACTION_SETTINGS_INC:
928 case ACTION_SETTINGS_INCREPEAT:
928 *valptr = (*valptr + steps - min + 1) % 929 *valptr = (*valptr + steps - min + 1) %
929 steps + min; 930 steps + min;
930 if(*valptr == 0) 931 if(*valptr == 0)
@@ -932,6 +933,7 @@ bool set_time_screen(const char* string, struct tm *tm)
932 say_time(cursorpos, tm); 933 say_time(cursorpos, tm);
933 break; 934 break;
934 case ACTION_SETTINGS_DEC: 935 case ACTION_SETTINGS_DEC:
936 case ACTION_SETTINGS_DECREPEAT:
935 *valptr = (*valptr + steps - min - 1) % 937 *valptr = (*valptr + steps - min - 1) %
936 steps + min; 938 steps + min;
937 if(*valptr == 0) 939 if(*valptr == 0)