diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-10-09 09:29:04 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-10-09 09:29:04 +0000 |
commit | 902c43a9689ec2c49dedc579b3d7d9fa45293652 (patch) | |
tree | 8a1037a431be5fced557e6ed38c1fa2450d354f4 /firmware | |
parent | 26e7ec47870f6287d7efbecd0499034b9073381e (diff) | |
download | rockbox-902c43a9689ec2c49dedc579b3d7d9fa45293652.tar.gz rockbox-902c43a9689ec2c49dedc579b3d7d9fa45293652.zip |
Filters out AN5 keys if UP is pressed. Solves bug #619028.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2545 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/button.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 30b7622f53..4657e1d84b 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -271,16 +271,22 @@ static int button_read(void) | |||
271 | else if (data >= LEVEL1) | 271 | else if (data >= LEVEL1) |
272 | btn |= BUTTON_F1; | 272 | btn |= BUTTON_F1; |
273 | 273 | ||
274 | /* Check DOWN, PLAY, LEFT, RIGHT */ | 274 | /* Some units have mushy keypads, so pressing UP also activates |
275 | data = adc_read(ADC_BUTTON_ROW2); | 275 | the Left/Right buttons. Let's combat that by skipping the AN5 |
276 | if (data >= LEVEL4) | 276 | checks when UP is pressed. */ |
277 | btn |= BUTTON_DOWN; | 277 | if(!(btn & BUTTON_UP)) |
278 | else if (data >= LEVEL3) | 278 | { |
279 | btn |= BUTTON_PLAY; | 279 | /* Check DOWN, PLAY, LEFT, RIGHT */ |
280 | else if (data >= LEVEL2) | 280 | data = adc_read(ADC_BUTTON_ROW2); |
281 | btn |= BUTTON_LEFT; | 281 | if (data >= LEVEL4) |
282 | else if (data >= LEVEL1) | 282 | btn |= BUTTON_DOWN; |
283 | btn |= BUTTON_RIGHT; | 283 | else if (data >= LEVEL3) |
284 | btn |= BUTTON_PLAY; | ||
285 | else if (data >= LEVEL2) | ||
286 | btn |= BUTTON_LEFT; | ||
287 | else if (data >= LEVEL1) | ||
288 | btn |= BUTTON_RIGHT; | ||
289 | } | ||
284 | 290 | ||
285 | return btn; | 291 | return btn; |
286 | } | 292 | } |