From: cole@concert.net (Derrick C. Cole)
Newsgroups: comp.os.linux
Subject: Re: Microsoft Bus mouse works, sorta
Keywords: microsoft, bus
Date: 29 Aug 92 14:35:02 GMT
Organization: MCNC Data Operations

In article <67043@hydra.gatech.EDU> gt6698a@prism.gatech.EDU (Andrew Hobson) writes:
>
>Greets!
>
>I have an ATI VGA Wonder XL and I have a microsoft mouse plugged in the 
>bus port. (It is on the VGA card)  Rik Faith (faith@cs.unc.edu) has
>written a X386 for ATI cards and it works great, I think. 
>
>I received mail from Derrick C. Cole <cole@concert.net> when I posted
>previously about getting the microsoft bus mouse to work.  He mailed
>me a patch by Frank ten Wolde (franky@duteca.et.tudelft.nl). 
>I have modified this patch and the existing mouse.c by
>James Banks, David Giller, and Nathan Laredo (Thanks for the help,
>Nathan!!!)
>
>I have made modifications to mouse.c so that a microsoft mouse will 
>work.  Essentially, these changes were only to the mouse_interrupt 
>function and should not have affected anything else.  If I run X, then 
>my mouse will not work, even though I am pretty sure that the mouse 
>driver works.  (I put printk's inside the driver, and I modified the 
>mouse test program that comes with X for use with a bus mouse and it
>works)  If I run a program that does an ioperm(port,1,1) for all 
>four of the port addresses, and then run X, I can use the mouse 
>until the xterm comes up.  Then, as long as I hold down a key 
>(on the keyboard), the mouse works.  If I do not hold down a key, 
>then move the mouse, and then press a key, the mouse will jump 
>to a new location, about where it should have moved.  (I have no 
>way of telling exactly where it should have moved.)  If I get 
>rid of the Xterm and Xclock, I still cannot use the mouse, 
>except by pressing down a key.  Pressing a mouse button does not 
>register, unless the mouse is moved.  Using the mouse program that came with X, if I press a button, then new information
>is printed on the screen, but is is the same information as before until
>I move the mouse. 
>
>I guess I need some testers to see if the problem is with the ATI
>X or with my code.  
>
>I have sent mail to Rik Faith about this, as well, so hopefully this 
>can be resolved.  I would really like to not have to press a key
>to use my mouse in X!!
>
>Thanks alot for any help you can give me. I will include copies of my 
>/usr/src/linux/kernel/chr_drv/mouse.c and 
>/usr/src/linux/include/linux/mouse.h files.   I don't think that I have
>changed mouse.h. I can't post a patch because
>I am not sure I have the original I have done so many changes!!
>
>Andrew Hobson

I may have some good news (for a change :) !)

Teemu Rantanen (tvr@cs.hut.fi) posted some code that he says works with a
Microsoft busmouse to nic.funet.fi (see his article.)  I patched it in, but
nothing happened (not even a keypress would induce anything.)

I then proceeded to look at Teemu's code, the kernel-supplied driver, and the
Frank ten Wolde patch mentioned above and after about 30 minutes of hacking
and chopping, I managed to get the mouse to work (no keypress required!)

I like the way Teemu folded the Microsoft driver into the scheme of the kernel.
I've got just about got everything cleaned up, and I'll post my version on
tsx-11 and nic.funet.fi probably this afternoon.  Please test it out and let
me/the net know how/if it works!

I appreciate all (Frank, Andrew, Teemu, and everybody else) who has worked on
this.  I hope this code at least gets us closer to a working driver, if not the
driver itself!

Thanks,
Derrick

P.S.  The only thing I've no clue on is how do you detect a bus mouse?  The
      ideal driver should generically check for one (if defined.)

-- 
---
Derrick Cole                                  MCNC Center for Communications
Newsgroups: comp.os.linux