Index: firmware/target/arm/ipod/button-target.h =================================================================== --- firmware/target/arm/ipod/button-target.h (revision 20081) +++ firmware/target/arm/ipod/button-target.h (working copy) @@ -43,12 +43,13 @@ #define BUTTON_RIGHT 0x00000008 #define BUTTON_SCROLL_FWD 0x00000010 #define BUTTON_SCROLL_BACK 0x00000020 +#define BUTTON_SCROLL 0x00000040 -#define BUTTON_PLAY 0x00000040 +#define BUTTON_PLAY 0x00000080 #define BUTTON_MAIN (BUTTON_SELECT|BUTTON_MENU\ |BUTTON_LEFT|BUTTON_RIGHT|BUTTON_SCROLL_FWD\ - |BUTTON_SCROLL_BACK|BUTTON_PLAY) + |BUTTON_SCROLL_BACK|BUTTON_SCROLL|BUTTON_PLAY) /* Remote control's buttons */ #ifdef IPOD_ACCESSORY_PROTOCOL Index: firmware/target/arm/ipod/button-clickwheel.c =================================================================== --- firmware/target/arm/ipod/button-clickwheel.c (revision 20081) +++ firmware/target/arm/ipod/button-clickwheel.c (working copy) @@ -118,8 +118,7 @@ new_wheel_value = (status >> 16) & 0x7f; whl = new_wheel_value; - /* switch on backlight (again), reset power-off timer */ - backlight_on(); + /* reset power-off timer */ reset_poweroff_timer(); /* Check whether the scrollwheel was untouched by accident or by will. */ @@ -175,7 +174,7 @@ v = (v<0) ? -v : v; /* undo signedness */ /* some velocity filtering to smooth things out */ - wheel_velocity = (31 * wheel_velocity + v) / 32; + wheel_velocity = (15 * wheel_velocity + v) / 16; /* limit to 24 bit */ wheel_velocity = (wheel_velocity>0xffffff) ? 0xffffff : wheel_velocity; @@ -225,6 +224,9 @@ } last_wheel_usec = usec; old_wheel_value = new_wheel_value; + + /* be able to read wheel action via button_read_device() */ + btn |= BUTTON_SCROLL; } } else Index: firmware/target/arm/sandisk/sansa-e200/button-e200.c =================================================================== --- firmware/target/arm/sandisk/sansa-e200/button-e200.c (revision 20081) +++ firmware/target/arm/sandisk/sansa-e200/button-e200.c (working copy) @@ -226,6 +226,9 @@ } last_wheel_usec = usec; + + /* be able to read wheel action via button_read_device() */ + int_btn |= BUTTON_SCROLL; } } Index: firmware/target/arm/sandisk/sansa-e200/button-target.h =================================================================== --- firmware/target/arm/sandisk/sansa-e200/button-target.h (revision 20081) +++ firmware/target/arm/sandisk/sansa-e200/button-target.h (working copy) @@ -48,6 +48,7 @@ #define BUTTON_SCROLL_BACK 0x00000080 #define BUTTON_SCROLL_FWD 0x00000100 +#define BUTTON_SCROLL 0x00000200 #define BUTTON_MAIN 0x00000fff