Mail Archives: djgpp/1993/09/08/05:45:39
"John M. Weiss" <jweiss AT silver DOT sdsmt DOT edu> wrote to me on Mon 6 Sep 1993
12:16:11 -0600 (Subject: mouse problems):-
> These are the DOS mouse drivers you uuencoded a few days ago:
MOUSE.SYS 26514 18 Jan 90 - Microsoft mouse driver, version 7.00
MOUSE.COM 26677 18 Jan 90 - Microsoft mouse driver, version 7.00
MOUSE.COM 56408 10 Mar 93 - Microsoft mouse driver, version 8.20
> I tried both MOUSE.COM versions on my machine, and both worked fine with
the LIBGRX-based mouse routines. I have a cheapo Taiwanese serial mouse (3
buttons but MS-compatible) attached to COM1. The driver that came with my
mouse has slightly lower memory requirements (9K for my driver, 13K for MS
driver 7.20, 17K for 8.20), but does not have the lively "ballistic"
acceleration of the MS drivers. I don't know what is causing your mouse
problems - it doesn't seem to be the drivers. You might consider trying a
different mouse. They are incredibly inexpensive these days. Good luck - JW
I remembered later what may have caused the trouble. I read individual
keystrokes thus:-
typedef unsigned char byte;
byte get_key(){_ax=0x0700; int21(); return _ax&255;}
main(){int i; .... i=get_key() ?: -get_key(); ... }
as alt and special keys return 0 and then a byte.
OK so far. But when I wanted the program to read the mouse, I inserted the
read-the-mouse statements in the start of the body of get_key(). This meant
that whenever I typed an alt or special key, this happened:-
(a) read mouse; (b) read keyboard, it gave 0, so carry on; (c) read mouse;
(d) read keyboard and return minus the result.
Perhaps the trouble that I described (when the mouse is active, often
ignoring alt and special keys that return 0 and then a number > 127) came from
me reading the mouse between reading the halves of alt and special keys.
- Raw text -