summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-10-05 18:23:55 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-10-05 22:55:08 +0000
commit914114fd21a126be36435e7b0bc3a9f2685149c6 (patch)
tree07a0bebced0a6f8a6ffee2f948da66df31440aa9
parentc6f66cf696a4a0802dad8128dd985c7ab6489602 (diff)
downloadrockbox-914114fd21.tar.gz
rockbox-914114fd21.zip
FS13241: Get rid of the hacky hold switch emulation on the X3ii & X20
It doesn't work properly and interferes with the power button in the keymap. Rework WPS keymap a bit to make single-tap power emulate lock. Change-Id: I9d9b9b4adcea3764e6e427f484e051c9bab9d13b
-rw-r--r--apps/keymaps/keymap-xduoox20.c7
-rw-r--r--apps/keymaps/keymap-xduoox3ii.c7
-rw-r--r--firmware/export/config/xduoox20.h3
-rw-r--r--firmware/export/config/xduoox3ii.h3
-rw-r--r--firmware/target/hosted/xduoo/button-target.h2
-rw-r--r--firmware/target/hosted/xduoo/button-xduoo.c34
6 files changed, 8 insertions, 48 deletions
diff --git a/apps/keymaps/keymap-xduoox20.c b/apps/keymaps/keymap-xduoox20.c
index a6c5ca4153..00df9c89e7 100644
--- a/apps/keymaps/keymap-xduoox20.c
+++ b/apps/keymaps/keymap-xduoox20.c
@@ -49,7 +49,7 @@ static const struct button_mapping button_context_standard[] = {
static const struct button_mapping button_context_wps[] = {
{ ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
- { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
+ { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
{ ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
{ ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT },
@@ -61,10 +61,11 @@ static const struct button_mapping button_context_wps[] = {
{ ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_BROWSE, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
- { ACTION_WPS_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
+ { ACTION_WPS_CONTEXT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME },
{ ACTION_WPS_MENU, BUTTON_OPTION|BUTTON_REL, BUTTON_OPTION },
{ ACTION_WPS_QUICKSCREEN, BUTTON_OPTION|BUTTON_REPEAT, BUTTON_OPTION },
- { ACTION_WPS_HOTKEY, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME },
+
+ { ACTION_STD_KEYLOCK, BUTTON_POWER, BUTTON_NONE },
LAST_ITEM_IN_LIST
}; /* button_context_wps */
diff --git a/apps/keymaps/keymap-xduoox3ii.c b/apps/keymaps/keymap-xduoox3ii.c
index e43bd30290..a8cf349e0d 100644
--- a/apps/keymaps/keymap-xduoox3ii.c
+++ b/apps/keymaps/keymap-xduoox3ii.c
@@ -49,7 +49,7 @@ static const struct button_mapping button_context_standard[] = {
static const struct button_mapping button_context_wps[] = {
{ ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
- { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
+ { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
{ ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
{ ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT },
@@ -61,10 +61,11 @@ static const struct button_mapping button_context_wps[] = {
{ ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_BROWSE, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
- { ACTION_WPS_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
+ { ACTION_WPS_CONTEXT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME },
{ ACTION_WPS_MENU, BUTTON_OPTION|BUTTON_REL, BUTTON_OPTION },
{ ACTION_WPS_QUICKSCREEN, BUTTON_OPTION|BUTTON_REPEAT, BUTTON_OPTION },
- { ACTION_WPS_HOTKEY, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME },
+
+ { ACTION_STD_KEYLOCK, BUTTON_POWER, BUTTON_NONE },
LAST_ITEM_IN_LIST
}; /* button_context_wps */
diff --git a/firmware/export/config/xduoox20.h b/firmware/export/config/xduoox20.h
index 4a5b63bf38..62b2d58582 100644
--- a/firmware/export/config/xduoox20.h
+++ b/firmware/export/config/xduoox20.h
@@ -73,9 +73,6 @@
/* KeyPad configuration for plugins */
#define CONFIG_KEYPAD XDUOO_X20_PAD
-/* Define this if a programmable hotkey is mapped */
-#define HAVE_HOTKEY
-
/* define this if the target has volume keys which can be used in the lists */
#define HAVE_VOLUME_IN_LIST
diff --git a/firmware/export/config/xduoox3ii.h b/firmware/export/config/xduoox3ii.h
index e2066e453c..893fcc5e51 100644
--- a/firmware/export/config/xduoox3ii.h
+++ b/firmware/export/config/xduoox3ii.h
@@ -73,9 +73,6 @@
/* KeyPad configuration for plugins */
#define CONFIG_KEYPAD XDUOO_X3II_PAD
-/* Define this if a programmable hotkey is mapped */
-#define HAVE_HOTKEY
-
/* define this if the target has volume keys which can be used in the lists */
#define HAVE_VOLUME_IN_LIST
diff --git a/firmware/target/hosted/xduoo/button-target.h b/firmware/target/hosted/xduoo/button-target.h
index 6cca5c22a0..ac77a7da7d 100644
--- a/firmware/target/hosted/xduoo/button-target.h
+++ b/firmware/target/hosted/xduoo/button-target.h
@@ -20,8 +20,6 @@
#ifndef _BUTTON_TARGET_H_
#define _BUTTON_TARGET_H_
-#define HAS_BUTTON_HOLD
-
/* Main unit's buttons */
#define BUTTON_POWER 0x00000001
#define BUTTON_HOME 0x00000002
diff --git a/firmware/target/hosted/xduoo/button-xduoo.c b/firmware/target/hosted/xduoo/button-xduoo.c
index 605cd18736..99b0908378 100644
--- a/firmware/target/hosted/xduoo/button-xduoo.c
+++ b/firmware/target/hosted/xduoo/button-xduoo.c
@@ -38,14 +38,6 @@
#include "backlight-target.h"
#include "xduoolinux_codec.h"
-static bool soft_hold = false;
-#ifndef BOOTLOADER
-static unsigned soft_hold_counter = 0;
-#define SOFT_HOLD_BUTTON BUTTON_POWER
-#define SOFT_HOLD_CNTMAX_1 (HZ)
-#define SOFT_HOLD_CNTMAX_2 (HZ*2)
-#endif
-
#define NR_POLL_DESC 3
static struct pollfd poll_fds[NR_POLL_DESC];
@@ -141,27 +133,6 @@ int button_read_device(void)
}
}
-#ifndef BOOTLOADER
- if (button_bitmap == SOFT_HOLD_BUTTON) {
- soft_hold_counter++;
- if (soft_hold_counter == SOFT_HOLD_CNTMAX_1) {
- soft_hold = !soft_hold;
- backlight_hold_changed(soft_hold);
- }
- else
- if (soft_hold_counter == SOFT_HOLD_CNTMAX_2) {
- soft_hold = false;
- backlight_hold_changed(soft_hold);
- }
- } else {
- soft_hold_counter = 0;
- }
-
- if((soft_hold) && (button_bitmap != SOFT_HOLD_BUTTON)) {
- return BUTTON_NONE;
- }
-#endif
-
return button_bitmap;
}
@@ -187,8 +158,3 @@ void button_close_device(void)
close(poll_fds[i].fd);
}
}
-
-bool button_hold(void)
-{
- return soft_hold;
-}