[RFC XI 2.1] current issues

Denis Dzyubenko shadone at gmail.com
Tue Dec 7 08:22:09 PST 2010

Hi guys,

I am sending this mail to both xorg-devel and multi-touch-dev
maillists just in case.

I've started using experimental XI 2.1 from Chase's personal ubuntu
repository and noticed a few issues I would like to ask about:

- I get XI_TouchMotion without ever getting XI_TouchBegin

That happens with Apple Magic Trackpad when you move the mouse pointer
out of the window, then touch the trackpad with one finger and move
the pointer to the touch-enabled window.

- Even worse - receiving XI_TouchBegin without ever getting XI_TouchEnd

Just start touching over the window and then move the cursor outside
of its boundaries. That screws up things for me as I have no way of
knowing that touch sequence has ended.

Is it a bug it intentional behavior?

- Multiple XISelectEvents calls result in BadValue

if you call XISelectEvents twice with the same mask value on
XIAllDevices, it gives BadValue back. Currently in Qt with client-side
widgets I do not store the information whether the widget has already
selected touch events through the native toplevel and just always call
XISelectEvent on the toplevel whenever a touch-aware widget appears.

- What is the point of XI_TouchMask?

It looks useless to me as I cannot use it in XISetMask as I would have expected.

- Crash when disconnecting Magic Trackpad

not that I care :) I don't have debugging symbols so can't give you
the backtrace

Chase, Daniel: would be nice to put packages with debugging symbols to the ppa.

- Who is going to "adjust" valuators values for different devices?

For example the Touch Minor and Touch Major valuators give me totally
different values for N-Trig touch screen and for the Apple Magic
On the N-Trig I usually get values around 400 for my finger pressing
gently while the range is from 0 to 9600; while with the magic
trackpad it is around 100 in the range 0 to 255.

Another example is the MTAbsX valuator coming from the N-Trig - the
range announced to be from 0 to 9600, while the value is actually in
screen coordinates.

Other than that it seems to be working fine and I am looking forward
to having grabs implemented :) Awesome job guys!

Best regards,

More information about the xorg-devel mailing list