multi-touch-dev team mailing list archive
-
multi-touch-dev team
-
Mailing list archive
-
Message #00691
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