[ltp] [R40] middle `mouse' button above touchpad

mukesh agrawal linux-thinkpad@linux-thinkpad.org
Sat, 24 Jan 2004 19:46:21 -0500 (EST)


On Sat, 24 Jan 2004, Patrick Drechsler wrote:

> > With kernel 2.6.0-mm2,
>
>  ...kernel 2.4.20...

I never got the middle button to work with a 2.4 kernel.

Having said that, when I finally got around to using a 2.6 kernel, it was
with a newer version of the synaptics driver for XFree86, so I'm not sure
which change is the important one.

> > the synaptics driver
>
> patrick@trurl:~> locate synaptic
> /usr/X11R6/lib/modules/input/synaptics_drv.o
>
> Sorry, I don't know how to check if it's installed...

It needs to be specified in your XF86Config (or XF86Config-4) file.

Assuming that synaptics_drv is specified in your config file, check the X
server log file (usually /var/log/XFree86.0.log) to see whether the driver
loaded successfully.

Note: for some reason, the synaptics driver failed to load on my system
when the file was called synaptics_drv.o. I had to rename it to
synaptics.o. FWIW, I'm using synaptics-0.12.2.

> > it works on my T40.
>
> Not on my R40... :-(

I didn't have it working in 2.4 either.

> > I have trackpoint and touchpad both working, including the
> > trackpoint's middle button (the one with the blue line),
>
> That's the one I'd like to use...
>
> > the "internet scroll bar" (move the trackpoint while holding
> > the middle button to scroll)
>
> I remember this working with Win but I don't actually need that
> function. I'd prefer having just having a third mousebutton.

Both of them work. If I press and release the middle button, then it's
like pressing the middle button of a real mouse. If I hold the middle
button while moving the trackpoint up and down, then it's like a scroll
wheel.

> I've tried deactivating the touchpad in bios but I got the result
> I expected: The touchpad didn't respond at all anymore.

Yeah. That option disables the touchpad completely, so that the OS only
sees the trackpoint.

As I understand it, the way things work is:

1. If you disable the touchpad, then the OS sees the trackpoint directly.
   So the trackpoint works as a regular three-button mouse. (And probably
   with the scroll wheel-like functionality as well.)

2. With the touchpad enabled, the OS commuicates with the touchpad. The
   trackpoint events have to go through the touchpad before getting to the
   OS. And, in the default mode, the touchpad doesn't pass through some
   events correctly (e.g. middle-button events).

3. Either the synaptics driver for XFree86, or the Synaptics input device
   driver for kernel 2.6 fixes this.

   I would guess that the XFree86 synaptics driver is responsible for
   enabling the "advanced features" of the touchpad (multi-finger taps,
   scroll wheel emulation), while the kernel driver configures
   pass-through properly.

   I don't know if the kernel driver for synaptics touchpads has been
   back-ported to 2.4.

> ,----[ changed file ]
> | Section "InputDevice"
> |   Driver       "mouse"
> |   Identifier   "Mouse[1]"
> |   Option       "Device" "/dev/mouse"
> |   Option       "Emulate3Buttons" "on"
> |   Option       "Name" "Autodetection"
> |   Option       "Protocol" "ImPS/2"
> |   Option       "ZAxisMapping" "4 5"
> |   Option       "Vendor" "Sysp"
> | EndSection
> `----
>
> This made the cursor always drop straight to the left corner.

I guess ImPS/2 is the wrong protocol for the trackpoint, when the events
are being passed through the touchpad.