• Benjamin Tissoires's avatar
    HID: hid-multitouch: fix broken eGalax · b84bd27f
    Benjamin Tissoires authored
    Since the inclusion of eGalax devices in 2.6.39, I've got some
    bug reports for 480d and other devices.
    The problem lies in the reports descriptors: eGalax supports both
    pen and fingers, and so the reports descriptors contained both.
    But hid-multitouch relies on them to detect the last item in each
    field to send the multitouch events. In 480d, the last item is not
    Y as it should but Pressure. That means that the fields are not
    aligned and X,Y are at 0,0 (the other touch coordinates of the report).
    
    With this patch, the detection is made only when the field ContactID
    has been detected inside the collection.
    
    There is still a problem with the detections of the range as stylus
    and fingers may not have the same min/max, but it's a start.
    Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@enac.fr>
    Reviewed-by: default avatarHenrik Rydberg <rydberg@euromail.se>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    b84bd27f
hid-multitouch.c 20.7 KB