Bug 78211 - Zoom and touch does not work correctly together with output transform
Summary: Zoom and touch does not work correctly together with output transform
Status: VERIFIED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: weston (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-02 23:29 UTC by Anu Reddy
Modified: 2014-05-14 16:25 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Anu Reddy 2014-05-02 23:29:21 UTC
Bug 68620 has been fixed. But, when transformation is applied to output, zoom and touch does not work correctly together again.

Steps to reproduce:
1. Set output transform to 90 in weston.ini
2. Launch weston
3. Execute weston-simple-touch
4. Zoom in
5. Touch weston-simple-touch. Observe touch points are off-set.


Software Stack:
wayland (HEAD) 1.4.92-0-g4a4523f
drm (HEAD) libdrm-2.4.52-0-g46d451c
mesa (HEAD) remotes/origin/10.1-0-g340ebdb
libva (HEAD) libva-1.2.1-0-g88ed1eb
intel-driver (HEAD) 1.2.2-0-g121e70d
cairo (HEAD) heads/1.12-0-g59e2a93
libinput (HEAD) remotes/origin/HEAD-0-g97af5c3
weston (HEAD) 1.4.92-0-gd7d71e8
Comment 1 Neil Roberts 2014-05-06 18:05:45 UTC
I've posted a patch for this to the mailing list:

http://lists.freedesktop.org/archives/wayland-devel/2014-May/014624.html
Comment 2 Kristian Høgsberg 2014-05-06 22:37:59 UTC
commit 6c3b01f81e8e442b8c82efc702797aae629b33d2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 6 19:04:15 2014 +0100

    Apply the zoom transformation before the output transformation
    
    The zoom translation is just a scale and a translate. The translation
    is calculated based on the coordinates of the pointer which are in
    global space. Previously the calculated translation was transformed by
    the output transformation so that when the zoom transform is applied
    after the output transform then it will be correct. However if we just
    apply the zoom transformation first then we get the same result
    without the zoom code having to be aware of the output transformation.
    
    This also fixes weston_output_transform_coordinate which was applying
    the output and zoom transforms in the wrong order.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=78211


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.