← Back to team overview

multi-touch-dev team mailing list archive

Re: Support broken in 12.04?


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.


-- Chase

Follow ups