Browse Source

HID: hid-mosart: ignore buttons report

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>
Benjamin Tissoires 14 years ago
parent
commit
ad6d426702
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/hid/hid-mosart.c

+ 4 - 0
drivers/hid/hid-mosart.c

@@ -90,6 +90,10 @@ static int mosart_input_mapping(struct hid_device *hdev, struct hid_input *hi,
 	case 0xff000000:
 	case 0xff000000:
 		/* ignore HID features */
 		/* ignore HID features */
 		return -1;
 		return -1;
+
+	case HID_UP_BUTTON:
+		/* ignore buttons */
+		return -1;
 	}
 	}
 
 
 	return 0;
 	return 0;