summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-05-17 19:23:04 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-05-17 19:23:04 +0000
commit833556c2e7683aec583d5558fee400b1c6554623 (patch)
tree8fc0869b06711ce7d4e3ea28e70435e381a14c5c
parentaf1e5e6926ac5378f7e7f19a12441b0a63238f09 (diff)
downloadrockbox-833556c2e7683aec583d5558fee400b1c6554623.tar.gz
rockbox-833556c2e7683aec583d5558fee400b1c6554623.zip
Doh! Button signals are active low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@624 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/button.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index 9e00efc0ec..3e35e0eea4 100644
--- a/firmware/drivers/button.c
+++ b/firmware/drivers/button.c
@@ -170,17 +170,18 @@ int button_get(void)
170 int portc = PCDR; 170 int portc = PCDR;
171 int btn = 0; 171 int btn = 0;
172 172
173 if ( portc & 1 ) 173 /* buttons are active low */
174 if ( !(portc & 1) )
174 btn |= BUTTON_LEFT; 175 btn |= BUTTON_LEFT;
175 if ( portc & 2 ) 176 if ( !(portc & 2) )
176 btn |= BUTTON_MENU; 177 btn |= BUTTON_MENU;
177 if ( portc & 4 ) 178 if ( !(portc & 4) )
178 btn |= BUTTON_RIGHT; 179 btn |= BUTTON_RIGHT;
179 if ( portc & 8 ) 180 if ( !(portc & 8) )
180 btn |= BUTTON_PLAY | BUTTON_UP; 181 btn |= BUTTON_PLAY | BUTTON_UP;
181 if ( porta & 0x20 ) 182 if ( !(porta & 0x20) )
182 btn |= BUTTON_ON; 183 btn |= BUTTON_ON;
183 if ( porta & 0x800 ) 184 if ( !(porta & 0x800) )
184 btn |= BUTTON_STOP | BUTTON_DOWN; 185 btn |= BUTTON_STOP | BUTTON_DOWN;
185 186
186 return btn; 187 return btn;