Even cheap mice can also work under the Mouse Systems protocol, with all three buttons working. The trick is to get the mouse to think it's a Mouse Systems one, something you rarely see in your instructions.
When the mouse first gets power, if the left button is held down it switches into Mouse Systems mode. A simple fact, but not always publicised. Note that a soft reboot of your computer may not cut the mouse power and therefore may not work. There are a number of other ways of switching the mode, which may or may not work with your particular mouse. Some of these are less drastic than rebooting your computer, two are more so!
echo "*n" > /dev/mouse
, which should have the same effect
as unplugging it. Hold the left button down for Mouse Systems mode, not for
Microsoft. You could put this in whatever script you use to start X up.echo "*n"
does
not (and vice versa). You can find a copy of his source code at
http://kipper.york.ac.uk/src/fix-mouse.c
-----------
| o | o | o | SW1
-----------
1 2 3
Try linking pins 1-2 or 2-3, and see if it changes the behaviour of the mouse.
If it does, you can either fit a
small switch, or solder across the contacts for a quick and permanent
solution.
ChordMiddle
in the XF86Config and you have a working middle button.
Pin 3 Mode
----- ----
Open Default Microsoft. Mouse Systems if a button is held on power-up.
GND Always Mouse Systems.
Vdd Always Microsoft.
(Pins are numbered as follows:)
____
pin1 -| \/ |-
pin2 -| |-
pin3 -| |-
-| |-
-| |-
-| |-
-| |-
pin8 -|____|-
(This info comes courtesy of Hans-Christoph Wirth, and Juergen Exner, who
posted it to de.comp.os.linux.hardware) You can solder a link between
pin 3 and gnd, which will fix the mouse into MouseSystems mode.
-----
--- R ---------O------ + Supply
| ----- | | C = 100nF capacitor
| | E | R = 100kOhm
| __ / | T = BC557 transistor
| / \ O
| B | #V | T /
|-----|-# | / Left button switch of the mouse
| | #\ | O
| \__/ |
--- \ C |
--- C ------O----------> (to somewhere deep inside the mouse)
|
### Ground
The test mouse was a no-name model MUS2S - whether this works in other mice
depends on the circuit of the mouse; if the
switch is connected to ground and not to +Supply, an npn-transistor like the
BC547 should work; R and C have to be swapped then, too.So there you have it, the choice is yours. Stick with the default Microsoft two buttons, or work out how to switch the mode and set X up to take advantage of this.