Re: Nasty user mouse/keyboard move & resizing bugs from pointer warping

> Yeah, I've been bothered a number of times by the pointer warping when
> I wasn't using the mouse at all.  I'd love to fix this issue
> too--though I think we may want the mouse to still be warped in some
> cases (e.g. if the user is moving the window and moves it far enough
> and the pointer was in the window to begin with).

Yes. Although I think that in the alt+f7 case, warping the pointer
might not be needed.

> I'd like to do this, but I don't see how it's possible with X.  If
> anyone knows better than me, I'd love to hear it.

I found this thread on google

"You could remove MotionNotify from your event mask during the time
you do the warp, then put it back, but that may have performance

And also this code by googling for PointerMotionMask:

XSelectInput( x_disp, x_win, STD_EVENT_MASK & ~PointerMotionMask );
XWarpPointer( x_disp, None, x_win, 0, 0, 0, 0, (window_width / 2),
(window_height / 2) );
XSelectInput( x_disp, x_win, STD_EVENT_MASK );

Which seem to me to be an attempt to do XWarpPointer and ignore
MotionNotify events. But I'm a newbie so I have no idea if it really
works or not.

> I'm not sure what you are referring to with the "issue with
> shift+moving" the mouse, but I fixed one or two such issues on the
> constraints_experiments branch.  Could you try it out and let me know
> if the problem you're referring to is still an issue with that
> version?

I've checked it out now. It seems like that in that branch most issues
with Alt+F7 and Alt+F8 has been fixed. But not the issue with
shift+mouse moving. The mouse thing I'm referring to is that when you
first press Alt+F7 and then shift+moving the mouse, the window is
always moved to screen edge. I think it should work so that when you
move the mouse left for example, the window should move to the left
border but its y-position should stay the same. I think that is the
bug you are referring to here: But that may be a
completey different issue since it is not caused by XWarpPointer().

mvh Björn

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]