forked from len0rd/rockbox
Slight simplification of scroll button driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8939 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
40d0d752aa
commit
b5648000ba
1 changed files with 9 additions and 11 deletions
|
|
@ -128,7 +128,6 @@ static int ipod_4g_button_read(void)
|
|||
static int clickwheel_down = 0;
|
||||
static int old_wheel_value = -1;
|
||||
int wheel_keycode = BUTTON_NONE;
|
||||
int wheel_delta, wheel_delta_abs;
|
||||
int new_wheel_value;
|
||||
int btn = BUTTON_NONE;
|
||||
|
||||
|
|
@ -162,17 +161,16 @@ static int ipod_4g_button_read(void)
|
|||
clickwheel_down = 1;
|
||||
backlight_on();
|
||||
if (old_wheel_value != -1) {
|
||||
wheel_delta = new_wheel_value - old_wheel_value;
|
||||
wheel_delta_abs = wheel_delta < 0 ? -wheel_delta
|
||||
: wheel_delta;
|
||||
|
||||
if (wheel_delta_abs > 48) {
|
||||
if (old_wheel_value > new_wheel_value)
|
||||
/* wrapped around the top going clockwise */
|
||||
wheel_delta += 96;
|
||||
else if (old_wheel_value < new_wheel_value)
|
||||
/* wrapped around the top going counterclockwise */ wheel_delta -= 96;
|
||||
int wheel_delta;
|
||||
if (old_wheel_value > new_wheel_value + 48) {
|
||||
/* Forward wrapping case */
|
||||
wheel_delta = new_wheel_value + 96 - old_wheel_value;
|
||||
} else {
|
||||
wheel_delta = new_wheel_value - old_wheel_value;
|
||||
if (wheel_delta > 48)
|
||||
wheel_delta -= 96; /* Backward wrapping case */
|
||||
}
|
||||
|
||||
/* TODO: these thresholds should most definitely be
|
||||
settings, and we're probably going to want a more
|
||||
advanced scheme than this anyway. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue