Re: get_mouse() in mode 19
- Posted by Robert Craig <rds at EMAIL.MSN.COM> Dec 12, 1997
- 688 views
Michael Packard writes: > I KNOW I need to divide it by two. I'm asking is it supposed to work > like this? If so, WHY?!? Why would the y be reported correctly and x > be doubled? And if it's supposed to be like this why isn't it > mentioned in the manual? It wasn't supposed to work this way. Something strange is happening in DOS or the mouse driver. The two machines that I tried it on both double the x value in all graphics modes that have 320 pixels left to right, and work ok in all other VGA or lower modes, even the ones with 350 pixels across. I'm going to update the docs on get_mouse() to warn people that in graphics modes that are 320 pixels wide, the value reported will be double what it should be. i.e. divide the x value by 2 and you should be ok. I don't know why this happens. Does anyone know of a machine where this *doesn't* happen? I could do the divide by two in the interpreter, but I might break some existing code, and I'm still not 100% sure that it would be the correct thing to do on all machines. There's also a problem with the mouse in SVGA modes. People should use one of the solutions provided by Jiri or Peter Blue (and one or two others) for SVGA. Regards, Rob Craig Rapid Deployment Software