diff --git a/apps/action.c b/apps/action.c index 392f2c344c..20145a5bc1 100644 --- a/apps/action.c +++ b/apps/action.c @@ -595,7 +595,7 @@ static inline void action_code_lookup(action_last_t *last, action_cur_t *cur) int context = cur->context; cur->is_prebutton = false; -#if defined(HAVE_LOCKED_ACTIONS) && !defined(HAS_BUTTON_HOLD) +#if !defined(HAS_BUTTON_HOLD) && !defined(BOOTLOADER) /* This only applies to the first context, to allow locked contexts to * specify a fall through to their non-locked version */ if (is_keys_locked()) diff --git a/apps/keymaps/keymap-agptekrocker.c b/apps/keymaps/keymap-agptekrocker.c index d016b3b323..158de8d3c8 100644 --- a/apps/keymaps/keymap-agptekrocker.c +++ b/apps/keymaps/keymap-agptekrocker.c @@ -223,12 +223,15 @@ const struct button_mapping* get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_mainmenu; case CONTEXT_TREE: diff --git a/apps/keymaps/keymap-erosq.c b/apps/keymaps/keymap-erosq.c index c69e4babdb..7e2643a318 100644 --- a/apps/keymaps/keymap-erosq.c +++ b/apps/keymaps/keymap-erosq.c @@ -196,12 +196,15 @@ const struct button_mapping* get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_mainmenu; diff --git a/apps/keymaps/keymap-fiiom3k.c b/apps/keymaps/keymap-fiiom3k.c index a9744b908b..8b9cce2493 100644 --- a/apps/keymaps/keymap-fiiom3k.c +++ b/apps/keymaps/keymap-fiiom3k.c @@ -324,23 +324,18 @@ static const struct button_mapping button_context_usb_hid_mode_browser[] = { const struct button_mapping* get_context_mapping(int context) { - switch (context) - { - case CONTEXT_WPS|CONTEXT_LOCKED: - return button_context_wps_locked; - default: - context &= ~CONTEXT_LOCKED; - break; - } - switch (context) { default: + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: + return button_context_wps_locked; case CONTEXT_WPS: return button_context_wps; case CONTEXT_TREE: + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: if (global_settings.hold_lr_for_scroll_in_list) return button_context_tree_scroll_lr; diff --git a/apps/keymaps/keymap-fiiom3klinux.c b/apps/keymaps/keymap-fiiom3klinux.c index e404d8bfb0..98aef7be41 100644 --- a/apps/keymaps/keymap-fiiom3klinux.c +++ b/apps/keymaps/keymap-fiiom3klinux.c @@ -196,6 +196,7 @@ const struct button_mapping* get_context_mapping(int context) { case CONTEXT_LIST: return button_context_list; + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; case CONTEXT_BOOKMARKSCREEN: @@ -214,8 +215,10 @@ const struct button_mapping* get_context_mapping(int context) case CONTEXT_SETTINGS_RECTRIGGER: return button_context_settings_vol_is_inc; case CONTEXT_TREE: + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_tree; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_YESNOSCREEN: diff --git a/apps/keymaps/keymap-fuzeplus.c b/apps/keymaps/keymap-fuzeplus.c index 9ce5a79fc2..01032ddf07 100644 --- a/apps/keymaps/keymap-fuzeplus.c +++ b/apps/keymaps/keymap-fuzeplus.c @@ -409,12 +409,15 @@ const struct button_mapping* get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_tree; case CONTEXT_SETTINGS: return button_context_settings; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_YESNOSCREEN: diff --git a/apps/keymaps/keymap-ma.c b/apps/keymaps/keymap-ma.c index aaf7df0c01..84d8edd7c4 100644 --- a/apps/keymaps/keymap-ma.c +++ b/apps/keymaps/keymap-ma.c @@ -192,6 +192,7 @@ const struct button_mapping* get_context_mapping(int context) { /* anything that uses button_context_standard */ case CONTEXT_LIST: + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: default: return button_context_standard; @@ -220,13 +221,14 @@ const struct button_mapping* get_context_mapping(int context) return button_context_settings_r_is_inc; case CONTEXT_TREE: + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: if (global_settings.hold_lr_for_scroll_in_list) return button_context_tree_scroll_lr; /* else fall through to CONTEXT_TREE|CONTEXT_CUSTOM */ case CONTEXT_TREE|CONTEXT_CUSTOM: return button_context_tree; - + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; diff --git a/apps/keymaps/keymap-nwz.c b/apps/keymaps/keymap-nwz.c index 1fae8d3594..3901645eb2 100644 --- a/apps/keymaps/keymap-nwz.c +++ b/apps/keymaps/keymap-nwz.c @@ -359,12 +359,15 @@ const struct button_mapping* get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_tree; case CONTEXT_SETTINGS: return button_context_settings; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_YESNOSCREEN: diff --git a/apps/keymaps/keymap-ondavx777.c b/apps/keymaps/keymap-ondavx777.c index ed23350666..468ad4b354 100644 --- a/apps/keymaps/keymap-ondavx777.c +++ b/apps/keymaps/keymap-ondavx777.c @@ -129,13 +129,16 @@ const struct button_mapping* target_get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_LIST: return button_context_list; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: case CONTEXT_TREE: if (global_settings.hold_lr_for_scroll_in_list) diff --git a/apps/keymaps/keymap-rk27xx-generic.c b/apps/keymaps/keymap-rk27xx-generic.c index d837c608fc..5be8762af3 100644 --- a/apps/keymaps/keymap-rk27xx-generic.c +++ b/apps/keymaps/keymap-rk27xx-generic.c @@ -166,8 +166,10 @@ const struct button_mapping* get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; #ifdef CONFIG_TUNER @@ -190,6 +192,7 @@ const struct button_mapping* get_context_mapping(int context) #endif case CONTEXT_TREE: case CONTEXT_LIST: + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: case CONTEXT_SETTINGS: diff --git a/apps/keymaps/keymap-shanlingq1.c b/apps/keymaps/keymap-shanlingq1.c index 4caaa36fd2..2708266d18 100644 --- a/apps/keymaps/keymap-shanlingq1.c +++ b/apps/keymaps/keymap-shanlingq1.c @@ -72,12 +72,15 @@ const struct button_mapping* target_get_context_mapping(int context) switch (context) { default: + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_TREE: case CONTEXT_CUSTOM|CONTEXT_TREE: + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: case CONTEXT_BOOKMARKSCREEN: case CONTEXT_LIST: diff --git a/apps/keymaps/keymap-xduoox20.c b/apps/keymaps/keymap-xduoox20.c index b08db90cfd..04d57949a1 100644 --- a/apps/keymaps/keymap-xduoox20.c +++ b/apps/keymaps/keymap-xduoox20.c @@ -188,6 +188,7 @@ const struct button_mapping* get_context_mapping(int context) { case CONTEXT_LIST: return button_context_list; + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; case CONTEXT_BOOKMARKSCREEN: @@ -206,8 +207,10 @@ const struct button_mapping* get_context_mapping(int context) case CONTEXT_SETTINGS_RECTRIGGER: return button_context_settings_vol_is_inc; case CONTEXT_TREE: + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_tree; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_YESNOSCREEN: diff --git a/apps/keymaps/keymap-xduoox3ii.c b/apps/keymaps/keymap-xduoox3ii.c index d99c8240a1..b25eacd732 100644 --- a/apps/keymaps/keymap-xduoox3ii.c +++ b/apps/keymaps/keymap-xduoox3ii.c @@ -188,6 +188,7 @@ const struct button_mapping* get_context_mapping(int context) { case CONTEXT_LIST: return button_context_list; + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; case CONTEXT_BOOKMARKSCREEN: @@ -206,8 +207,10 @@ const struct button_mapping* get_context_mapping(int context) case CONTEXT_SETTINGS_RECTRIGGER: return button_context_settings_vol_is_inc; case CONTEXT_TREE: + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_tree; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_YESNOSCREEN: diff --git a/apps/keymaps/keymap-ypr0.c b/apps/keymaps/keymap-ypr0.c index 2d6be5b7ec..e6d3bf8868 100644 --- a/apps/keymaps/keymap-ypr0.c +++ b/apps/keymaps/keymap-ypr0.c @@ -257,13 +257,16 @@ const struct button_mapping* get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_LIST: return button_context_list; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: return button_context_mainmenu; diff --git a/apps/keymaps/keymap-ypr1.c b/apps/keymaps/keymap-ypr1.c index d47047912b..0f991a881d 100644 --- a/apps/keymaps/keymap-ypr1.c +++ b/apps/keymaps/keymap-ypr1.c @@ -134,13 +134,16 @@ const struct button_mapping* target_get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_LIST: return button_context_list; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: case CONTEXT_CUSTOM|CONTEXT_TREE: return button_context_tree; diff --git a/apps/keymaps/keymap-zenxfi2.c b/apps/keymaps/keymap-zenxfi2.c index c98a4a8405..43e65ce5d7 100644 --- a/apps/keymaps/keymap-zenxfi2.c +++ b/apps/keymaps/keymap-zenxfi2.c @@ -139,13 +139,16 @@ const struct button_mapping* target_get_context_mapping(int context) { switch (context) { + case CONTEXT_STD | CONTEXT_LOCKED: case CONTEXT_STD: return button_context_standard; + case CONTEXT_WPS | CONTEXT_LOCKED: case CONTEXT_WPS: return button_context_wps; case CONTEXT_LIST: return button_context_list; + case CONTEXT_MAINMENU | CONTEXT_LOCKED: case CONTEXT_MAINMENU: case CONTEXT_TREE: if (global_settings.hold_lr_for_scroll_in_list) diff --git a/apps/plugins/keyremap.c b/apps/plugins/keyremap.c index cb19fcf92c..f0b36a735e 100644 --- a/apps/plugins/keyremap.c +++ b/apps/plugins/keyremap.c @@ -53,13 +53,13 @@ struct context_flags { /* flags added to context_name[] */ static struct context_flags context_flags[] = { {"UNKNOWN", 0},/* index 0 is an Error */ -#ifdef HAVE_LOCKED_ACTIONS +#ifndef HAS_BUTTON_HOLD {"LOCKED", CONTEXT_LOCKED}, #endif /*{"PLUGIN", CONTEXT_PLUGIN}, need a custom action list and a way to supply */ #if BUTTON_REMOTE != 0 {"REMOTE", CONTEXT_REMOTE}, -#ifdef HAVE_LOCKED_ACTIONS +#ifndef HAS_BUTTON_HOLD {"REMOTE_LOCKED", CONTEXT_REMOTE | CONTEXT_LOCKED}, #endif #endif /* BUTTON_REMOTE != 0 */ diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c index a7a0031391..54497d8306 100644 --- a/apps/plugins/pictureflow/pictureflow.c +++ b/apps/plugins/pictureflow/pictureflow.c @@ -967,9 +967,7 @@ const struct custom_format format_transposed = { static const struct button_mapping* get_context_map(int context) { -#ifdef HAVE_LOCKED_ACTIONS context &= ~CONTEXT_LOCKED; -#endif return pf_contexts[context & ~CONTEXT_PLUGIN]; } diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h index ab3e274243..86a9b05402 100644 --- a/firmware/export/config/fiiom3k.h +++ b/firmware/export/config/fiiom3k.h @@ -147,6 +147,5 @@ #define HAVE_VOLUME_IN_LIST #define HAVE_QUICKSCREEN #define HAVE_HOTKEY -#define HAVE_LOCKED_ACTIONS #define AB_REPEAT_ENABLE #define HAVE_BOOTLOADER_SCREENDUMP diff --git a/firmware/export/config/sansaclipplus.h b/firmware/export/config/sansaclipplus.h index d7e18c4864..e78063ef02 100644 --- a/firmware/export/config/sansaclipplus.h +++ b/firmware/export/config/sansaclipplus.h @@ -17,7 +17,6 @@ #define NUM_DRIVES 2 #ifndef BOOTLOADER -#define HAVE_LOCKED_ACTIONS #define HAVE_HOTSWAP #define HAVE_RDS_CAP #define CONFIG_RDS (RDS_CFG_POLL | RDS_CFG_PROCESS) diff --git a/firmware/export/config/sansaclipzip.h b/firmware/export/config/sansaclipzip.h index 86bc8fa4c2..d8b18e1a18 100644 --- a/firmware/export/config/sansaclipzip.h +++ b/firmware/export/config/sansaclipzip.h @@ -71,7 +71,6 @@ #define HAVE_LCD_ENABLE #ifndef BOOTLOADER -#define HAVE_LOCKED_ACTIONS /* Define this if your LCD can be put to sleep. * HAVE_LCD_ENABLE should be defined as well. */ //#define HAVE_LCD_SLEEP