First XI2 server implementation

Keith Packard keithp at keithp.com
Sat Mar 21 22:51:56 PDT 2009


On Sun, 2009-03-22 at 10:08 +1000, Peter Hutterer wrote:

> It's all done by the library anyway, libXi provides a double for these values.
> Clients won't notice the difference.

So make it an INT32 and pass around 16.16 coordinates inside the X
server. That will ensure that the fractional coordinates are handled
correctly through all server paths without having to test with devices
that generate fractional data.

> The focus model is the same as it was before, just the wire format has been
> added. So DeliverFocusedEvent() now delivers both XI2 and XI1. Not sure about
> this specific case you mentioned, but if it was covered in the old model, then
> it is covered now. If not - then the model is buggy anyway.

The old model focus stuff was terrible -- you'd get focus events only
when the focus was explicitly moved, not when it moved implicitly to
follow the pointer.

As a further fix, it would be nice to have a focus model which set the
input focus to a specific window and *didn't* follow the pointer inside
sub-windows. Application embedding really wants this.

Fixing focus would be a huge win, and might get applications to abandon
core events more quickly :-)

> So the current solution isn't pretty either and needs to be fixed. which one
> is easier to fix remains to be seen.

Frankly, I expect fixing event routing to be easier than fixing grabs.
But, I haven't tried either...

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.x.org/archives/xorg-devel/attachments/20090321/1b4302c6/attachment.pgp 


More information about the xorg-devel mailing list