Thread Previous • Date Previous • Date Next • Thread Next |
On 07/24/2012 02:48 PM, Matthis R wrote:
Am 24.07.2012 23:36, schrieb Chase Douglas:On 07/24/2012 12:47 PM, Matthis R wrote:Am 24.07.2012 20:22, schrieb Chase Douglas:On 07/24/2012 05:00 AM, Matthis R wrote:Hello everyone, since I installed Ubuntu 64biz 12.04, the multitouch support for my Synaptics trackpad seems to be broken. When I try to "sudo mtdev-test /dev/input/event9" (which is my touchpad) it throws: -> error: could not grab device Also geistest is throwing an error saying: -> error subscribing to gestures -> error subscribing window 0x000000b9 Is this a known problem with synaptics pads, am I facing a bug here, or is it intended behaviour?Hi Matthis, There are two issues here. First, X will grab the touchpad evdev node. This prevents mtdev-test from working. This has always been the case. If you want to use mtdev directly with a touchpad, you have to configure the X server so it doesn't grab the touchpad. There's instructions somewhere on wiki.ubuntu.com on how to do this, but generally this isn't what you want to be doing anyway. The second issue, geistest errors, is due to a change in uTouch in 12.04. The previous incarnation of the uTouch stack would allow for multiple clients to select for gestures and touches on a given window. The new uTouch architecture, which is now built on top of the multitouch support in X.org, does not allow for this. While this can be seen as a regression in behavior, it actually better defines what happens when multiple clients attempt to receive touch and gesture events from the same window. Ideally, this shouldn't be happening. The exact error you are seeing is due to geistest by default attempting to subscribe to gestures on the root window. Unity already has a gesture subscription on the root window, so geistest fails. If you were to run geistest under a different environment, like KDE, it should succeed. What you can do instead is to run geistest on a specific window. You can use xwininfo to get the window ID of a specific window. Then you can pass that to geistest by using the "-w" option. You might find other tools more useful for testing, however. I suggest trying geisview, for example. Thanks! -- ChaseHey Chase. Thanks for your detailed answer - that really shed some light on the dark. With your advice geistest is now usable with the -w switch under unity and, as you mentioned, its working ootb under gnome3. But then again, geistest seems to have no function what so ever. This is the output: http://pastebin.com/ySi8ym5v This stays forever - even if I'd make a linedance on my touchpad ;-) Am I missing something fundamental again? I'm really sorry for beeing so noobish, but I want to understand the basics of the multitouch stuff in general for programming purposes.No worries! So there are two troublesome aspects of multitouch on touchpads: * Many are only two-touch (including poorly implemented two-touch, too). Yours falls in this group. Unfortunately, you won't be able to get any Unity gestures because they are 3 and 4 touch. You would be able to receive two touch gestures if it weren't for the next point: * Because of the legacy architecture of X.org itself, it is not possible to have traditional X scroll and multi-button emulation *and* multitouch gestures through uTouch at the same time. You will only be able to receive two-touch gestures if you go into the mouse preferences and disable "tap to click" and two finger scrolling. Hopefully the latter will be resolved when we move to a modern display server like Wayland. Sorry I don't have any better information :(. -- ChaseHm that seems strange, because before 12.04 I was able to use up to 3 finger gestures with ginn (I used that occasionally for desktopswitching) on the very same touchpad. So 3 finger gestures _were_ supported - once upon a time ;-) That's exactly the point I don't get.
Yes, the original gesture stack had support for semi-multitouch devices. These devices only give a bounding box of the touches, but you don't know where each touch really is. For example, if you have touches in the top left and bottom right of the touchpad it may give you a bounding box with coordinates of bottom left, top right.
Our original architecture was embedded inside the X display server. It was a huge patch and was not able to provide for some of the more advanced features we have today. When we moved to the client side of X, we lost the ability to handle semi-multitouch devices. Support could theoretically be added back in, but support would first have to be added to the X server for semi-multitouch devices. Unfortunately, this just isn't a priority at this point since many of the newest trackpads support full multitouch.
I'm sorry there isn't any better news :(. -- Chase
Thread Previous • Date Previous • Date Next • Thread Next |