HID: hid-multitouch: Send events per slot if CONTACTCOUNT is missing
authorHenrik Rydberg <rydberg@euromail.se>
Wed, 9 Mar 2011 05:35:25 +0000 (06:35 +0100)
committerJiri Kosina <jkosina@suse.cz>
Mon, 14 Mar 2011 12:05:07 +0000 (13:05 +0100)
The recent capacitive DWAV firmwares do not use the CONTACTCOUNT
field, and the touch frame boundary can therefore not be determined.
This patch makes the driver report the touch frame at each completed
slot instead.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-multitouch.c

index 69f8744deac8cede73ca2af5b443445cfeaf82c0..4518006f4871a15676908093f50a13cb5ba146de 100644 (file)
@@ -364,8 +364,11 @@ static int mt_event(struct hid_device *hid, struct hid_field *field,
                        return 0;
                }
 
-               if (usage->hid == td->last_slot_field)
+               if (usage->hid == td->last_slot_field) {
                        mt_complete_slot(td);
+                       if (!td->last_field_index)
+                               mt_emit_event(td, field->hidinput->input);
+               }
 
                if (field->index == td->last_field_index
                        && td->num_received >= td->num_expected)