← Back to team overview

multi-touch-dev team mailing list archive

Re: XI2.1 setup

 

On 02/02/2011 04:10 AM, Rhishikesh wrote:
> Hi everyone,
> Let me start off by congratulating all the guys who have been working on
> the multitouch stack in the Xserver. amazing work !
> I recently got my hands on a multitouch capable touchdevice which sends
> out events with the type A MT protocol. I have since begun to try and
> get multitouch working on it with the help of the mtdev->evdev->X stack.
> But i have faced a couple of major issues which i was hoping someone on
> the list could help me out with.
> 
> Issue 1 : the event logs from the xinput test app seem a little strange
> EVENT type 21 (TouchMotion)
>     device: 2 (6)
>     detail: 9
>     flags: 
>     root: 54.27/57.28
>     event: 54.27/57.28
>     buttons:
>     modifiers: locked 0 latched 0 base 0 effective: 0
>     group: locked 0 latched 0 base 0 effective: 0
>     valuators:
>         0: 60.00
>     windows: root 0x43 event 0x200001 child 0x200002
> EVENT type 21 (TouchMotion)
>     device: 2 (6)
>     detail: 9
>     flags: 
>     root: 54.27/58.34
>     event: 54.27/58.34
>     buttons:
>     modifiers: locked 0 latched 0 base 0 effective: 0
>     group: locked 0 latched 0 base 0 effective: 0
>     valuators:
>         3: 65.00
>     windows: root 0x43 event 0x200001 child 0x200002
> EVENT type 21 (TouchMotion)
>     device: 2 (6)
>     detail: 9
>     flags: 
>     root: 55.37/59.40
>     event: 55.37/59.40
>     buttons:
>     modifiers: locked 0 latched 0 base 0 effective: 0
>     group: locked 0 latched 0 base 0 effective: 0
>     valuators:
>         2: 120.00
>         3: 66.00
>     windows: root 0x43 event 0x200001 child 0x200002
> As we can see from the logs, some events have only one valuator while
> others have more than that. The expected number of valuators would be
> the number of valuators sent by the device which is 4. Please correct me
> if i am wrong here.

This is a new feature as of the xserver 1.10. I added support for
"masked valuators". Essentially, if a valuator's value doesn't change
between two events, then the valuator isn't reported. This will have
event bandwidth savings when we begin using displays with tens or
hundreds (!) of touches simultaneously.

> Issue 2 :  We do not get the TouchEnd event after we lift the finger
> from the screen.
> EVENT type 21 (TouchMotion)
>     device: 2 (6)
>     detail: 9
>     flags: 
>     root: 56.47/61.52
>     event: 56.47/61.52
>     buttons:
>     modifiers: locked 0 latched 0 base 0 effective: 0
>     group: locked 0 latched 0 base 0 effective: 0
>     valuators:
>         2: 122.00
>         3: 68.00
>     windows: root 0x43 event 0x200001 child 0x200002
> This is the log for the last event that xinput gets from the server.

You should always get a TouchEnd event. This is a bug. However, this
area is still in flux in the protocol and in the implementation. Hold tight!

> Issue 3 : XServer crashes randomly on touch input.
> [dix] EventToXI2: Not implemented for 0 
> 
> Fatal server error:
> [Xi] Mouse: XI2 conversion failed in DeliverOneTouchEvent (17)

That's not cool :).

> I have compiled all the sources for the XI2.1 mentioned on
> the https://wiki.ubuntu.com/Multitouch/XDevelopment page.
> I have used the mtdev1.0.11 version.

Thanks for testing stuff out! We're getting close to pushing what we
have into Ubuntu, and every tester helps. In the future, I will suggest
filing bugs on launchpad for these issues. However, right now things are
still in enough flux that I would hold off from filing any bugs. Once we
get things into launchpad we'll want all the bug reports we can get :).

-- Chase



Follow ups

References