On Tue, Apr 03, 2012 at 05:31:01PM -0700, Chase Douglas wrote: > QueryPointer is part of the core protocol. As such, it knows nothing > about touch devices. Touches are converted to button 1 press, pointer > motion, and button 1 release for core clients, so we should ensure the > pointer state mask has button 1 set when XQueryPointer is used. > > Signed-off-by: Chase Douglas <[email protected]>
merged, thanks. > --- > A similar patch is needed for ProcXIQueryPointer, but I don't know what > to do there. My initial thoughts are to set the button 1 mask if the > client is XI 2.1 or earlier, and not set the button 1 mask otherwise. yes > Either way, I think the XI protocol needs to be updated to make it clear > what should happen. yes :) Cheers, Peter > dix/events.c | 3 +-- > 1 files changed, 1 insertions(+), 2 deletions(-) > > diff --git a/dix/events.c b/dix/events.c > index 4470947..b9f9cfa 100644 > --- a/dix/events.c > +++ b/dix/events.c > @@ -5098,8 +5098,7 @@ ProcQueryPointer(ClientPtr client) > memset(&rep, 0, sizeof(xQueryPointerReply)); > rep.type = X_Reply; > rep.sequenceNumber = client->sequence; > - rep.mask = mouse->button ? (mouse->button->state) : 0; > - rep.mask |= XkbStateFieldFromRec(&keyboard->key->xkbInfo->state); > + rep.mask = event_get_corestate(mouse, keyboard); > rep.length = 0; > rep.root = (GetCurrentRootWindow(mouse))->drawable.id; > rep.rootX = pSprite->hot.x; > -- > 1.7.9.1 > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
