home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Edition 1: Linux / CD1.iso / doc / HOWTO / mini / 3-Button-Mouse next >
Text File  |  1998-10-14  |  29KB  |  859 lines

  1.   The 3 Button Serial Mouse mini-HOWTO
  2.   Geoff Short, geoff@kipper.york.ac.uk
  3.   v1.33, 31 May 1998
  4.  
  5.   How to get a 3 button serial mouse working properly under Linux.
  6.   ______________________________________________________________________
  7.  
  8.   Table of Contents
  9.  
  10.  
  11.   1. Disclaimer
  12.  
  13.   2. Introduction
  14.  
  15.   3. Serial Ports
  16.  
  17.   4. Switched Mice
  18.  
  19.   5. Normal Mice
  20.  
  21.   6. Switching a Mouse to 3-Button Mode
  22.  
  23.   7. Wheeled mice
  24.  
  25.   8. Using gpm to Switch Mouse Modes
  26.  
  27.   9. Using two mice
  28.  
  29.   10. XF86Config and Xconfig file examples
  30.  
  31.   11. Cables, extensions and adaptors
  32.  
  33.   12. Miscellaneous Problems and Setups
  34.  
  35.   13. Models Tested
  36.  
  37.   14. Further Information
  38.  
  39.   15. Mouse Tail
  40.  
  41.  
  42.  
  43.   ______________________________________________________________________
  44.  
  45.   1.  Disclaimer
  46.  
  47.   The following document is offered in good faith as comprising only
  48.   safe programming and procedures. No responsibility is accepted by the
  49.   author for any loss or damage caused in any way to any person or
  50.   equipment, as a direct or indirect consequence of following these
  51.   instructions.
  52.  
  53.  
  54.   2.  Introduction
  55.  
  56.   The most recent version of this document can always be found at
  57.   http://kipper.york.ac.uk/mouse.html
  58.  
  59.   There is a Japanese translation at http://jf.gee.kyoto-u.ac.jp/JF/JF-
  60.   ftp/euc/3-Button-Mouse.euc; and a French one at
  61.   http://www.freenix.fr/linux/HOWTO/mini/3-Button-Mouse.html.  Other
  62.   translations may be available - check your local LDP mirrors.
  63.  
  64.  
  65.   Most X applications are written with the assumption that the user will
  66.   be working with a 3 button mouse.  Serial mice are commonly used on
  67.   computers and are cheap to buy.  Many of these mice have 3 buttons and
  68.   claim to use the Microsoft protocol, which in theory means they are
  69.   ideal for the X windows setup.  (The record for the cheapest working 3
  70.   button mouse currently stands at $1.14!)
  71.  
  72.  
  73.   Most dual-protocol mice will work in two modes:
  74.  
  75.   ╖  2-button Microsoft mode.
  76.  
  77.   ╖  3-button MouseSystems mode.
  78.  
  79.      This document leads you through the different steps needed to
  80.      configure your mouse in these two different modes, especially the
  81.      steps needed to use the more useful 3-button mode.
  82.  
  83.  
  84.   As distributions become easier to set up, some of the problems ought
  85.   to go away.  For instance, RedHat have a mouseconfig program to set
  86.   things up for you.  However, some versions of RH5.0 had a bug in
  87.   mouseconfig, so make sure you check for patches.
  88.  
  89.  
  90.   3.  Serial Ports
  91.  
  92.   The first thing to do is to make sure the software can find the mouse.
  93.   Work out which serial port your mouse is connected to - usually this
  94.   will be /dev/ttyS0 (COM1 under DOS) or /dev/ttyS1 (COM2). (ttyS0 is
  95.   usually the 9 pin socket, ttyS1 the 25 pin socket, but of course there
  96.   is no hard and fast rule about these things.)  There are also an
  97.   equivalent number of /dev/cua devices, which are almost the same as
  98.   the ttyS ones, but their use is now discouraged.  For convenience make
  99.   a new link /dev/mouse pointing at this port.  For instance, for ttyS0:
  100.  
  101.  
  102.        ln -s /dev/ttyS0 /dev/mouse
  103.  
  104.  
  105.  
  106.   4.  Switched Mice
  107.  
  108.   Some mice, not usually the cheapest ones, have a switch on the bottom
  109.   marked `2/3'. Sometimes this may be `PC/MS'. In this case the `2'
  110.   setting is for 2 button Microsoft mode, and the `3' for 3 button
  111.   MouseSystems mode. The `PC/MS' switch is a bit more complicated.  You
  112.   will probably find the `MS' setting is for Microsoft, and the `PC' is
  113.   for MouseSystems. You may find the `PC' setting described as ps/2
  114.   mode, but it should do MouseSystems as well.  If you have such a
  115.   mouse, you can switch the switch to `3' or `PC', put the MouseSystems
  116.   settings in your XConfigs (see below) and the mouse should work
  117.   perfectly in 3-button mode.
  118.  
  119.  
  120.  
  121.   5.  Normal Mice
  122.  
  123.   If you don't have any switches, and no instructions, then a little bit
  124.   of experimentation is needed.  The first thing to try is to assume the
  125.   mouse maker is telling the truth, and the mouse is full Microsoft. Set
  126.   up your Xconfigs to expect a Microsoft mouse (see the Xconfig section)
  127.   and give it a try.
  128.  
  129.  
  130.   If the mouse didn't work at all, then you don't have a Microsoft
  131.   mouse, or there is some other problem. Try the other protocols in the
  132.   configs, the man page for the config file is the best place to start
  133.   looking. Also look in the Miscellaneous Problems section below.
  134.  
  135.  
  136.   What you will probably find is that when you run X, the mouse works
  137.   fine but only the outer two buttons do anything.  You can of course
  138.   accept this, and emulate the third button (press both buttons at once
  139.   to click the middle one) like you do with a two button mouse. To do
  140.   this, change your Xconfig file as shown in the Xconfig example section
  141.   below.  This may mean you have bought a 3 button mouse for no good
  142.   reason, and you are certainly no further forward. So, now you need to
  143.   look at your hardware.
  144.  
  145.  
  146.  
  147.   6.  Switching a Mouse to 3-Button Mode
  148.  
  149.   Even cheap mice can also work under the Mouse Systems protocol, with
  150.   all three buttons working.  The trick is to get the mouse to think
  151.   it's a Mouse Systems one, something you rarely see in your
  152.   instructions.
  153.  
  154.  
  155.   ╖  Before you power up your computer, hold down the left mouse button
  156.      (and keep it held down until it has booted to be on the safe side).
  157.  
  158.   When the mouse first gets power, if the left button is held down it
  159.   switches into Mouse Systems mode. A simple fact, but not always
  160.   publicised. Note that a soft reboot of your computer may not cut the
  161.   mouse power and therefore may not work. There are a number of other
  162.   ways of switching the mode, which may or may not work with your
  163.   particular mouse. Some of these are less drastic than rebooting your
  164.   computer, two are more so!
  165.  
  166.  
  167.   ╖  If your computer is get-at-able you can unplug the mouse and plug
  168.      it back in with the button held down (although you shouldn't
  169.      normally plug things in to a live computer, the RS232 spec says it
  170.      is OK).
  171.  
  172.   ╖  You may be able to reset the mouse by typing echo "*n" >
  173.      /dev/mouse, which should have the same effect as unplugging it.
  174.      Hold the left button down for Mouse Systems mode, not for
  175.      Microsoft. You could put this in whatever script you use to start X
  176.      up.
  177.  
  178.   ╖  Bob Nichols (rnichols@interaccess.com) has written a small c
  179.      program to do the same thing, which may work if echo "*n" does not
  180.      (and vice versa). You can find a copy of his source code at
  181.      http://kipper.york.ac.uk/src/fix-mouse.c
  182.  
  183.   ╖  Someone has reported that the `ClearDTR' line in the Xconfig is
  184.      enough to switch their mouse into Mouse Systems mode.
  185.  
  186.   ╖  If you are brave enough, open the mouse up (remember that this will
  187.      invalidate your warranty) and have a look inside. In some cases,
  188.      the mouse may have a switch inside, for some strange reason known
  189.      only to the manufacturer. More likely on the cheap mice is a jumper
  190.      which you can move. The switch or jumper may have the same effect
  191.      as a `MS/PC' switch described in the ``Switched Mice section''
  192.      above.  You may find that the circuit board is designed for a
  193.      switch between 2 & 3 buttons, but it hasn't been fitted. It will
  194.      look something like:
  195.  
  196.  
  197.  
  198.  
  199.            -----------
  200.           | o | o | o |  SW1
  201.            -----------
  202.             1   2   3
  203.  
  204.  
  205.  
  206.  
  207.   Try linking pins 1-2 or 2-3, and see if it changes the behaviour of
  208.   the mouse.  If it does, you can either fit a small switch, or solder
  209.   across the contacts for a quick and permanent solution.
  210.  
  211.   ╖  Another soldering solution which might be a last-resort for mice
  212.      which don't understand MouseSystems at all, from Peter Benie
  213.      (pjb1008@chiark.chu.cam.ac.uk).  If the middle button's switch is
  214.      double-pole, connect one side of the switch to the left button's
  215.      switch, and the other side to right button's switch.  If it's not a
  216.      double pole switch then use diodes rather than wire.  Now, the
  217.      middle button pushes the left and right buttons down together.
  218.      Select ChordMiddle in the XF86Config and you have a working middle
  219.      button.
  220.  
  221.   ╖  The ultimate recourse with the soldering iron was first described
  222.      to me by Brian Craft (bcboy@pyramid.bio.brandeis.edu). Two common
  223.      generic mouse chips are the 16 pin Z8350, and the 18 pin HM8350A.
  224.      On each of these chips, one pin controls the mode of the chip, as
  225.      follows.
  226.  
  227.  
  228.        Pin 3   Mode
  229.        -----   ----
  230.        Open    Default Microsoft. Mouse Systems if a button is held on power-up.
  231.        GND     Always Mouse Systems.
  232.        Vdd     Always Microsoft.
  233.  
  234.  
  235.  
  236.  
  237.   (Pins are numbered as follows:)
  238.  
  239.  
  240.                ____
  241.        pin1  -| \/ |-
  242.        pin2  -|    |-
  243.        pin3  -|    |-
  244.              -|    |-
  245.              -|    |-
  246.              -|    |-
  247.              -|    |-
  248.        pin8  -|____|-
  249.  
  250.  
  251.  
  252.  
  253.   (This info comes courtesy of Hans-Christoph Wirth, and Juergen Exner,
  254.   who posted it to de.comp.os.linux.hardware)  You can solder a link
  255.   between pin 3 and gnd, which will fix the mouse into MouseSystems
  256.   mode.
  257.  
  258.  
  259.  
  260.   ╖  Peter Fredriksson (peterf@lysator.liu.se) has tried the SYSGRATION
  261.      SYS2005 chip, and found that linking Pin 3 to Gnd forced Mouse
  262.      System mode.
  263.  
  264.  
  265.   ╖  Uli Drescher (ud@digi.ruhr.de) confirms it works on an HN8348A
  266.      chip; Ben Ketcham (bketcham@anvilite.murkworks.net) confirms the
  267.      HM8348A (Pin 9 is Gnd).
  268.  
  269.   ╖  Urban Widmark (ubbe@ts.umu.se) says the same applies to the
  270.      EC3567A1 chip, where Pin 8 is ground.  I've tried it as well and it
  271.      works fine.
  272.  
  273.   ╖  Timo T Metsala (metsala@cc.helsinki.fi) has found that on the
  274.      HT6510A chip pin 3 is mode select, pin 9 is Gnd.  The same works
  275.      for the HT6513A chip.  Holtek also make HT6513B and HT6513F chips -
  276.      on these, pin 8 is Gnd.
  277.  
  278.   ╖  Robert Romanowski (robin@cs.tu-berlin.de) says pin 3 - pin 8 (Gnd)
  279.      works on an EM83701BP chip too.
  280.  
  281.   ╖  Robert Kaiser (rkaiser@sysgo.de) confirms that pin 3 - Gnd works on
  282.      a EC3576A1 chip too.
  283.  
  284.   ╖  Sean Cross (secross@whidbey.com) found it was pin 2 - pin 7 (Gnd)
  285.      on a HM8370GP chip.
  286.  
  287.   ╖  Peter Fox (fox@roestock.demon.co.uk) used pin 3 - pin 8 on a
  288.      HM8348A chip.
  289.  
  290.   ╖  Jon Klein (jbklein@mindspring.com) found pin 3 - pin 9 did the
  291.      trick for a UA5212S chip.
  292.  
  293.   ╖  As an alternative to the above soldering methods, you can get the
  294.      mouse to hold it's own button down when booting:  this circuit from
  295.      Mathias Katzer.
  296.  
  297.  
  298.                 -----
  299.              ---  R  ---------O------ + Supply
  300.             |   -----   |        |                     C = 100nF capacitor
  301.             |           | E      |                     R = 100kOhm
  302.             |       __ /         |                     T = BC557 transistor
  303.             |      /  \          O
  304.             |   B | #V | T         /
  305.             |-----|-#  |          /   Left button switch of the mouse
  306.             |     | #\ |         O
  307.             |      \__/          |
  308.            ---         \  C      |
  309.            --- C        ------O----------> (to somewhere deep inside the mouse)
  310.             |
  311.            ###  Ground
  312.  
  313.  
  314.  
  315.  
  316.   The test mouse was a no-name model MUS2S - whether this works in other
  317.   mice depends on the circuit of the mouse; if the switch is connected
  318.   to ground and not to +Supply, an npn-transistor like the BC547 should
  319.   work; R and C have to be swapped then, too.
  320.  
  321.   So there you have it, the choice is yours. Stick with the default
  322.   Microsoft two buttons, or work out how to switch the mode and set X up
  323.   to take advantage of this.
  324.  
  325.  
  326.   7.  Wheeled mice
  327.  
  328.   Mice with wheels have emerged in the last few years, starting with the
  329.   Microsoft Intellimouse and spreading to other manufacturers.  The
  330.   wheel can be clicked like a button, or rolled up and down.  Far and
  331.   away the best reference for information is
  332.   http://www.inria.fr/koala/colas/mouse-wheel-scroll/ which describes
  333.   how to get lots of X applications to recognise the scrolling action.
  334.  
  335.  
  336.   In general, you'll need a fairly new Xserver to use the scrolling
  337.   action, but some older servers will recognise the clicking actions.
  338.   For instance, the Intellimouse is supported by XFree 3.3.1 and later.
  339.  
  340.  
  341.   8.  Using gpm to Switch Mouse Modes
  342.  
  343.   gpm is the program that lets you use the mouse in console mode.  It is
  344.   usually included in linux distributions, and can be started from the
  345.   command line or in the startup script /etc/rc.d/rc.local.  Note that
  346.   distributions don't always have the most recent version (1.13 at time
  347.   of writing) which can be found on mirrors of sunsite.unc.edu.
  348.  
  349.  
  350.   The main modes for serial mice under gpm are:
  351.  
  352.  
  353.        gpm -t ms
  354.        gpm -t msc
  355.        gpm -t help
  356.  
  357.  
  358.  
  359.  
  360.   for Microsoft or MouseSystems modes, or to probe the mouse for you and
  361.   tell you what it found.  To run gpm in MouseSystems mode, you may need
  362.   a -3 flag, and possibly a DTR option, using the -o dtr flag:
  363.  
  364.  
  365.        gpm -3 -o dtr -t msc
  366.  
  367.  
  368.   gpm is often able to recognise all three buttons of the mouse even in
  369.   Microsoft mode.  And newer versions (Version 1.0 and later (?))  can
  370.   then make this information available to other programs.  For this to
  371.   work, you need to run gpm with the -R tag, like this:
  372.  
  373.        gpm -R -t ms
  374.  
  375.  
  376.   This will make gpm re-export the mouse data to a new device, called
  377.   /dev/gpmdata, which looks like a mouse to any other program.  Note
  378.   that this device always uses the MouseSystems protocol.  You can then
  379.   set your Xconfig to use this instead of /dev/mouse as shown below, but
  380.   of course you must ensure gpm is always running when you use X.  Some
  381.   people have reported that some middle-button events are not correctly
  382.   interpreted by X using this technique, this may be down to an individ¡
  383.   ual mouse setup.
  384.  
  385.  
  386.  
  387.   Changing button mapping for gpm and X (gustafso@math.utah.edu)
  388.  
  389.  
  390.  
  391.   You may find that gpm uses different default button mappings to X, so
  392.   using both systems on the same machine can be confusing.  To make X
  393.   use the same buttons for select and paste operations as gpm, use the X
  394.   command
  395.  
  396.  
  397.        xmodmap -e "pointer = 1 3 2"
  398.  
  399.  
  400.   which causes the left button to select and the right button to paste,
  401.   for either 2-button or 3-button mice.  To force gpm to use the X stan¡
  402.   dard button mapping, start it with a -B command, eg:
  403.  
  404.        gpm -t msc -B 132
  405.  
  406.  
  407.  
  408.  
  409.   9.  Using two mice
  410.  
  411.   In some cases, for instance a laptop with a built-in pointing device,
  412.   you may wish to use a serial mouse as a second device.  In most cases
  413.   the built-in device uses the PS/2 protocol, and can be ignored if you
  414.   don't wish to use it.  Simply configure gpm or X to use /dev/ttyS0 (or
  415.   whatever) as usual.
  416.  
  417.  
  418.   To use both at once, you can use gpm -M to re-export the devices.
  419.   More details in the gpm man page.  Also, XFree 3.3.1 and later support
  420.   muliple input devices, using the XInput mechanism.  Auto-generated
  421.   XF86Config files should have the necessary comments in them.
  422.  
  423.  
  424.  
  425.   10.  XF86Config and Xconfig file examples
  426.  
  427.   The location of your configuration file for X depends on the
  428.   particular release and distribution you have. It will probably be
  429.   either /etc/Xconfig, /etc/XF86Config or /usr/X11/lib/X11/XF86Config.
  430.   You should see which one it is when you start X - it will be echoed to
  431.   the screen before all the options are displayed. The syntax is
  432.   slightly different between the XF86Config and Xconfig files, so both
  433.   are given.
  434.  
  435.  
  436.   Microsoft Serial Mouse
  437.  
  438.  
  439.   ╖  XF86config:
  440.  
  441.  
  442.        Section "Pointer"
  443.            Protocol "microsoft"
  444.            Device "/dev/mouse"
  445.        EndSection
  446.  
  447.  
  448.  
  449.  
  450.   ╖  Xconfig:
  451.  
  452.  
  453.        #
  454.        # Mouse definition and related parameters
  455.        #
  456.        Microsoft      "/dev/mouse"
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.   Microsoft Serial Mouse with Three Button Emulation
  464.  
  465.  
  466.   ╖  XF86config:
  467.  
  468.  
  469.        Section "Pointer"
  470.            Protocol "microsoft"
  471.            Device "/dev/mouse"
  472.            Emulate3Buttons
  473.        EndSection
  474.  
  475.  
  476.  
  477.  
  478.   ╖  Xconfig:
  479.  
  480.  
  481.        #
  482.        # Mouse definition and related parameters
  483.        #
  484.        Microsoft      "/dev/mouse"
  485.        Emulate3Buttons
  486.  
  487.  
  488.  
  489.  
  490.  
  491.   MouseSystems Three Button Serial Mouse
  492.  
  493.  
  494.   ╖  XF86config:
  495.  
  496.  
  497.        Section "Pointer"
  498.            Protocol "mousesystems"
  499.            Device "/dev/mouse"
  500.            ClearDTR            #  These two lines probably won't be needed,
  501.            ClearRTS            #  try without first and then just the DTR
  502.        EndSection
  503.  
  504.  
  505.  
  506.  
  507.   ╖  Xconfig:
  508.  
  509.  
  510.        #
  511.        # Mouse definition and related parameters
  512.        #
  513.        MouseSystems    "/dev/mouse"
  514.        ClearDTR                #  These two lines probably won't be needed,
  515.        ClearRTS                #  try without first and then just the DTR
  516.  
  517.  
  518.  
  519.  
  520.  
  521.   Microsoft Serial Mouse with gpm -R
  522.  
  523.  
  524.   ╖  XF86config:
  525.  
  526.  
  527.  
  528.  
  529.   Section "Pointer"
  530.       Protocol "MouseSystems"
  531.       Device "/dev/gpmdata"
  532.   EndSection
  533.  
  534.  
  535.  
  536.  
  537.   ╖  Xconfig:
  538.  
  539.  
  540.        #
  541.        # Mouse definition and related parameters
  542.        #
  543.        MouseSystems      "/dev/gpmdata"
  544.  
  545.  
  546.  
  547.  
  548.  
  549.   11.  Cables, extensions and adaptors
  550.  
  551.   The only wires needed in a mouse cable are as follows: TxD and RxD for
  552.   data transfer, RTS and/or DTR for power sources, and ground.
  553.   Translated into pin numbers, they are:
  554.  
  555.  
  556.                    9-pin port     25-pin port
  557.                TxD     3                2
  558.                RxD     2                3
  559.                RTS     7                4
  560.                DTR     4               20
  561.                Gnd     5                7
  562.  
  563.  
  564.  
  565.  
  566.   The above table may be of use if you wish to make adaptors between 9-
  567.   and 25-pin plugs, or extension cables.
  568.  
  569.  
  570.  
  571.   12.  Miscellaneous Problems and Setups
  572.  
  573.  
  574.   ╖  If you have trouble with your mouse in X or console mode, check you
  575.      are not running a getty on the serial line, or anything else such
  576.      as a modem for that matter. Also check for IRQ conflicts.
  577.  
  578.   ╖  It is possible that you need to hold down the left button when
  579.      booting X windows.  Some systems may send some sort of signal or
  580.      spike to the mouse when X starts.
  581.  
  582.   ╖  Problems with serial devices may be due to the serial port not
  583.      being initialised correctly at boot. This is done by the setserial
  584.      command, run from the start-up script /etc/rc.d/rc.serial. Check
  585.      the man page for setserial and the Serial-HOWTO for more details.
  586.      It may be worth a little experimentation with types, for instance
  587.      try setserial /dev/mouse uart 16550 or 16550a regardless of what
  588.      port you actually have.  (For instance, mice don't like the
  589.      16c550AF).
  590.  
  591.   ╖  The ClearDTR flag may not work properly on some systems, unless you
  592.      disable the RTS/CTS handshaking with the command:
  593.  
  594.  
  595.   stty -crtscts < /dev/mouse
  596.  
  597.  
  598.   (Tested on UART 16450/Pentium by Vladimir Geogjaev geog¡
  599.   jaev@wave.sio.rssi.ru)
  600.  
  601.   ╖  Logitech mice may require the line ChordMiddle to enable the middle
  602.      of the three buttons to work. This line replaces Emulate3Buttons or
  603.      goes after the /dev/mouse line in the config file. You may well
  604.      need the ClearDTR and ClearRTS lines in your Xconfig.  Some
  605.      Logitech mice positively do not need the ChordMiddle line - one
  606.      symptom of this problem is that menus seem to move with the mouse
  607.      instead of scrolling down. (From: chang@platform.com)
  608.  
  609.   ╖  Swapping buttons: use the xmodmap command to change which physical
  610.      button registers as each mouse click. eg:  xmodmap -e "pointer = 3
  611.      2 1"  will turn round the buttons for use in the left hand. If you
  612.      only have a two-button mouse then it's just numbers 1 & 2.
  613.  
  614.   ╖  Acceleration: use the xset m command to change the mouse settings.
  615.      eg xset m 2  will set the acceleration to 2. Look at the manpage
  616.      for full details.
  617.  
  618.   ╖  Pointer offset: If the click action appears to be coming from the
  619.      left or right of where the cursor is, it may be that your screen is
  620.      not aligned. This is a problem with the S3 driver, which you may be
  621.      able to fix using xvidtune. Try Invert_VCLK/InvertVCLK, or EarlySC.
  622.      This info from Bill Lavender (lavender@MCS.COM) and Simon Hargrave.
  623.      In the XF86Config, it might look like this:
  624.  
  625.  
  626.  
  627.        Subsection "Display"
  628.            Modes       "1024x768" "800x600" "640x480" "1280x1024"
  629.            Invert_VCLK "*" 1
  630.            ...
  631.  
  632.  
  633.  
  634.  
  635.   ╖  If you are getting `bouncing' of the mouse buttons, ie two clicks
  636.      when you only wanted one, there may be something wrong with the
  637.      mouse.  This problem has been solved for Logitech mice by Bob
  638.      Nichols (rnichols@interaccess.com) and involves soldering some
  639.      resistors and a chip in the mouse to debounce the microswitches.
  640.  
  641.   ╖  If some users cannot get the mouse to work but some (eg root) can,
  642.      it is possible that the users are not running exactly the same
  643.      thing - for instance a different version of X or a different
  644.      Xconfig.  Check the X start-up messages carefully to make sure.
  645.  
  646.   ╖  If you find the mouse pointer is erasing things from your screen,
  647.      you have a server config problem.  Try adding the option linear, or
  648.      maybe nolinear to the graphics card section, or if it is a PCI
  649.      board, the options tgui_pci_write_off and tgui_pci_read_off.  (This
  650.      seems to be a Trident Card problem.)
  651.  
  652.   ╖  If the mouse cursor doesn't show up on the screen, but otherwise
  653.      seems to be working, try the option "sw_cursor" in the Device
  654.      section of the config file.
  655.  
  656.   ╖  If your mouse stops working when its sunny or when you turn a light
  657.      on, it may be that the sensors are being swamped by light getting
  658.      through the case.  You could try painting the inside of the case
  659.      black, or putting some card in the top.
  660.  
  661.   ╖  Microsoft Brand mice are often a cause of problems. The newest
  662.      ``Microsoft Serial Mouse 2.1A'' has been reported not to work on
  663.      many systems, although unplugging it and plugging it in again may
  664.      help.  gpm version 1.13 and higher should also support 2.1A mice,
  665.      using the pnp mouse type.  (See the gpm section for how to re-
  666.      export this.)  The ``Microsoft Intellimouse'' also causes problems,
  667.      although it should now be supported by XFree version 3.3 and later.
  668.  
  669.  
  670.   13.  Models Tested
  671.  
  672.   There are a lot of different mice out there, and I cannot honestly say
  673.   that you should go out and buy one rather than the other. What I can
  674.   do is give a list of what I think these mice do, based on experience
  675.   and heresay.  Even with this information you should be a little
  676.   cautious - we had two identical mice in our office on two computers,
  677.   some things worked on one and not t'other!  Any additions to this list
  678.   would be welcome.
  679.  
  680.  
  681.   Mouse Systems optical mouse, serial version
  682.   Works well (as you might expect from the name!) without ClearDTR or
  683.   ClearRTS in the config.
  684.   WiN mouse, as sold by Office World for eight quid.
  685.   Standard dual-mode Microsoft/MouseSystems.
  686.   Agiler Mouse 2900
  687.   Standard dual-mode Microsoft/MouseSystems. SYSGRATION SYS2005 chip is
  688.   solderable.
  689.   Sicos mouse,
  690.   Works ok, needs ClearDTR & Clear RTS in config.
  691.   Index sell a mouse for 10 quid,
  692.   Doesn't work in 3 button mode, but does have nice instructions :-)
  693.   Artec mouse
  694.   Usual dual-protocol mouse, needs `ClearDTR' set in config, NOT
  695.   `ClearRTS'
  696.   DynaPoint 3 button serial mouse.
  697.   Usual dual-protocol mouse, needs `ClearDTR' AND `ClearRTS' in Xconfig.
  698.   Genius Easymouse 3 button mouse
  699.   Works fine with Mouseman protocol without the ChordMiddle parameter
  700.   set.  From Roderick Johnstone (rmj@ast.cam.ac.uk)
  701.   Truemouse, made in Taiwan
  702.   Works OK, needs `ClearDTR' in config. (From Tim MacEachern)
  703.   Champ brand mouse
  704.   Needs to have switch in PC mode, which enables MouseSystems protocol
  705.   also. (From tnugent@gucis.cit.gu.edu.au)
  706.   MicroSpeed mouse
  707.   Usual dual-protocol mouse.
  708.   Venus brand ($7)
  709.   Has a jumper inside to switch between 2 and 3 button mode.  (From
  710.   mhoward@mth.com )
  711.   Saturn
  712.   Switched mouse, works OK as MouseSystems in 3-button position.  (From
  713.   grant@oj.rsmas.miami.edu .)
  714.   Manhattan mouse.
  715.   Switch for `MS AM' / `PC AT' modes, MS mode works fine with the gpm -R
  716.   method. (From komanec@umel.fee.vutbr.cz).
  717.   Inland mouse.
  718.   Switch for `PC/MS' modes, works fine. (From
  719.   http://ptsg.eecs.berkeley.edu/~venkates).
  720.   qMouse (3-button), FCC ID E6qmouse X31.
  721.   Sells in the USA for about $10. Works with `gpm -t msc -r 20'.  No
  722.   jumpers or switches for MouseSystems 3-button mode. Unreliable in X.
  723.   Does not respond to echo "*n" > /dev/mouse.
  724.   Mitsumi Mouse (2-button), FCC ID EW4ECM-S3101.
  725.   Sells in the USA for about $12. Reliable in X and under gpm, smooth
  726.   double-button. (These two from gustafso@math.utah.edu)
  727.   PC Accessories mouse that i got from CompUSA for under $10.
  728.   Has PC/MS switch on bottom.  Works OK. (From steveb@communique.net)
  729.   First Mouse - seriously cheap at 7.79 pounds at Tempo.
  730.   Dual Microsoft/MouseSystems, mode set by button depress at power-up.
  731.   No switches, no links.  Four wire connection, echo '*n' doesn't work.
  732.   `gpm -R' works a treat. (From peterk@henhouse.demon.co.uk)
  733.   Trust 3-button mouse.
  734.   Dual-mode with switch, works OK as MouseSystems in `PC' mode.  gpm
  735.   doesn't like the Microsoft mode.
  736.   Chic 410
  737.   Works perfectly when kept in ms mode and used with the gpm -R command.
  738.   From Stephen M. Weiss (steve@esc.ie.lehigh.edu)
  739.   KeyMouse 3-button mouse.
  740.   Works OK with ClearDTR and ClearRTS in Xconfig; `-o dtr' needed with
  741.   gpm. (From EZ4PHIL@aol.com)
  742.   Qtronix keyboard `Scorpio 60'
  743.   All three buttons work in MouseSystems protocol.  (From
  744.   hwe@uebemc.siemens.de)
  745.   Tecra 720 laptop
  746.   The glidepoint is on /dev/cua0; the stick is on /dev/psaux.  (From
  747.   apollo@anl.gov)
  748.   Anubis mouse
  749.   Works fine, need to hold down left button whenever switching to the X
  750.   virtual console.  (From Joel Crisp)
  751.   Yakumo No.1900 mouse
  752.   Works with gpm -R -t ms exporting to X.  (From Oliver Schwank)
  753.   Genius `Easy Trak' Trackball
  754.   Is not Microsoft compatible, use Mouseman in the Xconfig and it will
  755.   work fine.  (From VTanger@aol.com.)
  756.   Highscreen Mouse Pro
  757.   `Works fine' says alfonso@univaq.it.
  758.   Logitech CA series
  759.   Works in X using MMseries protocol, at 2400 Baud, 150 SampleRate.
  760.   (Should also apply to Logitech CC, CE, C7 & C9 mice).  (From
  761.   vkochend@nyx.net.)
  762.   A4-Tech mouse
  763.   Works OK, needs DTR line under both X and gpm.  (From
  764.   deane@gooroos.com)
  765.   Vertech mouse
  766.   Normal Microsoft/Mousesystems behaviour, can be soldered for a
  767.   permenant fix.  (From duncan@fs3.ph.man.ac.uk.)
  768.   Boeder M-7 ``Bit Star'' (and other M series apart from M13)
  769.   Switches to Mousesystems protocol by holding any button down at power-
  770.   on.  (From mailto:sjt@tappin.force9.co.uk.)
  771.   Mouse Systems ``Scroll'' Mouse (four buttons and a roller/button)
  772.   Has a 2/3 switch - in mode 3 functions as a three button MouseSystems
  773.   mouse, ignoring extra button & wheel.  Doesn't need ClearRTS/DTR.
  774.   (From parker1@airmail.net.)
  775.   Radio Shack 3-button Serial Mouse
  776.   Model 26-8432, available in Tandy for about 20 quid. Works as
  777.   Mousesystems with ClearDTR. (From Sherilyn@sidaway.demon.co.uk.)
  778.   Dexxa serial mouse
  779.   Works fine using Microsoft protocol in Xconfig, no ChordMiddle or
  780.   anything needed.  (From mailto:slevy@ncsa.uiuc.edu.)
  781.   Belkin 3 button mouse
  782.   As purchased from Sears (\$10), needs -o rts under gpm (and probably
  783.   ClearRTS under X) when in PC mode.  (From mailto:mmicek@csz.com.)
  784.  
  785.   14.  Further Information
  786.  
  787.  
  788.   ╖  Mouse Systems has a web site at http://www.mousesystems.com/.  They
  789.      have a Windows driver if you need one.
  790.  
  791.   ╖  The Linux Serial HOWTO is available from mirrors of sunsite around
  792.      the world.  If you don't know where your nearest mirror is, start
  793.      at http://sunsite.unc.edu/mdw/linux.html
  794.  
  795.   ╖  There is a very good explanation of how mice work at
  796.      http://www.4QD.co.uk/faq/meece.html.
  797.  
  798.   ╖  Fuller details of the Xconfig and XF86Config files are found on the
  799.      relevant man pages, and in the documentation about installing X
  800.      windows such as the Xfree86 HOWTO. Also, see the XFree86 FAQ at a
  801.      mirror of http://www.XFree86.org/.
  802.  
  803.   ╖  Information about gpm can be found on the man page, also try the
  804.      web page of Darin Ernst at http://www.castle.net/X-
  805.      notebook/mouse.txt.
  806.  
  807.   ╖  Lots of information on mice hardware and software can be found at
  808.      http://www.hut.fi/Misc/Electronics/pc/interface.html#mouse
  809.  
  810.  
  811.   15.  Mouse Tail
  812.  
  813.   Much of the information for this document has been trawled from the
  814.   various linux newsgroups. I am sorry I did not keep a record of
  815.   everyone who has indirectly contributed by this route, thank you all
  816.   very much.
  817.  
  818.  
  819.   So, to sum up:
  820.  
  821.  
  822.   ╖  Even cheap 3 button Microsoft mice can be made to work.
  823.  
  824.   ╖  Configure your copy of X to expect a Mouse Systems mouse.
  825.  
  826.   ╖  Hold down the left button at power-on to switch the mouse to
  827.      MouseSystems mode.
  828.  
  829.   ╖  You might need to hold the left button down when starting X.
  830.  
  831.   ╖  Mice are more intelligent than you think.
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.