The attached patch implements the suggested behavior. I don't think that this violates the spec.
> The question was actually about how the core pointer is reporting events > when they are being replayed after a grab by a different client. Here > is a part of the xev output in this situation: > > ButtonPress event, serial 31, synthetic NO, window 0x3c00001, > root 0x7c, subw 0x3c00002, time 7082369, (37,21), root:(44,75), > state 0x0, button 1, same_screen YES > > EnterNotify event, serial 31, synthetic NO, window 0x3c00001, > root 0x7c, subw 0x0, time 7082546, (37,21), root:(44,75), > mode NotifyGrab, detail NotifyInferior, same_screen YES, > focus YES, state 256 > > KeymapNotify event, serial 31, synthetic NO, window 0x0, > keys: 124 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > > MotionNotify event, serial 31, synthetic NO, window 0x3c00001, > root 0x7c, subw 0x3c00002, time 7082384, (37,21), root:(44,75), > state 0x100, is_hint 0, same_screen YES > > MotionNotify event, serial 31, synthetic NO, window 0x3c00001, > root 0x7c, subw 0x3c00002, time 7082396, (37,21), root:(44,75), > state 0x100, is_hint 0, same_screen YES > > [about 10 more MotionNotify events with the same coordinates] > > MotionNotify event, serial 31, synthetic NO, window 0x3c00001, > root 0x7c, subw 0x3c00002, time 7082546, (37,21), root:(44,75), > state 0x100, is_hint 0, same_screen YES > > ButtonRelease event, serial 31, synthetic NO, window 0x3c00001, > root 0x7c, subw 0x3c00002, time 7082710, (67,61), root:(74,115), > state 0x100, button 1, same_screen YES > > Notice that all the replayed MotionNotify events have identical > coordinates (the position where the mouse was pressed down), so we don't > get any real information here. In particular, after the call to > XAllowEvents, the application will be unaware of the actual position of > the pointer until the mouse is either moved or released. _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
