*BSD News Article 18469


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. :)