Mail Archives: djgpp/1998/06/05/15:45:25
Alex writes:
>But, when I try it to run under Win95, it use the mouse like the small 3
>bits missing ( as the character modes ).
Many mouse drivers will do that, and not only under win95. In fact, I
think you will find that the majority of machines are unable to display
a mouse pointer in SVGA modes, and can only move the pointer in 4 or 8
pixel units.
As far as the pointer display is concerned, you simply need to write
your own graphics code to draw the image. To get smooth movement, you
can use int 0x33 calls to increase the mouse range and speed by a factor
of 8, and then divide the resulting coordinates back down to get a real
position, but this will fail when using Logitech drivers (they don't
support the speed adjustment call, so the cursor will move very slowly).
Alternatively you can just use int 0x33 functions to read a raw mickey
motion value, and write your own code to convert that into a final
position. That's a bit more complicated, but it's the only totally
reliably method that I have found.
The Allegro mouse.c file supports both the mickey input and increased
range/speed methods, so it might be a useful place to look for some
ideas.
--
Shawn Hargreaves - shawn AT talula DOT demon DOT co DOT uk - http://www.talula.demon.co.uk/
"Miracles are nothing if you've got the wrong intentions" - Mike Keneally
- Raw text -