Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!haven.umd.edu!umd5.umd.edu!roissy.umd.edu!mark From: mark@roissy.umd.edu (Mark Sienkiewicz) Newsgroups: comp.os.386bsd.development Subject: Re: Q about future console driver Date: 15 Jul 1993 15:54:04 GMT Organization: University of Maryland Lines: 36 Message-ID: <223uis$gv3@umd5.umd.edu> References: <1993Jul14.151359.16771@gmd.de> <1993Jul14.194356.10137@fcom.cc.utah.edu> <221ub1INNo48@harpo.uccs.edu> NNTP-Posting-Host: roissy.umd.edu In article <221ub1INNo48@harpo.uccs.edu> jmward@pooh.uccs.edu (Joel M. Ward) writes: > Mostly what i was saying is that we should have a standard mouse >interface for apps, but sometimes my meaning floats around as i write :) > > Maybe i should come up with a common mouse interface and see what >ppl think, since the most common answer to "why doesn't somedody...." >is "why don't *YOU* ...." This sounds like you would like "/dev/mouse" that always sends the same codes, no matter what kind of mouse you are using. Of course, the logical extension is "/dev/mouseN" where N is which particular mouse you mean. [Before anybody says "you only need one mouse", I'll point out that "nobody will ever need more than 4K of memory in a home computer". :) ] This idea leaves us at the point where /dev/mouseN is merely a protocol converter from whatever mouse hardware you have to a "device independent mouse protocol" (DIMP). It seems an easy way to do this (without kernel mods) is to grab a tty/pty pair, link the tty side to /dev/mouseN and run a program that reads /dev/{com1,sio1,whatever} and writes DIMP codes to the pty. Run the converter at high priority and it's just like a kernel mode mouse driver, but without the added pain of writing kernel mode code. Since a mouse is inherently a low-bandwidth device, you don't pay very much for this ease of use. And it become much easier to develop new drivers. It seems a good way to find out what DIMP needs in it is to look at all the different mouse hardware available and implement the common set of features. Mark S. p.s. No, I don't particularly want to do this-- I have X and it already supports my mouse. :)