delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/09/05/17:54:25

Date: Sat, 5 Sep 1998 17:55:05 -0400 (EDT)
Message-Id: <199809052155.RAA25943@delorie.com>
Mime-Version: 1.0
To: djgpp AT delorie DOT com
From: Archee/CoNTRACT <soltesz AT hotmail DOT com>
Subject: re: Mouse problame under win95

Hello !


Mouse in text mode increases the coordinates by 8 if you move it one
character.
If you switch to normal VGA mode (13h) it changes. It just increase
it 1 by pixels.
With new drivers in SVGAmode you got the same result.
(it works)
But with older drivers it doesnot detect the mode switching.
It things you are still in text mode, because SVGA not supported
by mouse driver.

The solution:
 Switch to 13h, than switch to your SVGA mode.
 The mouse driver may wont detect the second mode swithing, it will
 think, you are in 13h too. It will work !


Another solution of the problame:

 Code a serial mouse driver. Set up your IRQ for the com port.
 You have to write it for some kinds of mouse. They are different
 in the structure of the packets. Detecting the type of the mouse
 is very hard. I recommend to write it only for your hardware
 or do not use this way to get it work.


Good luck.




>>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



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019