[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Input team resurrection

Hello folks,

I think I have an interesting project for the PenguinInput guys (if there are
any left!). I don't really have time to do this project myself, but I think it
would be an ideal task for the PenguinInput team.

What Linux need is a universal set of drivers for mice/joysticks/(keyboards?). I
mean low-level drivers here. The Linux kernel has all the necesary I/O stuff,
but what we really lack is drivers to interpret the data and provide it through
a consistent API. This is especially true for mice. If you want to use the
mouse on Linux, you have basically those choices:

- Use X11
- Use SVGAlib
- and that's all (with the notable exception of gpm which has a loopback
feature enabled with the -R command line switch).

The problem is that X11 and svgalib (and gpm as well) actually have different
driver implementations, i.e. redundant implementations of drivers that would
better be moved in a more centralized place.

What I have in mind is a single userland deamon that would provide a consistent
API (through a pipe or a UNIX domain socket for example, like GPM does with
/dev/gpmdata) that could then be used by X11, SVGAlib, GGI, and even console
text mode programs... Then mouse drivers would only have to be written once for
this daemon and everyone would benefit from it. That's even more desired for
fullscreen console games (i.e. non-X11).

That is not a difficult task; it's basically taking the GPM sources and
extracting the daemon/drivers from it, while trying to incorporate even more
drivers (why not enable the use of "plugins", i.e. binary drivers). Ideally
that daemon would even be portable across Unix systems, since it would only be
interpreting the devices' protocol. Thus maybe the need for incorporating a
portable joystick and keyboard API (portable input across Unices would be cool).

That would be a great job for PenguinPlay, IMHO ;-)

I'd like to know what you guys think...

Stephane Peter                          megastep@lokigames.com
Loki Entertainment Software