Comment 32 for bug 742567

I have tried many combinations. Using only the input transformation matrix with swapping and inversion turned off when the coordinate transformation has the form

0 -1 1 x y 0 0 0 1

where x+y = 1 and x is bigger than about .2 the following unstable behavior exists:

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. So for example with the correct rotation 0 -1 1 1 0 0 0 0 1 the cursor appears under your finger to the touch or a diagonal drag, but with a vertical or horizontal drag it jumps wildly alternating between where it should be (under your finger) and somewhere else, which appears to be the untransformed input. As if for some reason the evdev driver only applies the transformation at alternate points during a vertical or horizontal drag.

It's pretty odd behavior.

Here is some configuration information:

Xorg.log basic configuration:
X.Org X Server 1.10.1
Release Date: 2011-04-15
[ 6518.203] X Protocol Version 11, Revision 0
[ 6518.203] Build Operating System: Linux 2.6.24-29-server i686 Ubuntu
[ 6518.203] Current Operating System: Linux lev1010 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686
[ 6518.203] Kernel command line: BOOT_IMAGE=/vmlinuz-2.6.38-8-generic root=UUID=b3f89a14-b5e9-4389-bde4-378fcc3c8b2a ro quiet splash vt.handoff=7
[ 6518.204] Build Date: 19 April 2011 03:33:17PM
[ 6518.204] xorg-server 2:1.10.1-1ubuntu1 (For technical support please see http://www.ubuntu.com/support)
[ 6518.204] Current version of pixman: 0.20.2

Xorg.log for Cando:
[ 6518.633] (II) config/udev: Adding input device Cando Corporation Cando 10.1 Multi Touch Panel with Controller (/dev/input/event10)
[ 6518.633] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: Applying InputClass "evdev touchscreen catchall"
[ 6518.633] (II) Using input driver 'evdev' for 'Cando Corporation Cando 10.1 Multi Touch Panel with Controller'
[ 6518.633] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 6518.633] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: always reports core events
[ 6518.633] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: Device: "/dev/input/event10"
[ 6518.634] (--) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: Found absolute axes
[ 6518.635] (--) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: Found x and y absolute axes
[ 6518.636] (--) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: Found absolute touchscreen
[ 6518.636] (II) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: Configuring as touchscreen
[ 6518.636] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: YAxisMapping: buttons 4 and 5
[ 6518.636] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 6518.636] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input10/event10"
[ 6518.636] (II) XINPUT: Adding extended input device "Cando Corporation Cando 10.1 Multi Touch Panel with Controller" (type: TOUCHSCREEN)
[ 6518.636] (WW) Touch X valuator does not match pointer X valuator, pointer emulation may be incorrect
[ 6518.636] (WW) Touch Y valuator does not match pointer Y valuator, pointer emulation may be incorrect
[ 6518.636] (II) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: initialized for absolute axes.
[ 6518.637] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: (accel) keeping acceleration scheme 1
[ 6518.637] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: (accel) acceleration profile 0
[ 6518.637] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: (accel) acceleration factor: 2.000
[ 6518.637] (**) Cando Corporation Cando 10.1 Multi Touch Panel with Controller: (accel) acceleration threshold: 4
[ 6518.638] (II) config/udev: Adding input device Cando Corporation Cando 10.1 Multi Touch Panel with Controller (/dev/input/mouse2)