[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
The solution for the CTM problem (which is what causes the wacky cursor jumping) is this patch, which was accepted into upstream on 19 Nov 2012; it is not yet in precise-proposed, but I was able to rebuild xorg- server-1.13.0 (from 12.10) with this patch and the problem went away: http://www.mail-archive.com/xorg-devel@lists.x.org/msg33742.html There is another version of the patch floating around somewhere if you want to fix 12.04. IMHO, there is no good reason to break evdev's swap and invert properties, though. For the simple rotation case, they seem like the obvious right thing to use. Why should they not work? -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties To manage notifications about this bug go to: https://bugs.launchpad.net/oif/+bug/742567/+subscriptions ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Oops, sorry, I mean quantal-proposed. (Though of course it's not in precise-proposed, either.) -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties To manage notifications about this bug go to: https://bugs.launchpad.net/oif/+bug/742567/+subscriptions ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
The bug reported by David affects me, too (using a AsusTek, Inc. MultiTouch(TTI) on an Asus EeePC T101MT) I've reported it as separate bug (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/774938), but I don't seem to be able to assign it to you. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
@Favux: I tested your matrices, but it seems to me that left (ccw) and right (cw) are exchanged. Anyway, the wild cursor jumps reported by David persist (and which Chase already acknowledged as an issue). -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Hi Timo, Chase, and David, I am not sure you are using the correct CTM's. Hopefully the ones I have posted here: http://ubuntuforums.org/showthread.php?t=1656089 are correct. But I agree with you Chase and that the original bug should be patched so evdev can again swap and invert axes. I believe Gentoo has already implemented this fix. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Sorry, I should have mentioned they are in Appendix 1 at the bottom of the HOW TO. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Thanks Stefan, I'll check that out. They seemed to work OK for me. I noticed a jittery cursor when in the portrait orientations too, but I had chalked that up to placing my Wacom Bamboo Pen and Touch tablet's touch on the evdev driver. So that's what the CTM and new masked valuator bug is about? OK. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
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/pci:00/: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) -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
David, Oh yes, now I know what's going on. This was a bug reported upstream that we've been discussing a fix for. The issue is the mixing of coordinate transformation and the new masked valuators. A simple patch should fix things up. Can you file a new bug for this and assign it to me? This is really a separate issue from the original bug report. I will make a test package and attach it to the new bug. Thanks! -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Unlike swap axes, the coordinate transformation does not work properly at least not with all devices. First, the wiki is in error, the correct transformation for a rotate left is 0 -1 1 1 0 0 0 0 1 and not 0 -1 0 1 0 0 0 0 1. However with Ubuntu 11.04 and a Lenovo S-10t3 when the axes are reversed with this transformation touching the screen results in the correct location of the pointer, but dragging on the screen causes the pointer to jump wildly from the correct location to an alternative location. It's hard to see in what sense the problem has been fixed by dropping a procedure (swap axes) that worked and replacing it with one (coordinate transformations) that doesn't work. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Hi David, Thanks for catching the mistake on the rotation matrix! I didn't have a machine I could test it out on, so I made an educated guess. I have fixed the wiki page. Are you trying to combine axis swapping in evdev with an input transformation matrix? If so, that would give indeterminate results. If you are using a multitouch screen you need to be using only the input transformation matrix. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Chase, sorry for not having had time to provide the files that you requested. But I can confirm that the issue with the coordinate matrix has been fixed (by you?) in a recent update (xserver-xorg-input- evdev=1:2.6.0-1ubuntu12 right now). Thanks! -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Timo, Please provide the evemu properties file and a sample recording for the touch input device. I'd like to see why you need different normalization values for it. Thanks! -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Timo, Thanks for pointing this out! Admittedly, I wrote the wiki article from memory and didn't test out the values. I see now in DeviceSetTransform() in the xserver that the transformation matrix is scaled internally such that the affine coordinate translation is in normalized floating piont coordinates as you note. I'll update the wiki with this new information. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Chase: do you have any guess as to why the touch input would be normalized differently (I'm guessing [-0.5, 0.5]) than the pen input ([0.0, 1.0]) ? -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Wait, I mean [0.0, 0.5] for the touch input. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Great wiki, Chase. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
Chase: thanks for the wiki article, it is very helpful! I have found that on my devices, the affine coordinate translation is done in normalized floating point coordinates and not in pixel coordinates. And the normalization is different for different devices. For example, to rotate 180 degrees, I need the following matrix for Wacom Pen input: xinput set-prop $ID Coordinate Transformation Matrix -1.0 0.0 1.0 0.0 -1.0 1.0 0.0 0.0 1.0 (which is very reasonable, and stable even under resolution change -- this would be my preferred behaviour). However, for Wacom Touch input, i need the following: xinput set-prop $ID Coordinate Transformation Matrix -1.0 0.0 0.5 0.0 -1.0 0.5 0.0 0.0 1.0 Should I file a new bug about this? -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
The evdev driver has the capability to swap and invert axes, but it is not how I would recommend doing this anymore. As you point out, those properties only affect pointer motion events. While we could extend the functionality to touch events, a better resolution would be to use the X server's Coordinate Transformation Matrix property. This bug inspired me to write a wiki page all about coordinate transformation in X :). You can find it at: https://wiki.ubuntu.com/X/InputCoordinateTransformation This will properly translate event coordinates for both pointer and touch events, though touch valuators will always be in device coordinates. Note that while the functionality is difficult and cumbersome to use today, the hope is we will be able to integrate it into some form of display settings UI in the future. Since there is a better solution for the desired functionality, I'm going to mark this bug as Won't Fix. Thanks! ** Changed in: xserver-xorg-input-evdev (Ubuntu) Status: New = Won't Fix -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
** Also affects: utouch Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp
[Ubuntu-x-swat] [Bug 742567] Re: multitouch events do not respect swap/invert axes properties
** Changed in: utouch Status: New = Invalid -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xserver-xorg-input-evdev in Ubuntu. https://bugs.launchpad.net/bugs/742567 Title: multitouch events do not respect swap/invert axes properties ___ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp