← Back to team overview

multi-touch-dev team mailing list archive

Re: XI2.1 setup

 

Hey,
Thanks for the help.
I have been doing a bit of digging up through the code as well as the usage
docs for XI2.1 and i have sorted out most of my issues.

Issue 1 : All valuators not reported : As u mentioned this is an
optimisation which i was not aware of. Thanks for pointing that out.

Issue 2 : TouchEnd event not received : Actually the last event that was
received in the xinput app was the TouchMotion event with the
XITouchPendingFinish flag set. When i looked through the Xserver code, i
realised that this was a delibrate change to convey to the app that some
client had grabbed the touches. Turns out that xinput application itself is
doing a XIGrabTouchBegin for the main window. I removed that and then the
TouchEnd events are received as expected. Sorry, my bad.

Issue 3 : XServer crashes randomly : This is still an issue. But not
something that will be a major roadblock for me. So i ll just wait till it
gets fixed.

Cheers,

On Wed, Feb 2, 2011 at 8:31 PM, Chase Douglas
<chase.douglas@xxxxxxxxxxxxx>wrote:

> 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
>



-- 
Programming today is a race between software engineers striving to build
bigger and better idiot-proof programs, and the Universe trying to produce
bigger and better idiots. So far, the Universe is winning

Maverick

References