aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2011-03-09 06:35:25 +0100
committerJiri Kosina <jkosina@suse.cz>2011-03-14 13:05:07 +0100
commitf153fc3990d4ad2709a52d7150e2c04363afb1fb (patch)
tree5b795be60ab76ebaa4366129445f8af738c81287 /drivers/hid
parentHID: add IRTOUCH infrared USB to hid_have_special_driver (diff)
downloadlinux-dev-f153fc3990d4ad2709a52d7150e2c04363afb1fb.tar.xz
linux-dev-f153fc3990d4ad2709a52d7150e2c04363afb1fb.zip
HID: hid-multitouch: Send events per slot if CONTACTCOUNT is missing
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>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-multitouch.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 69f8744deac8..4518006f4871 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -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)