← Back to team overview

multi-touch-dev team mailing list archive

Re: Incorrect values returned for XQueryPointer


On 06/28/2011 11:48 PM, Rhishikesh wrote:
> Hi
> I am using an XI2.1 setup which is basically an interim setup from
> various sources on cgit by cndougla and daniels.
> I am using the xinput-multitouch utility to check for events. In the
> xinput code, i put a call to the XQueryPointer api but it seems to
> return incorrect values. The touch driver (slave) is correctly attached
> to the master pointer. The clientPointer for the xinput application is
> also correctly the corepointer device. Yet the coordinates returned from
> XQueryPointer are incorrect.
> I looked at the code paths for the xf86PostTouchEvent chain, and i dont
> see any calls to updateSpriteposition which would ideally update the
> position of the associated master device.
> Is my understanding of the above issue correct ? Is this the reason why
> QueryPointer is returning incorrect values ?
> It would be great if somebody could help me out on this one. Maybe i am
> using an older setup and this is a bug fixed in the later stable
> releases. Please let me know if thats the case.

Hi Rhishikesh,

I never tested XQueryPointer, so it could be broken. The one thing I'll
note is that multitouch events from a touchscreen do not move the master
pointer if the receiving client has selected for XI 2.1 touch events.
When touch events are sent, it is assumed that the client knows what's
going on and can figure out what to do. It is only in the case of
pointer emulation of touch events that the master pointer would be
involved. If you try calling XQueryPointer while touching the screen
over a non-xi2.1 aware client, then things should work as expected.


-- Chase