Patchwork [1/5] HID: magicmouse: scroll on entire surface, not just middle of mouse

login
register
mail settings
Submitter Chase Douglas
Date June 24, 2010, 3:37 p.m.
Message ID <1277393850-5902-2-git-send-email-chase.douglas@canonical.com>
Download mbox | patch
Permalink /patch/56801/
State Accepted
Delegated to: Leann Ogasawara
Headers show

Comments

Chase Douglas - June 24, 2010, 3:37 p.m.
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>
(cherry picked from commit ef566d30a702cc9b49d24edc4ad45c62208a4f5d
from git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git)
---
 drivers/hid/hid-magicmouse.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

Patch

diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index f10d56a..cd70635 100644
--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -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,
 		};