Serial ports and mice

# 4 Serial ports and mice

Contents of this section

## 4.1 Where are the (microsoft compatible) mouse drivers?

Tom Kimball (tk@pssparc2.oc.com) reported (11/24/93) that

Several people said to use a different mouse driver and suggested some. I found a couple that seem to work fine.

       oak.oakland.edu:/pub/msdos/mouse/mouse701.zip   (mscmouse)
       oak.oakland.edu:/pub/msdos/mouse/gmous102.zip   (gmouse)

## 4.2 Why doesn't the mouse driver work?

Scott D. Heavner (`sdh@fishmonger.nouucp`) reported (11/27/93) that

If you start the mouse driver and it just hangs (it might actually take 30-60s), but if you are waiting longer than a minute for the mouse driver to start, remove any "timer" lines in your config file.

## 4.3 Why does dosemu clobber COM4?

Rob Janssen (`rob@pe1chl.ampr.org`) reported (3/24/94) that

According to `jmorriso@bogomips.ee.ubc.ca`, "dosemu still clobbers COM4 (0x2e8, IRQ 5). 0x2e8 isn't in ports{} in config. I have to run setserial /dev/cua3 irq 5 on it after dosemu exits."

This is caused by your VGA BIOS. I have found that by enabling the IO port trace and seeing where it was clobbered.

Disable the "`allowvideoportaccess on`" line in config and it will work fine. When you then have problems with the video, try to enable more selective ranges of IO addresses (e.g., 40-43).

## 4.4 How do I use dosemu over the serial ports?

Corey Sweeney (`corey@amiganet.xnet.com`) reported (12/8/93) that

If you plan to be using dosemu over a serial line, telnet session, or just don't want to use raw console mode, then you will probably want to get to know the termcap file. For those who don't know, the termcap file is usually located in the `/etc` directory. It contains the information on what sequences of characters to send to your terminal, and what sequences of characters from your terminal represent what keystrokes. If when you hit F5, and it does not work, it will usually be the fault of a incorrect termcap entry. (To learn more about termcaps look up the termcap man page.)

Now the information in the termcap relates to entries in the dosemu code. So after you put `k5=\E[[E` in your termcap, whenever your terminal sends `\E[[E`, dosemu translates that and says "he hit the k5 key!" Then it is up to dosemu to figure out what the proper scancode for the k5 key is, and push that into the buffer in some magical way. To determine the scancode, it looks up in a little table in termio.c. In termio.c under the line which (currently) says

       #define FUNKEYS 20

There exist several lines following the form

       {NULL, "termcap code", scancode} /* name of key */

so when it says

       {NULL, "k5", 0x3f00} /* F5 */

it's saying that `0x3f00` is the scancode for F5, and that when the person activates the k5 sequence (defined in the termcap) to stuff the F5 scancode into the buffer.

Now that's all fine and dandy for analyzing how dosemu does this, but you probably want to be able to do something with this new information. Well you can add functionality for the F11 and F12 keys (and any other keys that you can find the scancode for).

All you have to do is add a line to the termio.c table that says:

       {NULL, "ka", 0x8500} /* F11 */

Then to actually get it to read the line you just put in, add one to the FUNKEYS number.

       #define FUNKEYS = 21

Then add a "ka" entry to your termcap. After that, every time you hit the sequence stored in your termcap for ka, your dos program recognizes an "F11."

Warning: Make sure that ka is not in use in your termcap. If it is you are headed for trouble.

Note: The scancode for F12 is `0x8600`.

## 4.5 How can I switch between dosemu and a shell over the serial line?

John Taylor (`taylor@pollux.cs.uga.edu`) reported (5/25/94) that

I am running Linux 1.1.13 and want to point out a great feature that should be protected and not taken out (IMHO). With the 52 version, I can run the program, "screen." From screen, i can invoke dos -D-a. What is really great (IMHO) is the screen commands (the CTRL-A cmds) still work. This means I can do a CTRL-A C and add another unix shell, and switch between the two (DOS / UNIX). This allows me to use dosemu over the serial line really well, because switching is made easy.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter