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