More XI 1.5 questions

Peter Hutterer peter.hutterer at who-t.net
Tue Dec 23 14:36:41 PST 2008


On Mon, Dec 22, 2008 at 07:31:34PM +0100, Thomas Jäger wrote:
> >> 3. What is the intended behavior of Xinput button grabs with
> >> GrabModeSync?  The two devices that I have here behave differently
> >> (xserver 1.5.99.3):  The trackpoint will still send motion events
> >> (clearly the more useful behavior), while the stylus works the same way
> >> the core pointer does and queues them up until an appropriate
> >> XAllowDeviceEvents call.  I wonder if this is related to the fact that
> >> bug #19034 only applies to the track point, not the stylus.
> >
> > this is a weird bug and I don't quite know why the trackpoint is different
> > here. they should look the same to the server.
> > The indended behaviour is (and this is server >= 1.6).

I just noticed that: this should read server <= 1.6
For all currently released servers, grabs on core devices does not affect the
physical devices and the other way round.
Come XI2 with explicit MD/SD hierarchy support, a grab on an SD will
temporarily detach the device from the MD.

> > Grabbing the VCP/VCK does not affect the physical device. Grabbing the
> > physical device does not affect VCP/VCK events. If a device is frozen through
> > GrabModeSync, all events must be enqueued until the device is thawed.
> All right, I'll look into that a little bit more.  The first two
> conditions are satisfied, it's just the third one that isn't.  By the
> way, browsing through the source, it seems that XAllowEvents and
> XAllowDeviceEvents do the same thing in most cases (AllowSome()'s core
> parameter doesn't have any effect).  Although I doubt that they are
> any clients out there that depend on that (my program doesn't use
> XAllowDeviceEvents at all).

Well, you can't call XAllowEvents for an explicit device, so XADE is needed
once you actively use XI and its grabs etc. 
btw. thank you for digging into this, much appreciated!
 
Cheers,
  Peter



More information about the xorg mailing list