Bug 73367

Summary: Weston assumes touch device is in touch up state at startup... touch points out of sync
Product: Wayland Reporter: U. Artie Eoff <ullysses.a.eoff>
Component: westonAssignee: Wayland bug list <wayland-bugs>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description U. Artie Eoff 2014-01-07 17:21:49 UTC
Weston always assumes touch devices are in a touch "up" state when it starts up.  However, if a touch device is in touch "down" state at Weston start-up, then touch events get out of sync in Weston (due to num_tp mismatching) and touch doesn't work.

The following warnings are printed to the Weston log, dependent on whether the device has single-touch capabilities or multi-touch capabilities, respectively:

touch event received with 0 points down but no surface focused
touch event received with -4 points down but no surface focused

1. Place finger on touch device
2. Launch Weston
3. Release finger from touch device
4. Randomly touch the device in various locations
5. Observe clients do not respond to touch and Weston logs (above) warnings.

wayland (master) heads/master-0-gcd0dccd
drm (master) libdrm-2.4.50-0-g4c5de72
mesa (master) heads/master-0-gd41f539
libva (master) libva-1.2.1-0-g88ed1eb
intel-driver (master) 1.2.1-0-g8f306e3
weston (master) heads/master-0-g95fdc37
efl (efl-1.8) heads/efl-1.8-0-g3801c0d
elementary (elementary-1.8) heads/elementary-1.8-0-gb357bb1
wayland-fits (master) heads/master-0-gcd75d94
Comment 1 Kristian Høgsberg 2014-01-09 06:30:29 UTC
commit a30e29af2e4d0ad6fc476ae7cc13c4cad5119217
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Jan 8 22:29:20 2014 -0800

    input: Ignore touch up events if num_tp is 0
    
    This can happen if we start out with one or more fingers on the touch
    screen, in which case we didn't get the corresponding down event.
    
    Closes: https://bugs.freedesktop.org/show_bug.cgi?id=73367

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.