diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2009-02-03 10:55:30 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2009-02-03 10:55:30 +0000 |
commit | e2a169bce53aff3e5fc300c00d3828129298d469 (patch) | |
tree | 94ebf4cc62c4a32d133ab1b6013363ad283981e8 /firmware/target/arm | |
parent | af5c4d1b272e1e05523e8ffdd0733104eaa3e199 (diff) | |
download | rockbox-e2a169bce53aff3e5fc300c00d3828129298d469.tar.gz rockbox-e2a169bce53aff3e5fc300c00d3828129298d469.zip |
Gigabeat S: Get remote keymaps up to snuff and working. Do a couple tweaks on main unit ones. Cleanup keymap file a bit. Fix main button scanner to not clobber remote button. Fix a bug in actions.c where 'LAST_ITEM_IN_LIST' didn't really terminate scanning immediately. It would do an additional call into get_context_map and silently pick up ACTION_STD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19909 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/button-imx31.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/button-imx31.c b/firmware/target/arm/imx31/gigabeat-s/button-imx31.c index 9c35fb13da..d2a46f2c9f 100644 --- a/firmware/target/arm/imx31/gigabeat-s/button-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/button-imx31.c | |||
@@ -55,8 +55,13 @@ static __attribute__((interrupt("IRQ"))) void KPP_HANDLER(void) | |||
55 | }; | 55 | }; |
56 | 56 | ||
57 | int col; | 57 | int col; |
58 | /* Power button is handled separately on PMIC */ | 58 | /* Power button is handled separately on PMIC, remote read in headphone |
59 | * jack driver. */ | ||
60 | #ifdef HAVE_HEADPHONE_DETECTION | ||
61 | int button = int_btn & (BUTTON_POWER | BUTTON_REMOTE); | ||
62 | #else | ||
59 | int button = int_btn & BUTTON_POWER; | 63 | int button = int_btn & BUTTON_POWER; |
64 | #endif | ||
60 | 65 | ||
61 | int oldlevel = disable_irq_save(); | 66 | int oldlevel = disable_irq_save(); |
62 | 67 | ||
@@ -110,9 +115,9 @@ static __attribute__((interrupt("IRQ"))) void KPP_HANDLER(void) | |||
110 | else | 115 | else |
111 | KPP_KPSR |= KPP_KPSR_KDIE; | 116 | KPP_KPSR |= KPP_KPSR_KDIE; |
112 | 117 | ||
113 | restore_irq(oldlevel); | ||
114 | |||
115 | int_btn = button; | 118 | int_btn = button; |
119 | |||
120 | restore_irq(oldlevel); | ||
116 | } | 121 | } |
117 | 122 | ||
118 | bool button_hold(void) | 123 | bool button_hold(void) |