mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
Add locked actions to all soft lock targets
fiio m3k native is currently the only player with defined buttons different from the standard mapping. This allows the user to use the keyremap plugin to specify differing keymaps for their device in the locked state Change-Id: Ie0b447bba0d5978e8d23fed423df30c794afc6f9
This commit is contained in:
parent
a00bd421ac
commit
84fe501f53
21 changed files with 49 additions and 18 deletions
|
@ -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())
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue