Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54f4c0c3 authored by Benjamin Tissoires's avatar Benjamin Tissoires Committed by Jiri Kosina
Browse files

HID: multitouch: support arrays for the split of the touches in a report



Win8 certification introduced the ability to transmit two X and two Y per
touch. The specification precises that it must be used in an array.

This test guarantees that we split the touches on the last element
in this array.

Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: default avatarHenrik Rydberg <rydberg@euromail.se>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent f262d1fa
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -576,12 +576,15 @@ static int mt_event(struct hid_device *hid, struct hid_field *field,
			return 0;
		}

		if (usage->usage_index + 1 == field->report_count) {
			/* we only take into account the last report. */
			if (usage->hid == td->last_slot_field)
				mt_complete_slot(td, field->hidinput->input);

			if (field->index == td->last_field_index
				&& td->num_received >= td->num_expected)
				mt_sync_frame(td, field->hidinput->input);
		}

	}