REQ: No mouse repositioning @ end of XWin -multiwindow initialization [Alan H, ideas?]
Harold L Hunt II
huntharo@msu.edu
Fri May 23 12:54:00 GMT 2003
Earle,
Earle F. Philhower III wrote:
> Howdy Harold and Early...
> At 11:54 PM 5/22/2003 -0400, you wrote:
>
>> Do you know where this code is located? I looked in dix and os but
>> was unable to find anything that looked related. Is it a simple
>> initialization of a default cursor structure that causes all cursors
>> to show up in the center of the screen?
>> Perhaps it doesn't matter where this happens in X. We could always
>> just grab the current Windows cursor position and move the X absolute
>> cursor position to match before our window is displayed. It would be
>> a little kludgy, but it might work.
>
>
> Maybe the WM should just move any cursor positioning requests away when
> in multiwindow mode? You can still warp the X pointer w/o touching the
> Windows one, just condition out the SetCursorPos() call in wincursor.c.
> You can still call the miPointerWarpCursor. This "ambivalence" is done
> already if Xwin isn't the foreground app...
>
That was the way it used to work before I implemented cursor warping at
the request of a user. Having cursor warping is certainly better than
not having it.
We can't simply ignore cursor warping because the next move of the mouse
in Windows sets the absolute cursor position in X to correspond back to
where the Windows mouse is, thus it totally overrides the warp. Not
having warping lead people to not understand why there application was
not behaving as expected.
Harold
More information about the Cygwin-xfree
mailing list