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.
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
I've posted a patch for this to the mailing list:
Author: Neil Roberts <email@example.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.