[RFC XI 2.1] current issues

Denis Dzyubenko shadone at gmail.com
Tue Dec 7 13:36:36 PST 2010

On 7 December 2010 20:07, Daniel Stone <daniel at fooishbar.org> wrote:

>> Chase, Daniel: would be nice to put packages with debugging symbols to the ppa.
> I have nothing to do with the PPA, sorry: I run Debian, and only test
> against master.  As for the crash, I don't have a Magic Trackpad either,
> but will try to get my hands on one.

I would like to be able to test latest versions of the XI2.1 changes
from time to time, and the easiest way (at least for me :P) is the
ubuntu ppa with binaries. The last time I tried to compile modular
xorg using the wiki and provided shell scripts I failed miserably.

>> - 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
>> Trackpad.
>> 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.
> Hm, I'm not sure how much we can do here without a table of
> device-specific scalings.  Maybe we just need to get better data from
> the kernel.

I guess different kernel driver for different device _will_ give you
different data. Hence my question was in context of recent discussion
- getting events through slave devices vs. master devices - I would
expect the data to be "unified" so that clients won't need to have
device-specific workarounds. I wouldn't be surprised if some
parameters would need to be configurable - the only example that comes
to my mind right now is again width/height of the touch - right now I
do not know what the value means and just assume that value 255 (the
maximum for magic trackpad) means 50 pixels wide.

>> 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.
> Hm, the x/y/root_x/root_y co-ordinates are in screen co-ords, but the
> valuators themselves (appended to the event) should be in device
> co-ordinate space.  I'll check this out.

With N-Trig those valuators are in screen coords - at least touching
in the bottom-right corner gives me the value that matches exactly the
resolution of the screen.

>> Other than that it seems to be working fine and I am looking forward
>> to having grabs implemented :) Awesome job guys!
> Thanks. :) Please do keep testing it out and let us know about any more
> problems.  Right now, the main problem I'm tracking is related to grabs
> and short-lived touches: the touch may be finished before the grabbing
> client has a chance to process the data and release the grab to pass on
> ownership.

my understanding of grabs is pretty vague. I guess you are talking
about non-synchronous grabs? Sounds like synch-grabs should be used
all over the place instead of you want to handle short-lived touches.

How does it work for fast mouse clicks? I would expect the timing of a
short-lived touch be exactly the same as the timing of a mouse button
press and release.

> My current hunch is to hold TouchEnd events until any grabbing client
> has asserted ownership of the touch, or the last grabbing client has
> released it to be played to selecting clients.  This adds a little more
> scope for clients to get it wrong, but I don't see any other way to make
> it work, and this is how grabs work today too.

oh and one more question. I guess it will not be possible to get
additional information about the touch device unless the driver
exposes it? In my case I would like to know the physical size of the
device in metric units - the size of the magic track pad - I want to
be able to match metric distance between two fingers on the touch pad
to the distance of the feedback on the screen.

Best regards,

More information about the xorg-devel mailing list