2011-05-01 15:24:26 |
Stefan Löffler |
bug |
|
|
added bug |
2011-05-01 15:30:38 |
Stefan Löffler |
bug |
|
|
added subscriber Chase Douglas |
2011-05-16 14:29:44 |
Chase Douglas |
xserver-xorg-input-evdev (Ubuntu): status |
New |
In Progress |
|
2011-05-16 14:29:50 |
Chase Douglas |
xserver-xorg-input-evdev (Ubuntu): importance |
Undecided |
Medium |
|
2011-05-16 14:29:53 |
Chase Douglas |
xserver-xorg-input-evdev (Ubuntu): assignee |
|
Chase Douglas (chasedouglas) |
|
2011-05-16 19:43:29 |
Chase Douglas |
xserver-xorg-input-evdev (Ubuntu): status |
In Progress |
Fix Committed |
|
2011-05-16 19:43:45 |
Chase Douglas |
nominated for series |
|
Ubuntu Natty |
|
2011-05-16 19:44:33 |
Chase Douglas |
affects |
xserver-xorg-input-evdev (Ubuntu) |
xorg-server (Ubuntu) |
|
2011-05-16 19:58:16 |
Chase Douglas |
description |
Binary package hint: xserver-xorg-input-evdev
When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically.
From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32):
when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be.
In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT)
lsb_release -rd
Description: Ubuntu 11.04
Release: 11.04
$ apt-cache policy xserver-xorg-input-evdev
xserver-xorg-input-evdev:
Installed: 1:2.6.0-1ubuntu12
Candidate: 1:2.6.0-1ubuntu12
Version table:
*** 1:2.6.0-1ubuntu12 0
500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages
100 /var/lib/dpkg/status |
SRU Justification:
==================
In previous releases of xserver-xorg-input-evdev there was an option to invert and/or swap axes. This allowed for simple screen rotation support. In the latest version of the module in Ubuntu, this option has been deprecated in favor of the server-side input coordinate transformation matrix support. See https://wiki.ubuntu.com/X/InputCoordinateTransformation for details. Unfortunately, the XInput 2.1 changes caused the input coordinate transformation matrix support to cause erratic pointer behavior. Without a fix, users cannot reliably use a rotated touchscreen.
The fix involves maintaining and using the proper previous states of the X and Y event coordinates when performing the input coordinate transformation. If one coordinate is updated but not the other, the other's previous untransformed coordinate must be used to compute the correct new transformed coordinates. Then, the new transformed coordinates must be compared to the previous transformed coordinates to see if they should be reported to the client. Unchanged values are not reported in some XI 1.x and 2.x events. The current X server conflates the previous untransformed and previous transformed values and ends up calculating the new transformed values incorrectly.
To reproduce, use xinput to set a new coordinate transformation matrix with a rotation. For example, use a 90 degree turn by setting the input coordinate transformation matrix to 0 -1 1 1 0 0 0 0 1. See the above wiki page for details on how to set the matrix. Then, try to touch the touchscreen and move the cursor. The cursor will jump arround erratically when moving in pure horizontal or pure vertical motions.
The risk of regression is minimal because the only time the fix will cause a change is when the transformation matrix has been modified from the identity matrix to a matrix including some amount of rotation. The patch was also tested in the xorg-edgers ppa for a few weeks before it was even uploaded to Oneiric.
Original Bug Report:
====================
When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically.
From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32):
when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be.
In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT)
lsb_release -rd
Description: Ubuntu 11.04
Release: 11.04
$ apt-cache policy xserver-xorg-input-evdev
xserver-xorg-input-evdev:
Installed: 1:2.6.0-1ubuntu12
Candidate: 1:2.6.0-1ubuntu12
Version table:
*** 1:2.6.0-1ubuntu12 0
500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages
100 /var/lib/dpkg/status |
|
2011-05-16 19:59:31 |
Chase Douglas |
attachment added |
|
503_fix_masked_transformed_valuators.patch https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/774938/+attachment/2131372/+files/503_fix_masked_transformed_valuators.patch |
|
2011-05-17 08:01:35 |
Rex Tsai |
bug |
|
|
added subscriber Rex Tsai |
2011-05-17 11:25:49 |
bugbot |
tags |
natty |
edgers natty |
|
2011-05-17 17:31:32 |
Brian Murray |
bug |
|
|
added subscriber Ubuntu Review Team |
2011-05-17 17:31:33 |
Brian Murray |
tags |
edgers natty |
edgers natty patch |
|
2011-05-17 22:10:12 |
Launchpad Janitor |
xorg-server (Ubuntu): status |
Fix Committed |
Fix Released |
|
2011-05-17 23:12:22 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/xorg-server |
|
2011-05-18 16:56:37 |
Chase Douglas |
description |
SRU Justification:
==================
In previous releases of xserver-xorg-input-evdev there was an option to invert and/or swap axes. This allowed for simple screen rotation support. In the latest version of the module in Ubuntu, this option has been deprecated in favor of the server-side input coordinate transformation matrix support. See https://wiki.ubuntu.com/X/InputCoordinateTransformation for details. Unfortunately, the XInput 2.1 changes caused the input coordinate transformation matrix support to cause erratic pointer behavior. Without a fix, users cannot reliably use a rotated touchscreen.
The fix involves maintaining and using the proper previous states of the X and Y event coordinates when performing the input coordinate transformation. If one coordinate is updated but not the other, the other's previous untransformed coordinate must be used to compute the correct new transformed coordinates. Then, the new transformed coordinates must be compared to the previous transformed coordinates to see if they should be reported to the client. Unchanged values are not reported in some XI 1.x and 2.x events. The current X server conflates the previous untransformed and previous transformed values and ends up calculating the new transformed values incorrectly.
To reproduce, use xinput to set a new coordinate transformation matrix with a rotation. For example, use a 90 degree turn by setting the input coordinate transformation matrix to 0 -1 1 1 0 0 0 0 1. See the above wiki page for details on how to set the matrix. Then, try to touch the touchscreen and move the cursor. The cursor will jump arround erratically when moving in pure horizontal or pure vertical motions.
The risk of regression is minimal because the only time the fix will cause a change is when the transformation matrix has been modified from the identity matrix to a matrix including some amount of rotation. The patch was also tested in the xorg-edgers ppa for a few weeks before it was even uploaded to Oneiric.
Original Bug Report:
====================
When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically.
From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32):
when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be.
In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT)
lsb_release -rd
Description: Ubuntu 11.04
Release: 11.04
$ apt-cache policy xserver-xorg-input-evdev
xserver-xorg-input-evdev:
Installed: 1:2.6.0-1ubuntu12
Candidate: 1:2.6.0-1ubuntu12
Version table:
*** 1:2.6.0-1ubuntu12 0
500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages
100 /var/lib/dpkg/status |
SRU Justification:
==================
In previous releases of xserver-xorg-input-evdev there was an option to invert and/or swap axes. This allowed for simple screen rotation support. In the latest version of the module in Ubuntu, this option has been deprecated in favor of the server-side input coordinate transformation matrix support. See https://wiki.ubuntu.com/X/InputCoordinateTransformation for details. Unfortunately, the XInput 2.1 changes caused the input coordinate transformation matrix support to cause erratic pointer behavior. Without a fix, users cannot reliably use a rotated touchscreen.
The fix involves maintaining and using the proper previous states of the X and Y event coordinates when performing the input coordinate transformation. If one coordinate is updated but not the other, the other's previous untransformed coordinate must be used to compute the correct new transformed coordinates. Then, the new transformed coordinates must be compared to the previous transformed coordinates to see if they should be reported to the client. Unchanged values are not reported in some XI 1.x and 2.x events. The current X server conflates the previous untransformed and previous transformed values and ends up calculating the new transformed values incorrectly.
TEST CASE:
To reproduce, use xinput to set a new coordinate transformation matrix with a rotation. For example, use a 90 degree turn by setting the input coordinate transformation matrix to 0 -1 1 1 0 0 0 0 1. See the above wiki page for details on how to set the matrix. Then, try to touch the touchscreen and move the cursor. The cursor will jump arround erratically when moving in pure horizontal or pure vertical motions.
The risk of regression is minimal because the only time the fix will cause a change is when the transformation matrix has been modified from the identity matrix to a matrix including some amount of rotation. The patch was also tested in the xorg-edgers ppa for a few weeks before it was even uploaded to Oneiric.
Original Bug Report:
====================
When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically.
From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32):
when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be.
In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT)
lsb_release -rd
Description: Ubuntu 11.04
Release: 11.04
$ apt-cache policy xserver-xorg-input-evdev
xserver-xorg-input-evdev:
Installed: 1:2.6.0-1ubuntu12
Candidate: 1:2.6.0-1ubuntu12
Version table:
*** 1:2.6.0-1ubuntu12 0
500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages
100 /var/lib/dpkg/status |
|
2011-05-18 16:57:14 |
Chase Douglas |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2011-05-21 11:35:20 |
Martin Pitt |
bug task added |
|
xorg-server (Ubuntu Natty) |
|
2011-05-21 11:35:44 |
Martin Pitt |
xorg-server (Ubuntu Natty): status |
New |
Fix Committed |
|
2011-05-21 11:35:46 |
Martin Pitt |
bug |
|
|
added subscriber SRU Verification |
2011-05-21 11:35:49 |
Martin Pitt |
tags |
edgers natty patch |
edgers natty patch verification-needed |
|
2011-05-21 12:27:25 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/natty-proposed/xorg-server |
|
2011-05-25 09:03:54 |
Timo Kluck |
bug |
|
|
added subscriber Timo Kluck |
2011-05-25 12:38:05 |
Martin Pitt |
tags |
edgers natty patch verification-needed |
edgers natty patch verification-done |
|
2011-05-30 07:34:31 |
Launchpad Janitor |
xorg-server (Ubuntu Natty): status |
Fix Committed |
Fix Released |
|
2011-06-12 00:07:50 |
Jon Szymaniak |
bug |
|
|
added subscriber Jon Szymaniak |
2011-06-13 07:12:27 |
HX_unbanned |
tags |
edgers natty patch verification-done |
edgers natty patch verification-failed |
|
2011-06-26 13:41:56 |
Eduard Hasenleithner |
bug |
|
|
added subscriber Eduard Hasenleithner |
2011-08-11 18:00:54 |
Snorre Jensen |
bug |
|
|
added subscriber Snorre Jensen |
2011-09-19 20:54:58 |
Ubuntu Foundations Team Bug Bot |
tags |
edgers natty patch verification-failed |
edgers natty patch testcase verification-failed |
|
2012-07-09 21:41:40 |
Marcelo |
bug |
|
|
added subscriber Marcelo |
2012-08-16 18:37:40 |
Darryl Moore |
bug |
|
|
added subscriber Darryl Moore |
2012-08-20 14:06:05 |
Zachary Salzbank |
bug |
|
|
added subscriber Zachary Salzbank |
2012-11-20 12:30:48 |
xop |
bug |
|
|
added subscriber xop |
2012-11-20 12:30:59 |
xop |
bug |
|
|
added subscriber Rus Sh |