Mail Archives: djgpp/1999/02/22/07:24:24
> > The solution is a little bit hairy.
>
> Addendum: I forgot to mention this, but it is important. You will find
> that most mouse drivers are too stupid to report smooth movement in
> SVGA modes: instead they will make the cursor move in jerks of 8 pixels
> at a time. This is not good, and must be worked around.
>
> The simple fix is to use int 0x33 functions 7 and 8 to scale up the
> mouse range by a factor of 8, and function 15 to make it move eight
> times faster than usual, after which you can divide the resulting
> coordinates by 8 to get smooth pixel movement in sensible units.
> This works great except for with Logitech drivers, which don't bother
> to implement the speed adjustment routine, so your cursor will move
> incredibly slowly on systems with a Logitech mouse.
>
> What seems to be a more reliable solution is to ditch all the int 0x33
> position tracking code as well as the cursor display, writing your own
> version that uses the mickey motion deltas (these are available in the
> %si and %di parameters to the movement callback).
>
> Again, see the Allegro mouse.c source. It uses my own position
> tracking when mickeymode is set, and the int 0x33 stuff otherwise.
>
>
> Shawn Hargreaves.
>
>
- Raw text -