Hi everybody,

I have a fun suggestion for a DOS driver for all sorts
of mouse and touchpad and similar devices, but I would
first want to know which devices are actually in use out
there today, so please let me know what you use - unless
it is a "boring" PS2 mouse with max 3 buttons and 1 wheel.

The idea: Take the Linux driver/input/ mouse/ and serio/
code and compile it into a jemm386 JLM with help of some
glue code and some stripping of Linux specific stuff.

Linux 2.6 drivers are event based: One handler called for
each byte coming from the mouse / byte and one handler in
a few variants (sync, button, movement) which is called
by the driver to return the processed data. I suggest to
port only RS232 and PS/2 based drivers, no bus mouse or
other exotic stuff. No USB either beyond BIOS USB PS/2.

So... The JLM could search for any supported mouse and
if one is found it could hook BIOS int15. Then it would
handle the mouse itself (install itself as PS2 callback
for the real BIOS) and redirect attempts by DOS mouse
drivers to find a PS2 mouse to itself, answering things
like "I am a PS2 mouse" or "I am a PS2 wheel mouse" :-).

The DOS mouse driver would then install a callback to
get PS2 packets and the JLM could call the DOS mouse
driver to send faked PS2 packets to the driver. This
will let the JLM translate any supported protocol,
even a RS232 one, into a virtual PS2 mouse for any
BIOS using PS2 mouse driver for DOS :-).

This limits you to at most 3 or 5 buttons and at most
one wheel (or scroll button pair or touchpad scroll
area or whatever). I assume that is enough, even though
Linux kernel drivers know devices with up to 2 wheels
and up to 10 buttons :-). Note that the DOS int33 wheel
API is limited to 1 wheel and 8 buttons anyway ;-).

So... Linux supports the following, let me know which
of them you actually use. Excluding types which are
already fully supported in ctmouse anyway, of course.



Supported in ctmouse anyway, but planned to remove, please comment:

- rs232 old genius mousesystems msc

- rs232 ms with 3 buttons kludgy protocol

Supported in ctmouse anyway, please do not comment: ;-)

- rs232 ms with 2 buttons

- rs232 logitech and newer ms 3 buttons

- ps2 with 2 or 3 buttons

- ps2 with 3 buttons and wheel

Upcoming in ctmouse, please comment:

- ps2 with 4 or 5 buttons and wheel



Possible via Linux drivers, please comment:

* ps2 ALPS touchpad (can have wheel, 5 buttons, pressure)
  (possibly absolute coord based protocol, driver 2003-2005)

- gpio "4 directions and 3 buttons on any digital input" 2007

- generic HIL at generic serial port HP mouse/tablet (??) 2001

- inport ati/ms bus mouse 1999-2001, pretty ugly...

* ps2 Fujitsu Lifebook etc touchscreen 2005 (absolute or relative
  coordinates, 2 buttons plus tap-gesture)

- logitech busmouse 1999-2001, less ugly...

* ps2++ logitech 1999-2003 up to 2 wheels, 8 buttons
  (Mx, touchpad3, trackman)

- ibm pc110 touchpad, whatever that might be (2000-2001)
  (abs coordinates, touch, irq 10, i/o 15e0)

* ps2 common stuff 1999-2004 including intellimouse /
  netmouse / intellimouse explorer / thinkingmouse /
  expertmouse / contron trackball, can have 2 wheels
  and up to 5 buttons, but detection of some of those
  is very exotic - in particular, I would want to know
  if anything apart from "already ctmouse supported"
  and "intellimouse with 1 wheel / max 5 buttons" has
  been spotted in the wild :-) This module also calls
  Synaptics / Alps / Lifebook / Trackpoint / Touchkit
  and PS2++ detection elsewhere...

* rs232 serial mouse 1999-2002, variants MSC / Sun
  (old Genius MouseSystems 5 byte and a 3 byte Sun
  variant of that...) and MS variants (MS, MSZ, MS+,
  MS++) with 2-3 buttons and possibly a 4th byte in
  the packets for 2 extra buttons (M+) or one (MZ+,
  MZ++) or wheel (MZ) and even more bytes for "MZ++"
  extensions ("only" 5 button 2 wheel mouse yet)

* ps2 synaptics touchpad 1997-2003 with 2-4 buttons
  (exotic 3rd/4th protocol) and up to 8 further (nice
  protocol) extension buttons, abs/rel coordinates,
  pressure. possibly "scroll as back/forward button",
  extensions for "2 or 3 fingers" (meaning double and
  triple click) and "pen" and "palm of width 4..15".
  (here I wonder who has any more than 2 buttons plus
  tap supported in his touchpad version?)

- ps2 egalax touchkit touchscreen 2004-2005
  (looks basic, just abs coordinates and touch)

* ps2 trackpoint (sensitivity, speed, inertia, hysteresis,
  reach, threshold, tapping etc configurable via module
  params, DOS would probably need a config app for them)
  wwwcssrv.almaden.ibm.com/trackpoint/download.html
  (apart from that, protocol is normal PS2 mouse it seems)

- rs232-ish DEC VSnnn- AA GA and AB puck, mouse or tablet
  (2001-2004, just 3 buttons and coordinates if mouse but
  5 buttons and abs coordinates if tablet)

(Protocols: alps, lifebook, ps2++, ps2, synaptics, touchkit
for ps2, MSC/Sun and MS/related for rs232, plus busmouse
and exotic stuff, plus several weird handshakes and setups)

So... please vote for a hardware type or feature of one
or whatever, and please vote for to-be-ignored hardware.
Thanks everybody :-)

Eric



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to