home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / driver / com / maus / readme.1st next >
Encoding:
Text File  |  1993-04-07  |  34.2 KB  |  835 lines

  1. --------------------------------- Copyright ----------------------------------
  2.  
  3.    Copyright (c) 1993 by Michael Lee Finney.  All rights reserved.
  4.  
  5. --------------------------------- Shareware ----------------------------------
  6.  
  7.    This program is shareware.  If you find this program useful you must
  8. register your copy.  To register a private copy, send $15.00 (US funds) to:
  9.  
  10.    Michael Lee Finney
  11.    114 Old Wiggington Road
  12.    Lynchburg, Va. 24502-4669
  13.  
  14. Please make remittance payable to: Michael Lee Finney, and include your
  15. company (for a corporate license), name, address and phone number.  The
  16. registration cost for corporate site licenses is...
  17.  
  18.        1..4   copies -- $25 each             
  19.        5..10  copies -- $20 each        
  20.       11..20  copies -- $15 each
  21.       21..40  copies -- $10 each
  22.       41...   copies --  $5 each
  23.  
  24.    These prices are accumulative, so the first four copies cost $25 each,
  25. the next six cost $20 each, and so on.  Therefore, a corporate license for
  26. 23 copies would cost:
  27.  
  28.     4 @ $25 ... $100
  29.     6 @ $20 ... $120
  30.    10 @ $15 ... $150
  31.     3 @ $10 ...  $60
  32.                ------
  33.                 $430
  34.  
  35. for an average cost of: $18.70.
  36.  
  37.   To obtain the latest version of this program when you register, send $10
  38. for shipping and handling to the above address.  This $10 does NOT apply to
  39. the registration cost and only one copy will be sent regardless of the number
  40. of copies registered.
  41.  
  42. Note: Registration is not required for beta releases of this program.
  43.       However, the license to use the beta release expires when the
  44.       general availability release of this program is issued.
  45.  
  46. ---------------------------------- License -----------------------------------
  47.  
  48.    Unregistered users (personal or corporate) are permitted to use this
  49. program for a trial period of one month.  By the end of this period you
  50. must either register the program or remove it from your system(s).
  51.  
  52.    Registered users are permitted to use this program on one system at a
  53. time and may make as many archived copies for backup purposes as needed.
  54. It may be used on multiple systems (for a single license) only under the
  55. condition that only one of the systems is in use at a time.  Since this
  56. program is an operating system device driver, the assumption is that it is
  57. in continual use when the system in use.  Therefore a registered copy
  58. is required for each system on which this program is used simultaneously.
  59.  
  60.    Registered users are entitled to support.  Since this program is a
  61. shareware product, the author assumes that you have not registered a copy
  62. if it fails to operate correctly.  However, if after registration a program
  63. error is found, the author will make every attempt possible to repair the
  64. program.  If the failure cannot be repaired and makes the product unusable
  65. the author will refund the registration fee.  Furthermore, registered
  66. users are eligible for the "bug" reward (see details below).  Additionally,
  67. registered users will also be sent notices of new versions of this program,
  68. and of other shareware releases by the author.  In particular a registered
  69. beta user will be notified of the general availability release.  Your name
  70. will NOT be sold to a mailing list.
  71.  
  72.    This program is not intentionally crippled in any manner, therefore a
  73. new copy of the program will NOT be sent when the program is registered.
  74.  
  75.    A registered user may upgrade to the latest version of this program for
  76. a cost of $5 ($15 if a copy on diskette is desired).  Upgrading from a beta
  77. release is free ($10 if a copy on diskette is desired).
  78.  
  79. Note: The license to use the beta release expires when the general
  80.       availability release of this program is issued.
  81.  
  82. ---------------------------------- Contents ----------------------------------
  83.  
  84. The distribution file, RODENT.ZIP, contains the following files...
  85.  
  86.    README.1ST - This file.
  87.    RODENT.SYS - Mouse driver.
  88.    RODENT.EXE - Presentation Manager test program.
  89.  
  90.    If this device driver is placed on a bulletin board, all three files must
  91. be distributed -- preferably in the original RODENT.ZIP file.
  92.  
  93. ---------------------------------- Summary -----------------------------------
  94.  
  95.    RODENT.SYS is a mouse driver which supports most buss mice and serial
  96. mice.  It provides three button support.  The advantages of RODENT.SYS over
  97. the IBM mouse drivers (assuming that they even work for your mouse) are...
  98.  
  99.    1. Both 2 button and 3 button mice are fully supported.
  100.  
  101.    2. The middle button on a 3 button mouse can be programmed as a chord
  102.       of the left and right buttons.
  103.  
  104.    3. The interrupt handlers have been carefully tuned resulting in a lower
  105.       system load (compared to the IBM mouse drivers) when the mouse is
  106.       active.
  107.  
  108.    4. The FIFO buffer of the 16550AFN or 16552 can be enabled, further
  109.       lowering the system load.
  110.  
  111.    5. More serial mice are supported than the IBM mouse drivers support.
  112.       Some digitizer tablets are supported as mice as well (diabled in the
  113.       beta release).
  114.  
  115.    6. Auto-detects the type of mouse.
  116.  
  117.    7. Auto-detects the number of mouse buttons, where possible.
  118.  
  119.    8. Auto-detects the type of uart (for serial mice).
  120.  
  121.    9. Supports additional baud rates over the basic 1200 provided by the
  122.       IBM mouse drivers.  Baud rates of 150, 300, 600, 1200, 2400, 4800,
  123.       9600 and 19200 are supported (for those mice which allow the baud
  124.       rate to be set).
  125.  
  126.   10. Any 8250-compatible uart can be used at any port address and any irq.
  127.       The IBM drivers only support COM1..COM4 (and may have trouble
  128.       supporting COM3 and COM4).
  129.  
  130.   11. Should not "lose" the mouse during a reboot via Ctrl-Alt-Del.
  131.  
  132.   12. Mouse deinstalls correctly on ABIOS systems (a bug in some of the IBM
  133.       mouse drivers).
  134.  
  135.   13. Low battery detection for Logitech radio mice is provided during
  136.       system boot.
  137.  
  138.   14. The actual mouse resolution can be specified.
  139.  
  140. ---------------------------------- Support -----------------------------------
  141.  
  142.    This is a shareware product.  Support is only available to registered
  143. users.  The registration cost is only $15 so PLEASE register if you find
  144. this product useful.  Problems can be reported via email (in order of
  145. preference -- I check Genie more often because it is free and CI$ is not) at:
  146.  
  147.    Genie:      M.FINNEY
  148.  
  149.    Internet:   M.FINNEY@GENIE.GEIS.COM
  150.  
  151.    Compuserve: 71573,1075
  152.  
  153.    Internet:   71573.1075@COMPUSERVE.COM
  154.  
  155. and by U.S. Mail at:
  156.  
  157.    Michael Lee Finney
  158.    114 Old Wiggington Road
  159.    Lynchburg, Va. 24502-4669
  160.  
  161.    Please include all pertinent information regarding the problem, including
  162. hardware configuration, operating system release and corrective service
  163. level.  Include your name, address, email address, phone number, etc. so that
  164. I can contact you.  Please include time zone, and the best hours to reach you
  165. by phone and the hours you would rather NOT be reached by phone.
  166.  
  167.    I will attempt to resolve any reported problems.  However, if the problem
  168. is caused by a hardware incompatibility then resolution may be difficult if
  169. I am unable to locate equivalent hardware.  I will work with you as far as
  170. possible.  I am willing to support incompatible mice, but I must be able to
  171. get the necessary hardware.  If you have such a mouse send me a note with a
  172. return address or phone number and I will work with you.
  173.  
  174. ----------------------------------- Reward -----------------------------------
  175.  
  176.    In order to promote software quality, and as an assurance of the existing
  177. software quality of this product, a reward of 25% of the registration fee
  178. (minimum of $5.00) is offered to any registered user who reports a previously
  179. unknown program error.
  180.  
  181. RULES:
  182.  
  183.    1. The reward is only offered to registered users (however, I will
  184.       accept bug reports from any user).
  185.  
  186.    2. The maximum reward paid to a single user is limited to twice the
  187.       registration cost paid by the user (if you register 10 copies then
  188.       your maximum possible reward is greater than if you register 1 copy).
  189.  
  190.    3. I am the final arbiter in regards to precedence between users
  191.       reporting the same program error.
  192.  
  193.    4. I am the final arbiter in determining that a reported program error
  194.       does, in fact, exist.
  195.  
  196.    5. Failure to support incompatible hardware is NOT considered an error.
  197.       I cannot be responsible for every device some twisted hardware
  198.       designer creates (even IBM cannot do that).  However, I will work
  199.       with users to resolve any problem to the best of my ability.
  200.  
  201.    6. This reward is not offered for beta releases.
  202.  
  203. -------------------------------- Installation --------------------------------
  204.  
  205.    Installation.  The file RODENT.SYS should be copied to a directory of your
  206. choice -- the C:\OS2 directory is the usual choice, but any directory can be
  207. used.  Your CONFIG.SYS file should be altered to contain the following two
  208. lines...
  209.  
  210.    DEVICE=C:\path\RODENT.SYS [options...]
  211.    DEVICE=C:\OS2\MOUSE.SYS TYPE=RODENT$
  212.  
  213. and any existing lines relating to the mouse driver should be removed.  For
  214. example, assuming that RODENT.SYS has been placed in the C:\OS2 directory:
  215.  
  216.    DEVICE=C:\OS2\RODENT.SYS BAUD=19200 BUFFERED DPI=400
  217.    DEVICE=C:\OS2\MOUSE.SYS TYPE=RODENT$
  218.  
  219.    DEVICE=C:\OS2\RODENT\RODENT.SYS
  220.    DEVICE=C:\OS2\MOUSE.SYS TYPE=RODENT$
  221.  
  222.    DEVICE=C:\OS2\RODENT.SYS COM=73D8 IRQ=11 BAUD=2400 BUFFERED MOUSE=C PROTOCOL=MM BUTTONS=2 DPI=300
  223.    DEVICE=C:\OS2\MOUSE.SYS TYPE=RODENT$
  224.  
  225. The first DEVICE line in the last example is longer than 80 characters.  In
  226. almost all cases an installation similar to the first two examples would be
  227. used.  If you have multiple mice attached to your system, then you may need
  228. to specify the mouse type or the serial port for the desired mouse.  Only
  229. one mouse can be used at a time.  Lines in your CONFIG.SYS which are mouse
  230. related are...
  231.  
  232.    DEVICE=C:\OS2\VISION.SYS...
  233.    DEVICE=C:\OS2\PCLOGIC.SYS...
  234.    DEVICE=C:\OS2\MOUSE.SYS...
  235.  
  236. all such lines should be removed and replaced as shown above.
  237.  
  238.    This mouse driver has been tested under OS/2 2.0 GA, 2.0 GA+SP and the 2.1
  239. March beta.  It has been tested on a 50Mhz 486DX AT-clone and on an IBM PS/2
  240. model 70 (serial mice only for this machine).  The  following mice have
  241. been tested...
  242.  
  243.    Logitech C9 Mouse (buss)
  244.    Logitech First Mouse (serial)
  245.    Logitech MouseMan Cordless Mouse (serial)
  246.    Logitech MouseMan Mouse (buss)
  247.    Logitech TrackMan Mouse (serial -- Mouse Systems compatible)
  248.    Microsoft Mouse (serial)
  249.  
  250. Only these mice are certified to function correctly with this mouse driver.
  251. However, the driver is MUCH more capable because special provisions have been
  252. made to support "partially" compatible mice.  In particular, it should be
  253. noted that the driver has only been tested with Mouse Systems "compatible"
  254. mice and that REAL Mouse Systems mice might behave slightly differently or
  255. not support some of the programming codes used.
  256.  
  257.    In some cases a mouse might function with the driver, but require some of
  258. the more exotic options (see the option list below).  For example, you could
  259. have a mouse which recognized most of the protocols associated with a Mouse
  260. System's mouse, but could not be automagically recognized.  In this case you
  261. would use the CONFIG.SYS entries:
  262.  
  263.    DEVICE=C:\OS2\RODENT.SYS MOUSE=C
  264.    DEVICE=C:\OS2\MOUSE.SYS TYPE=RODENT$
  265.  
  266. which forces the mouse driver to accept the mouse as a Mouse Systems mouse,
  267. but avoids the recognition check.  However, all programming codes are still
  268. sent to the mouse.  Or as a more severe example, you could have a mouse which
  269. supports the Mouse System communication 5B protocol (default with Mouse
  270. Systems mice) but nothing else works.  In that case you would use the
  271. CONFIG.SYS entries:
  272.  
  273.    DEVICE=C:\OS2\RODENT.SYS MOUSE=X PROTOCOL=5B
  274.    DEVICE=C:\OS2\MOUSE.SYS TYPE=RODENT$
  275.  
  276. which forces the mouse driver to use the correct communication protocol, but
  277. with NO attempt made at sending programming codes to the mouse.  The mouse
  278. must default to the appropriate state to use the specified protocol.  Most
  279. mice can be setup this way because almost all mice default to one of the
  280. available communications protocol (however, digitizer tablets intrinsically
  281. REQUIRE programming and cannot be setup in this manner).
  282.  
  283. ---------------------------------- Testing -----------------------------------
  284.  
  285.    After booting OS/2 preliminary testing can be accomplished simply by
  286. moving the mouse and making sure that the mouse cursor follows the movement
  287. of the mouse.  Execute RODENT.EXE to further test this device driver.  This
  288. test program will display a Presentation Manager window.  It will display
  289. the number of buttons as perceived by OS/2 and the mouse resolution as
  290. perceived by OS/2.  Further, if you click the mouse buttons, the associated
  291. OS/2 mouse event is displayed.  The most recent mouse event is flagged by
  292. an asterisk.  If the mouse pointer follows mouse movement correctly and
  293. all buttons operate correctly then you will probably not have any trouble
  294. with the mouse driver.  Other signs of trouble might be consistently missing
  295. mouse events (such as clicks) or events occurring without any associated
  296. physical mouse action.
  297.  
  298.    When evaluating missing or extra events reasonable care should be taken.
  299. It has been observed that occasionally OS/2 will "lose" a mouse click during
  300. rapid mouse activity -- this is related to the fact that OS/2 only maintains
  301. a small mouse event queue to avoid "piling" up an extremely large number of
  302. events.  Sometimes losing a button release has the appearance of additional
  303. clicks if an application auto-repeats while a mouse button is pressed.  The
  304. loss, by OS/2, of mouse events is fairly rare except under very heavy mouse
  305. activity.  However, it appears to be slightly more common when using higher
  306. baud rates because the internal OS/2 queue is more likely to overflow.  This
  307. has been seen using the Logitech radio mouse at 9600 baud.  Also this lose
  308. might not actually be the fault of OS/2, but is occurring in the applications
  309. instead (actually more probable).  Nevertheless, this behavior has sometimes
  310. been seen, both with these mouse drivers AND with the OS/2 mouse drivers.
  311. It has been seen most often using Logitech's radio mouse and Microsoft's PWB
  312. in a full screen session.
  313.  
  314.    This is a low-level mouse driver.  OS/2 handles all of the higher level
  315. functions, including routing mouse events to DOS sessions OS/2 sessions and
  316. PM sessions.  OS/2 reports all mouse events (in the appropriate form) to the
  317. currently active session.  Therefore DOS sessions CAN take advantage of all
  318. three buttons.  Since this mouse driver is not involved in these actions,
  319. failure of OS/2 in that manner are probably not caused by this device driver.
  320.  
  321.    Note: The resolution reported by OS/2 is in "mickeys per centimeter".
  322. Therefore, the dots per inch provided to the device driver is divided by
  323. 2.54 and rounded when reporting to OS/2.  This device driver reports the
  324. closest value possible.  For example, 400 dpi reports as 157 mickeys.
  325. Since the value reported to OS/2 is a fixed point number, the result if
  326. multiplied by 2.54 is only 399 (after rounding) instead of the original 400.
  327.  
  328. ---------------------------------- Options -----------------------------------
  329.  
  330. The following options are supported...
  331.  
  332.    COM=#
  333.  
  334.       This option allows the serial port to explicitly specified.  This
  335.       option may be specified as:
  336.  
  337.          COM=1
  338.          COM=2
  339.          COM=3
  340.          COM=4
  341.          COM=xxxx
  342.  
  343.       where 1..4 is one of the standard com ports, and "xxxx" is the hex
  344.       address of the serial port.  So,
  345.  
  346.          COM=1
  347.  
  348.       is normally equivalent to:
  349.  
  350.          COM=03f8 IRQ=4
  351.  
  352.       Any serial port which is compatible with the 8250 uart may be used.
  353.       This mouse driver is not restricted to COM1..COM4, unlike the IBM
  354.       mouse drivers.  If this option is omitted then the mouse driver will
  355.       scan COM1..COM4 (in order) to find the mouse.  This procedure works
  356.       and is reasonably reliable, however it is impossible to completely
  357.       restore the uart state so automatic scanning could potentially cause
  358.       problems with other devices attached to serial ports.  This mouse
  359.       driver will restore more of the serial port state than the IBM mouse
  360.       drivers.  Specifying this option also reduces the time required to
  361.       initialize the mouse driver -- by as much as a couple of seconds.
  362.  
  363.    IRQ=#
  364.  
  365.       This option allows the interrupt number to explicitly specified.  Any
  366.       interrupt from 2..15 may be used, unlike the IBM drivers which are
  367.       restricted to interrupts 2..7.  If omitted, the interrupt level to
  368.       be used will be determined from the port address.  This procedure is
  369.       only reliable for the standard COM1 and COM2 port addresses 3f8 and
  370.       2f8.  It may work for COM3 and COM4 (depending on the actual port
  371.       addresses).  The IBM mouse driver has the same (undocumented) problem,
  372.       but does not provide a mechanism to specify the interrupt number.
  373.  
  374.    BAUD=#
  375.  
  376.       This option allows the baud rate to be specified.  It may be one of
  377.  
  378.          150, 300, 600, 1200, 2400, 4800, 9600 or 19200
  379.  
  380.       All mice do not support all baud rates.  To use the lowest baud rate
  381.       supported by the mouse specify:
  382.  
  383.          BAUD=150
  384.  
  385.       and to use the highest baud rate supported by the mouse specify:
  386.  
  387.          BAUD=19200.
  388.  
  389.       The lowest baud rate which gives good performance should be used to
  390.       reduce system load.  If this option is not specified then it defaults
  391.       to a value determined by the protocol in use.  Each protocol has a
  392.       default baud rate based on the default mouse baud rate.  If a baud
  393.       rate is specified which is not supported by the protocol the highest
  394.       baud rate which is less than the specified baud rate will be used, if
  395.       any, and otherwise the lowest baud rate which is higher than the
  396.       specified baud rate will be used.
  397.  
  398.    BUFFERED
  399.  
  400.       This option enables the FIFO buffer if a 16550 uart is determined.  The
  401.       FIFO buffer is NOT enabled by default because some 16550 uarts do not
  402.       function correctly.  All 16550AFN uarts should function correctly, if
  403.       you have a 16550, 16550A or 16550AF uart then it should be replaced by
  404.       a 16550AFN uart.
  405.  
  406.    MOUSE=xx
  407.  
  408.       This option allows the mouse type to be specified.  This is useful to
  409.       reduce the time required to load the mouse driver, or if the mouse
  410.       used responds correctly but the mouse type cannot be auto-determined.
  411.       If an invalid mouse type is specified the mouse driver may or may not
  412.       load, and if loads may fail to operate properly.  This option may be
  413.       specified as:
  414.  
  415.          MOUSE=B
  416.  
  417.             Buss mouse, can be two button or three button
  418.  
  419.             Protocols: BS
  420.                        default: BS
  421.  
  422.          MOUSE=C
  423.  
  424.             Mouse System's compatible mouse
  425.  
  426.             Protocols: 5B, MM, RE
  427.                        default: 5B
  428.                        better:  MM
  429.  
  430.             Baud Rate: 1200, 2400, 4800, 9600
  431.                        default: 1200
  432.  
  433.          MOUSE=D
  434.  
  435.             CalComp digitizer -- this is an "absolute" pointing device.  Each
  436.             point on the digitizer table corresponds exactly to a point on
  437.             the screen.  This is similar to "touch" screens in operation.
  438.             This feature can be awkward to those not used to it, but may be
  439.             preferred by those who use a digitizer tablet on a regular basis.
  440.  
  441.             Protocols: HR
  442.                        default: HR
  443.  
  444.             Baud Rate: 150, 300, 600, 1200, 2400, 4800, 9600, 19200
  445.                        default: 9600
  446.  
  447.             Note: This option is disabled in the beta release.
  448.  
  449.          MOUSE=M
  450.  
  451.             Microsoft compatible serial 2 button mouse, non-programmable
  452.  
  453.             Protocols: MI
  454.                        default: MI
  455.  
  456.             Baud Rate: 1200
  457.                        default: 1200
  458.  
  459.          MOUSE=MW
  460.  
  461.             Microsoft/Mouse System's compatible serial 2 button mouse
  462.  
  463.             Protocols: MI, MP, 5B
  464.                        default: MP
  465.  
  466.             Baud Rate: 1200, 9600
  467.                        default: 1200
  468.  
  469.          MOUSE=V
  470.  
  471.             Microsoft compatible serial 3 button mouse, non-programmable.  If
  472.             the MI protocol is used then the middle mouse button cannot be
  473.             programmed as a chord.
  474.  
  475.             Protocols: MI, MP
  476.                        default: MP
  477.  
  478.             Baud Rate: 1200
  479.                        default: 1200
  480.  
  481.          MOUSE=VW
  482.  
  483.             Microsoft/Mouse System's compatible serial 3 button mouse
  484.  
  485.             Protocols: MI, MP, 5B
  486.                        default: MP
  487.  
  488.             Baud Rate: 1200, 9600
  489.                        default: 1200
  490.  
  491.          MOUSE=S
  492.  
  493.             This causes RODENT.SYS to only check for serial mice.  Any other
  494.             mice are ignored.  This could be useful if a buss mouse interface
  495.             is present, but the mouse itself is not present.  This option is
  496.             supplied because some motherboards and video adapters have a buss
  497.             mouse interface built-in.
  498.  
  499.          MOUSE=X
  500.  
  501.             Unknown mouse.  The protocol to be used must be specified.  This
  502.             option would be used when the mouse is known to communicate with
  503.             a given protocol, but the mouse type cannot be recognized and
  504.             the mouse cannot be programmed.  Some protocols REQUIRE the
  505.             ability to program the mouse and this ability is also used to
  506.             check for the presence of the mouse.  Therefore these protocols
  507.             cannot be directly specified.
  508.  
  509.    PROTOCOL=xx
  510.  
  511.       This option allows the communications protocol to be specified.  This
  512.       is useful to select a non-default protocol and when using the MOUSE=X
  513.       option.  If the mouse type is known and an unsupported protocol is
  514.       selected the default protocol for that mouse type will be used.  This
  515.       option may be specified as:
  516.  
  517.          PROTOCOL=MI
  518.  
  519.             Microsoft compatible 2 button protocol.  Can be used with a 3
  520.             button mouse, but completely ignores the middle button.
  521.  
  522.          PROTOCOL=MP
  523.  
  524.             Extension to MI protocol which supports either 2 or 3 buttons.
  525.             If only two buttons are present the MI protocol is more
  526.             efficient.
  527.  
  528.          PROTOCOL=RE
  529.  
  530.             Relative Bit Pad One protocol, supports either 2 or 3 buttons.
  531.  
  532.          PROTOCOL=5B
  533.  
  534.             Five byte binary protocol, this protocol does not resynchronize
  535.             well.  It is the default for Mouse System's compatible mice, but
  536.             the MM protocol is preferred (if supported by the mouse).  If it
  537.             MUST be used then hold the mouse still and clicking a button
  538.             should cause resynchronization.  Loss of synchronization does not
  539.             normally occur so this is not a problem likely to be seen.  This
  540.             protocol supports either a 2 button or 3 button mouse.
  541.  
  542.          PROTOCOL=MM
  543.  
  544.             Mouse System's compatible protocol, supports either 2 or 3
  545.             buttons.
  546.  
  547.       In addition, there are two other supported protocols which cannot be
  548.       specified.  These protocols are inferred from the mouse type.
  549.  
  550.          PROTOCOL=BS
  551.  
  552.             Buss mouse protocol, supports either 2 or 3 buttons.  This
  553.             protocol is used for mouse type: MOUSE=B.
  554.  
  555.          PROTOCOL=HR
  556.  
  557.             CalComp high resolution binary digitizer protocol, supports
  558.             either the 4 button puck (which may actually have 6 buttons, but
  559.             two of the buttons are hardware-wired as chords of the remaining
  560.             buttons) or the 16 button puck.  OS/2 only supports three buttons
  561.             so the extra buttons are mapped to chord clicks.  This protocol
  562.             is inferred from mouse type: MOUSE=D.
  563.  
  564.             Note: This option is disabled in the beta release.
  565.  
  566.    BUTTONS=#
  567.  
  568.       This option indicates the number of buttons to be supported.  All
  569.       protocols other than the MI protocol support both 2 button and 3
  570.       button mice.  This option may be specified as:
  571.  
  572.          BUTTONS=2
  573.          BUTTONS=3
  574.  
  575.       If BUTTONS=3 is specified for a 2 button mouse the mouse driver will
  576.       function normally, but will report to OS/2 that there are two buttons.
  577.       However, events for the third button will simply never occur.  If
  578.       BUTTONS=3 is specified for a 3 button mouse (the default) then all
  579.       three buttons will be returned to OS/2.  OS/2 treats clicking any two
  580.       (or three) mouse buttons together as a "chord" click.  It also handles
  581.       single or double clicks and single click and drag from all three
  582.       buttons.
  583.  
  584.       If BUTTONS=2 is specified for a 3 button mouse then mouse driver will
  585.       convert pressing the middle button into a press of both left and right
  586.       buttons.  This means that clicking the middle button is equivalent to
  587.       a "chord" click.  However, if PROTOCOL=MI is specified for a three
  588.       button mouse (the default is PROTOCOL=MP) this cannot be done because
  589.       the Microsoft-compatible 2 button protocol is not aware of events for
  590.       the middle button.  In this case the middle button will simply be
  591.       ignored.  The included PM test program will report the number of mouse
  592.       buttons as seen by OS/2.
  593.  
  594.    DPI=#
  595.  
  596.       This option allows the mouse resolution to be specified.  This must
  597.       be in the range 100..640 (inclusive).  The default is DPI=200.  Most
  598.       newer mice are higher resolution (and even some of the older mice).
  599.       The C9 Logitech Buss Mouse has a resolution of 320 dpi and the newer
  600.       Logitech mice have a resolution of 400 dpi.  The value used should be
  601.       the HARDWARE resolution, many DOS mouse drivers allow the resolution
  602.       to be "set" in the software -- this does not affect the actual mouse
  603.       events but only their reporting by the DOS mouse driver.  This value
  604.       is reported to OS/2, but at this time, OS/2 does not appear to make
  605.       a significant use of the value.  The included PM test program will
  606.       report the value as seen by OS/2.
  607.  
  608. ---------------------------------- CalComp -----------------------------------
  609.  
  610.    The CalComp digitizers are used with either a "4-button" puck or a
  611. "16-button" puck.  However, the 4-button puck may actually have 6 buttons
  612. and the 16 button puck may only have 6 buttons.  It can be difficult to
  613. tell these devices apart.  However, functionally they behave differently.
  614. This driver eliminates most of those differences.  Assuming six buttons,
  615. the actions taken by the driver are...
  616.  
  617.                               .......Buttons seen by OS/2.......
  618. ...Buttons pressed...
  619.                                    BUTTONS=3       BUTTONS=2
  620.  
  621.  
  622.    +---+---+---+                 +---+---+---+     +---+---+
  623.    |   |   |   |                 |   |   |   |     |   |   |
  624.    | 1 |   |   |                 | L |   |   |     | L |   |
  625.    |   |   |   |                 |   |   |   |     |   |   |
  626.    +---+---+---+                 +---+---+---+     +---+---+
  627.    |   |   |   |
  628.    |   |   |   |
  629.    |   |   |   |
  630.    +---+---+---+
  631.  
  632.  
  633.    +---+---+---+                 +---+---+---+     +---+---+
  634.    |   |   |   |                 |   |   |   |     |   |   |
  635.    |   | 2 |   |                 |   | M |   |     | L | R |
  636.    |   |   |   |                 |   |   |   |     |   |   |
  637.    +---+---+---+                 +---+---+---+     +---+---+
  638.    |   |   |   |
  639.    |   |   |   |
  640.    |   |   |   |
  641.    +---+---+---+
  642.  
  643.  
  644.    +---+---+---+                 +---+---+---+     +---+---+
  645.    |   |   |   |                 |   |   |   |     |   |   |
  646.    |   |   | 3 |                 |   |   | R |     |   | R |
  647.    |   |   |   |                 |   |   |   |     |   |   |
  648.    +---+---+---+                 +---+---+---+     +---+---+
  649.    |   |   |   |
  650.    |   |   |   |
  651.    |   |   |   |
  652.    +---+---+---+
  653.  
  654.  
  655.    +---+---+---+                 +---+---+---+     +---+---+
  656.    |   |   |   |                 |   |   |   |     |   |   |
  657.    |   |   |   |                 | L | M |   |     | L | R |
  658.    |   |   |   |                 |   |   |   |     |   |   |
  659.    +---+---+---+                 +---+---+---+     +---+---+
  660.    |   |   |   |
  661.    | 4 |   |   |
  662.    |   |   |   |
  663.    +---+---+---+
  664.  
  665.  
  666.    +---+---+---+                 +---+---+---+     +---+---+
  667.    |   |   |   |                 |   |   |   |     |   |   |
  668.    |   |   |   |                 | L |   | R |     | L | R |
  669.    |   |   |   |                 |   |   |   |     |   |   |
  670.    +---+---+---+                 +---+---+---+     +---+---+
  671.    |   |   |   |
  672.    |   | 5 |   |
  673.    |   |   |   |
  674.    +---+---+---+
  675.  
  676.  
  677.    +---+---+---+                 +---+---+---+     +---+---+
  678.    |   |   |   |                 |   |   |   |     |   |   |
  679.    |   |   |   |                 |   | M | R |     | L | R |
  680.    |   |   |   |                 |   |   |   |     |   |   |
  681.    +---+---+---+                 +---+---+---+     +---+---+
  682.    |   |   |   |
  683.    |   |   | 6 |
  684.    |   |   |   |
  685.    +---+---+---+
  686.  
  687.  
  688. And on pucks with more than six buttons...
  689.  
  690.  
  691.    +---+---+---+                 +---+---+---+     +---+---+
  692.    |   |   |   |                 |   |   |   |     |   |   |
  693.    |   |   |   |                 | L | M | R |     | L | R |
  694.    |   |   |   |                 |   |   |   |     |   |   |
  695.    +---+---+---+                 +---+---+---+     +---+---+
  696.    |   |   |   |
  697.    |   |   |   |
  698.    |   |   |   |
  699.    +---+---+---+
  700.        |   |
  701.        | 7 |
  702.        |   |
  703.        +---+
  704.  
  705.  
  706. On pucks which have four physical buttons arranged in a diamond pattern...
  707.  
  708.                               .......Buttons seen by OS/2.......
  709. ...Buttons pressed...
  710.                                    BUTTONS=3       BUTTONS=2
  711.  
  712.  
  713.        +---+
  714.        |   |
  715.        |   |
  716.        |   |
  717.    +---+---+---+                 +---+---+---+     +---+---+
  718.    |   |   |   |                 |   |   |   |     |   |   |
  719.    | 1 |   |   |                 | L |   |   |     | L |   |
  720.    |   |   |   |                 |   |   |   |     |   |   |
  721.    +---+---+---+                 +---+---+---+     +---+---+
  722.        |   |
  723.        |   |
  724.        |   |
  725.        +---+
  726.  
  727.  
  728.        +---+
  729.        |   |
  730.        | 2 |
  731.        |   |
  732.    +---+---+---+                 +---+---+---+     +---+---+
  733.    |   |   |   |                 |   |   |   |     |   |   |
  734.    |   |   |   |                 |   | M |   |     | L | R |
  735.    |   |   |   |                 |   |   |   |     |   |   |
  736.    +---+---+---+                 +---+---+---+     +---+---+
  737.        |   |
  738.        |   |
  739.        |   |
  740.        +---+
  741.  
  742.  
  743.        +---+
  744.        |   |
  745.        |   |
  746.        |   |
  747.    +---+---+---+                 +---+---+---+     +---+---+
  748.    |   |   |   |                 |   |   |   |     |   |   |
  749.    |   |   | 3 |                 |   |   | R |     |   | R |
  750.    |   |   |   |                 |   |   |   |     |   |   |
  751.    +---+---+---+                 +---+---+---+     +---+---+
  752.        |   |
  753.        |   |
  754.        |   |
  755.        +---+
  756.  
  757.  
  758.        +---+
  759.        |   |
  760.        |   |
  761.        |   |
  762.    +---+---+---+                 +---+---+---+     +---+---+
  763.    |   |   |   |                 |   |   |   |     |   |   |
  764.    |   |   |   |                 | L |   | R |     | L | R |
  765.    |   |   |   |                 |   |   |   |     |   |   |
  766.    +---+---+---+                 +---+---+---+     +---+---+
  767.        |   |
  768.        | 4 |
  769.        |   |
  770.        +---+
  771.  
  772.  
  773. On pucks which have four physical buttons arranged in a row...
  774.  
  775.                               .......Buttons seen by OS/2.......
  776. ...Buttons pressed...
  777.                                    BUTTONS=3       BUTTONS=2
  778.  
  779.  
  780.    +---+---+---+---+             +---+---+---+     +---+---+
  781.    |   |   |   |   |             |   |   |   |     |   |   |
  782.    | 1 |   |   |   |             | L |   |   |     | L |   |
  783.    |   |   |   |   |             |   |   |   |     |   |   |
  784.    +---+---+---+---+             +---+---+---+     +---+---+
  785.  
  786.  
  787.    +---+---+---+---+             +---+---+---+     +---+---+
  788.    |   |   |   |   |             |   |   |   |     |   |   |
  789.    |   | 2 |   |   |             |   | M |   |     | L | R |
  790.    |   |   |   |   |             |   |   |   |     |   |   |
  791.    +---+---+---+---+             +---+---+---+     +---+---+
  792.  
  793.  
  794.    +---+---+---+---+             +---+---+---+     +---+---+
  795.    |   |   |   |   |             |   |   |   |     |   |   |
  796.    |   |   | 3 |   |             | L |   | R |     | L | R |
  797.    |   |   |   |   |             |   |   |   |     |   |   |
  798.    +---+---+---+---+             +---+---+---+     +---+---+
  799.  
  800.  
  801.    +---+---+---+---+             +---+---+---+     +---+---+
  802.    |   |   |   |   |             |   |   |   |     |   |   |
  803.    |   |   |   | 4 |             |   |   | R |     |   | R |
  804.    |   |   |   |   |             |   |   |   |     |   |   |
  805.    +---+---+---+---+             +---+---+---+     +---+---+
  806.  
  807.  
  808. Given this button mapping, the only functional difference which distinguishes
  809. the pucks is that the 16 button puck CANNOT recognize two buttons pressed at
  810. the same time.  Therefore, pressing buttons 4, 5, 6 or 7 is the ONLY way to
  811. obtain a "chord click".  Notice that OS/2 regards ANY multiple button click
  812. as a chord click.  However, applications CAN tell the difference if they so
  813. choose.  The choices of which buttons generate which chord clicks are
  814. constrained by the design of the 4 button puck with 6 actual buttons because
  815. buttons 4 and 6 are hard-wired to generate the chords above.  Therefore the
  816. actions of the 16 button puck and of button 4 have been chosen for
  817. consistency with the 4 button puck and for completeness.  All buttons above
  818. 7 on the 16 button puck will be ignored.  The actions taken for the first
  819. three buttons are also consistent with the actions taken by all other two
  820. and three button mice.
  821.  
  822. --------------------------------- What's New ---------------------------------
  823.  
  824. Release  ..Date..  ..........................Changes..........................
  825.  
  826.   0.90   93/04/07  Beta of initial release with digitizer support disabled.
  827.  
  828. -------------------------------- Coming Soon ---------------------------------
  829.  
  830.    The production release (hopefully to be released shortly) will be tested
  831. with more mice, and will include support for both CalComp and SummaGraphics
  832. digitizer tablets.
  833.  
  834. ------------------------------------------------------------------------------
  835.