summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@enac.fr>2010-12-14 11:38:18 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-03-14 14:17:36 -0700
commit1eac7b1dbe578f029927f821633bdac1e786fa66 (patch)
tree177eef4c7be7d7b8cfffd041d1536d2830640382
parentb3d26c5dbee6a6a088221017b817ed34e445da6e (diff)
HID: hid-mosart: ignore buttons report
commit ad6d42670279da8f33f633f8a96a67cd7ef3b1da upstream. This commit allows the device to be recognized as a touchscreen, and not a touchpad by xf86-input-evdev. The device has 2 modes. The first one is an emulation of a touchscreen by sending left and right button, and the second mode is the one used in dual-touch (sending trackingID, touch and else). That's why there is a hid report containing left and right buttons (9000001 and 9000002). The point is that xorg relies on these fields to determine if it's a touchpad or a touchscreen. Clearing the report (return -1) makes xorg detecting it out of the box as a quite pleasant (dual)touchscreen. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Cc: James Sharam <james.sharam@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/hid/hid-mosart.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/hid/hid-mosart.c b/drivers/hid/hid-mosart.c
index 251eaa4eedb3..eec4c4ad9138 100644
--- a/drivers/hid/hid-mosart.c
+++ b/drivers/hid/hid-mosart.c
@@ -90,6 +90,10 @@ static int mosart_input_mapping(struct hid_device *hdev, struct hid_input *hi,
case 0xff000000:
/* ignore HID features */
return -1;
+
+ case HID_UP_BUTTON:
+ /* ignore buttons */
+ return -1;
}
return 0;