- I have two mouse pointers.
- The first is trapped in the upper left corner and looks like a standard mousepointer. When the mouse is moved down or right it follows a bit and then always jumps back to it's corner.
- The second one is the Dungeon Keeper mouse pointer (some picture of a monsters head). This one moves down and right if the mouse is moved in this directions but doesn't move up or left. Except this the mousepointer behaves absolutely normal.
That's the situation. Any ideas for a starting point for debugging?
Well, this looks like a dinput bug in the handling of relative mouse grabbing when computing the coordinates of the middle of the screen.
To make a long story short, X does not really provide any way to get relative mouse movements (I do not despair to one day check-out the fd.o X server and add an extension to do that). So we need to 'warp' the mouse to the middle of the window each time it moves and compute from absolute mouse events the relative ones.
Anyway, this whole DInput code worked one day (when it used direct X calls and was full of hacks) and was a bit broken by the DLL separation work (basically, to support this properly we cannot use plain Win32 calls as it's done now but need to hook directly at the low level input system).
Lionel (back from one week snowboarding in the Alps and still handling the mail backlog :-) )
PS: will look too at the DDraw bug Jason reported.
PS2: was not able to run 'kddata.exe' properly (got hangs in Wine in random places), but unzipping directly with unzip worked better :-)