diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2005-02-11 13:13:36 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2005-02-11 13:13:36 +0000 |
commit | f48ec1f7fca7b0e12cbcbe4de3dbe21ed5a2edfa (patch) | |
tree | 4a7092ef334ba0454efcac931abad19bc5b13e8f /firmware/drivers/button.c | |
parent | dd52043cac5659810d6a9c0e7fc1fe7396398a9e (diff) | |
download | rockbox-f48ec1f7fca7b0e12cbcbe4de3dbe21ed5a2edfa.tar.gz rockbox-f48ec1f7fca7b0e12cbcbe4de3dbe21ed5a2edfa.zip |
iRiver: Support for remote control buttons
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5909 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/button.c')
-rw-r--r-- | firmware/drivers/button.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 1a0aeceb06..cd4492315d 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -351,7 +351,7 @@ static int button_read(void) | |||
351 | 351 | ||
352 | #if CONFIG_KEYPAD == IRIVER_H100_PAD | 352 | #if CONFIG_KEYPAD == IRIVER_H100_PAD |
353 | 353 | ||
354 | data = adc_scan(0); | 354 | data = adc_scan(ADC_BUTTONS); |
355 | 355 | ||
356 | if (data < 0x80) | 356 | if (data < 0x80) |
357 | if (data < 0x30) | 357 | if (data < 0x30) |
@@ -377,6 +377,38 @@ static int button_read(void) | |||
377 | if (data < 0xf0) | 377 | if (data < 0xf0) |
378 | btn = BUTTON_REC; | 378 | btn = BUTTON_REC; |
379 | 379 | ||
380 | data = adc_scan(ADC_REMOTE); | ||
381 | |||
382 | if (data < 0x74) | ||
383 | if (data < 0x40) | ||
384 | if (data < 0x20) | ||
385 | if(data < 0x10) | ||
386 | btn = BUTTON_RC_STOP; | ||
387 | else | ||
388 | btn = BUTTON_RC_VOL_DOWN; | ||
389 | else | ||
390 | btn = BUTTON_RC_VOL; | ||
391 | else | ||
392 | if (data < 0x58) | ||
393 | btn = BUTTON_RC_VOL_UP; | ||
394 | else | ||
395 | btn = BUTTON_RC_BITRATE; | ||
396 | else | ||
397 | if (data < 0xb0) | ||
398 | if (data < 0x88) | ||
399 | btn = BUTTON_RC_REC; | ||
400 | else | ||
401 | btn = BUTTON_RC_SOURCE; | ||
402 | else | ||
403 | if (data < 0xd8) | ||
404 | if(data < 0xc0) | ||
405 | btn = BUTTON_RC_FF; | ||
406 | else | ||
407 | btn = BUTTON_RC_MENU; | ||
408 | else | ||
409 | if (data < 0xf0) | ||
410 | btn = BUTTON_RC_REW; | ||
411 | |||
380 | data = GPIO1_READ; | 412 | data = GPIO1_READ; |
381 | if ((data & 0x20) == 0) | 413 | if ((data & 0x20) == 0) |
382 | btn |= BUTTON_ON; | 414 | btn |= BUTTON_ON; |