Re: mouse cursor problems

Ove Kaaven <[email protected]>
Newsgroups gmane.comp.emulators.winex.devel
Organization TransGaming Technologies Inc
Message-ID <1076340203.1357.82.camel@renegade>
man, 09.02.2004 kl. 10.35 skrev Phil:
> Hi again -
> 
> On Sunday 08 February 2004 17:05, Phil wrote:
> 
> > Additionally, winex3-3.2-1 causes problems with the mouse cursor: I move
> > the mouse cursor and it snaps right back to it's origin. No matter what
> > direction, the mouse cursor always returns to where it started.
> 
> This problem occurs *only* in windowed mode. When running fullscreen, 
> everything is okay.

Aha. That's a completely different problem, then. Perhaps getting
dlls/dinput/mouse/main.c back to revision 1.39 is the old code you're
looking for?

Fixing it for real (i.e. without losing the improved mouse responsivity
in 1.40 onwards) might be harder to do properly though. In
windows/x11drv/event.c there's this code:

    case MotionNotify:
      if ((current_input_type == X11DRV_INPUT_ABSOLUTE) && 
          (in_transition == FALSE)) {
        /* if we have many consecutive MotionNotify events, 
         * improve responsiveness by skipping all but the last one */
        if (EVENT_CheckIsEvent( display, MotionNotify, event->xmotion.window )) {
          TRACE("skipping\n");
          break;
        }
      }
      X11DRV_MotionNotify( hWnd, (XMotionEvent*)event );
      break;

Now just remove all the skip crap so it becomes:

    case MotionNotify:
      X11DRV_MotionNotify( hWnd, (XMotionEvent*)event );
      break;

and dinput should work fine again in windowed mode. However, non-dinput
(ordinary win32 messaging) input may suffer. Need to find a solution
that lets both work optimally.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.