aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChase Douglas <chase.douglas@canonical.com>2011-01-11 19:37:50 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-24 14:54:25 -0800
commit8e6b41c76c5b8a27b2abd7b9f6ed0877987fd11b (patch)
treedb9f177a41699815804e6f6b17c9b9dc6d6b7011
parent922d5699248b22e97a45b175966f19c8f77fe6d3 (diff)
downloadlinux-hpc-8e6b41c76c5b8a27b2abd7b9f6ed0877987fd11b.tar.gz
HID: magicmouse: Don't report REL_{X, Y} for Magic Trackpad
[ Linus' tree commit 6a66bbd693c12f71697c61207aa18bc5a12da0ab ] With the recent switch to having the hid layer handle standard axis initialization, the Magic Trackpad now reports relative axes. This would be fine in the normal mode, but the driver puts the device in multitouch mode where no relative events are generated. Also, userspace software depends on accurate axis information for device type detection. Thus, ignoring the relative axes from the Magic Trackpad is best. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/hid/hid-magicmouse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index e6dc151716643f..ed732b746c963d 100644
--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -433,6 +433,11 @@ static int magicmouse_input_mapping(struct hid_device *hdev,
if (!msc->input)
msc->input = hi->input;
+ /* Magic Trackpad does not give relative data after switching to MT */
+ if (hi->input->id.product == USB_DEVICE_ID_APPLE_MAGICTRACKPAD &&
+ field->flags & HID_MAIN_ITEM_RELATIVE)
+ return -1;
+
return 0;
}