Hi!

31-Дек-2007 15:13 [EMAIL PROTECTED] (Eric Auer) wrote to Андрей Влащенко
<[EMAIL PROTECTED]>, freedos-devel@lists.sourceforge.net:

EA> Current CuteMouse 2.1 development is done by me  :-) .

     And how progress so far? (I was missing half of year, so I miss latest
news).

>> PS/2/COM/MSMouse's. I do not understand the architecture of the
EA> I must admit that the CuteMouse source code is ugly but on the

     Let me object this assertion. :) CuteMouse source code is full of
different tricks, but in other there was done a lot of work to make it more
readable (including introducing high level constructions like
if_/else_/end_).

EA> Current version 2.1b3 is here:
EA> www.coli.uni-saarland.de/~eric/ctmouse21b3.zip
EA> What I was planning to do next was to make the COM handling
EA> automatic: Maybe remove Mouse Systems (Genius) protocol or
EA> at least make it no supported by default.

     I suggest, today this change (not enabled by default) shouldn't harm -
I doubt there remained any of MSM mouse alive. :) But who knows? On the
other side, I not see ANY urgent need in making MSM protocol disabled by
default - if user need to omit this protocol, (s)he always may add /y option.

EA> The current version
EA> has an option /Y ignore Mouse Systems, and most people should
EA> use it,

     NOT "should". You should use this option ONLY IF you not want to remain
CuteMouse in memory, when there is no mice attached.

EA> So my plan is to make that "ignore Mouse Systems" the default.

     This is cosmetic change, which may be useful, but it may also have side
effects (for those users, who have MSM mice). Especially if driver runned by
3rd party software (like Partition Magic) and you not have possibility to
add options manually.

EA> Then, only two main COM protocols are left: Logitech mouse and
EA> Microsoft Mouse protocol. My plan would be to change the code
EA> of "MSLTproc" to automatically decide for each packet which of
EA> the two protocols the packet is.

     Let me slightly clarify this aspect. In theory, one procedure may
handle all three protocols (MS, LT, MS+wheel) without preliminary knowledge
about initial selections: first 3 bytes in each protocol are identical, 4th
byte (middle button and wheel rotation) is easily distinguished between
protocols:

if 4th byte = zero then                         ; both protocols
  middle button released
else if bit 5 (mask 00100000b) is set then      ; LT protocol
  middle button pressed
else                                            ; MS+wheel protocol
  parse low 5 bits
  (bit 4 - middle button, bits 0-3 - wheel rotation)

There only one objection against this: link to mouse may be unreliable. If
link is unreliable and there are bytes losses or garbaged bytes insertion,
"auto decision" may cause "mystic" middle button state changes and wheel
rotations. I remember, there WAS some troubles with middle button in my
initial experiments (or this was troubles with MSM protocol? don't remember
precisely...).

     Also, I should mention: Alain was doing some changes for himself to
make "autodecision".

EA> Then you have hotplugging for
EA> COM mice  :-) . You also have a chance for hotplugging of PS2
EA> mice already with 2.1, if you use the /O option to disable the
EA> wheel part (which is hard to re-bootstrap on the fly). Note that
EA> PS2 is not officially meant to support hotplugging, you might
EA> even damage old hardware by doing it?

     There is another problem with PS/2 - to enable wheel support in mouse,
you should "send" some additional initialization, but this support disabled
in mouse again (without knowledge about this in driver!), if some 3rd party
code also resets mouse. I not see reliable methods to control wheel support
(make it always enabled) with PS/2 mice...

EA> As this COM protocol autodecision is a bit tricky, you may want

     Nothing tricky - see above. You just should appropriately modify
`setupdriver' procedure.

EA> to write a Pascal version of it first, so I can port it to ASM
EA> for CuteMouse :-).

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to