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.zip rockbox-f48ec1f7fca7b0e12cbcbe4de3dbe21ed5a2edfa.tar.gz rockbox-f48ec1f7fca7b0e12cbcbe4de3dbe21ed5a2edfa.tar.bz2 rockbox-f48ec1f7fca7b0e12cbcbe4de3dbe21ed5a2edfa.tar.xz | |
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 1a0aece..cd44923 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c @@ -351,7 +351,7 @@ static int button_read(void) #if CONFIG_KEYPAD == IRIVER_H100_PAD - data = adc_scan(0); + data = adc_scan(ADC_BUTTONS); if (data < 0x80) if (data < 0x30) @@ -377,6 +377,38 @@ static int button_read(void) if (data < 0xf0) btn = BUTTON_REC; + data = adc_scan(ADC_REMOTE); + + if (data < 0x74) + if (data < 0x40) + if (data < 0x20) + if(data < 0x10) + btn = BUTTON_RC_STOP; + else + btn = BUTTON_RC_VOL_DOWN; + else + btn = BUTTON_RC_VOL; + else + if (data < 0x58) + btn = BUTTON_RC_VOL_UP; + else + btn = BUTTON_RC_BITRATE; + else + if (data < 0xb0) + if (data < 0x88) + btn = BUTTON_RC_REC; + else + btn = BUTTON_RC_SOURCE; + else + if (data < 0xd8) + if(data < 0xc0) + btn = BUTTON_RC_FF; + else + btn = BUTTON_RC_MENU; + else + if (data < 0xf0) + btn = BUTTON_RC_REW; + data = GPIO1_READ; if ((data & 0x20) == 0) btn |= BUTTON_ON; |