diff options
Diffstat (limited to 'firmware/target/arm/iriver/h10/button-h10.c')
-rw-r--r-- | firmware/target/arm/iriver/h10/button-h10.c | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/firmware/target/arm/iriver/h10/button-h10.c b/firmware/target/arm/iriver/h10/button-h10.c index badcd594a1..7979a52976 100644 --- a/firmware/target/arm/iriver/h10/button-h10.c +++ b/firmware/target/arm/iriver/h10/button-h10.c | |||
@@ -49,6 +49,7 @@ int button_read_device(void) | |||
49 | int btn = BUTTON_NONE; | 49 | int btn = BUTTON_NONE; |
50 | unsigned char state; | 50 | unsigned char state; |
51 | static bool hold_button = false; | 51 | static bool hold_button = false; |
52 | |||
52 | #if 0 | 53 | #if 0 |
53 | /* light handling */ | 54 | /* light handling */ |
54 | if (hold_button && !button_hold()) | 55 | if (hold_button && !button_hold()) |
@@ -58,12 +59,25 @@ int button_read_device(void) | |||
58 | #endif | 59 | #endif |
59 | 60 | ||
60 | hold_button = button_hold(); | 61 | hold_button = button_hold(); |
61 | state = GPIOA_INPUT_VAL & 0xf8; | 62 | if (!hold_button) |
62 | if ((state & 0x8) == 0) btn |= BUTTON_FF; | 63 | { |
63 | if ((state & 0x16) == 0) btn |= BUTTON_PLAY; | 64 | /* Read normal buttons */ |
64 | if ((state & 0x32) == 0) btn |= BUTTON_REW; | 65 | state = GPIOA_INPUT_VAL & 0xf8; |
65 | if ((state & 0x64) == 0) btn |= BUTTON_RIGHT; | 66 | if ((state & 0x8) == 0) btn |= BUTTON_FF; |
66 | if ((state & 0x128) == 0) btn |= BUTTON_LEFT; | 67 | if ((state & 0x10) == 0) btn |= BUTTON_PLAY; |
68 | if ((state & 0x20) == 0) btn |= BUTTON_REW; | ||
69 | if ((state & 0x40) == 0) btn |= BUTTON_RIGHT; | ||
70 | if ((state & 0x80) == 0) btn |= BUTTON_LEFT; | ||
71 | |||
72 | /* Read power button */ | ||
73 | if ((GPIOB_INPUT_VAL & 0x1) == 0) btn |= BUTTON_POWER; | ||
74 | |||
75 | /* Read scroller */ | ||
76 | if ( ((GPIOC_INPUT_VAL & 0x4)==1) && ((GPIOD_INPUT_VAL & 0x10)==1) ) | ||
77 | { | ||
78 | /* Scroller is pressed */ | ||
79 | } | ||
80 | } | ||
67 | 81 | ||
68 | return btn; | 82 | return btn; |
69 | } | 83 | } |