HID: hid-mosart: ignore buttons report
authorBenjamin Tissoires <benjamin.tissoires@enac.fr>
Tue, 14 Dec 2010 10:38:18 +0000 (11:38 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 14 Dec 2010 10:40:50 +0000 (11:40 +0100)
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>
drivers/hid/hid-mosart.c

index ac5421d568f151cd6937f33244740d9f9759fedb..acd8a4983c09569cc10191a6a9e4b862d5c64ca9 100644 (file)
@@ -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;