HID: magicmouse: scroll on entire surface, not just middle of mouse
authorChase Douglas <chase.douglas@canonical.com>
Wed, 2 Jun 2010 14:28:25 +0000 (10:28 -0400)
committerJiri Kosina <jkosina@suse.cz>
Fri, 4 Jun 2010 10:06:32 +0000 (12:06 +0200)
Previously, scroll events only occurred when the user moved a touch
along the middle of the touch surface. This is unintuitive for a normal
user who is not aware of this. The device has a uniform surface, so the
distinction is artificial. This change removes the touch area check for
a scroll event, which replicates the OS X behavior.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Acked-by: Michael Poole <mdpoole@troilus.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-magicmouse.c

index f10d56a15f2103699003e8cf13d2c07f0ac6e192..cd706354496ae3c599974528d503c9c6ceaabbaa 100644 (file)
@@ -160,10 +160,9 @@ static void magicmouse_emit_touch(struct magicmouse_sc *msc, int raw_id, u8 *tda
        msc->touches[id].size = misc & 63;
 
        /* If requested, emulate a scroll wheel by detecting small
-        * vertical touch motions along the middle of the mouse.
+        * vertical touch motions.
         */
-       if (emulate_scroll_wheel &&
-           middle_button_start < x && x < middle_button_stop) {
+       if (emulate_scroll_wheel) {
                static const int accel_profile[] = {
                        256, 228, 192, 160, 128, 96, 64, 32,
                };