Re: Infamous Mouse Wheel Problem
Dan Rasmussen wrote:
Hello,
I've been suffering under Linux without the use of my mouse wheel for
some time now, and would like to do something about it. I've got an IBM
Thinkpad 560x and a two-button PS/2 Microsoft Intellimouse. I searched
linux-laptop.org for my model, but the two references to my laptop were
both written a long time ago and neither mentioned wheel mouses.
I tried using the program "mdetect," but it didn't seem to do anything
useful...
Relevant lines in my "XF86Config-4" are:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
PS/2 device.
Option "Protocol" "PS/2"
Three-button two-axis protocol (no scroll wheel.)
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
I don't think this option will have any effect with the 'PS/2' protocol.
EndSection
Section "InputDevice"
Identifier "Generic Mouse"
Driver "mouse"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mice"
USB mice.
Option "Protocol" "ImPS/2"
MS Intellipoint-over-PS/2 protocol (probably what you want for a scroll
mouse.)
Option "Emulate3Buttons" "true"
Are you sure you want this with a scroll mouse. Clicking the wheel should
work a real middle button. I guess it doesn't hurt to have it specified
anyway.
Option "ZAxisMapping" "4 5"
EndSection
I spent a good time playing around with the protocol option and the
CorePointer option before getting annoyed, and realizing I was wasting my
time and that there must be a better way. To be honest, I'm not sure
which of the devices is my PS/2 mouse and which is the internal
eraser-style mouse. When I start my laptop up without the PS/2 mouse
plugged in, the internal works, and vice versa, ie they don't both
function at the same time unless I plug in the PS/2 after I've booted
up.
I don't know of a good solution for this. It sounds like there is no USB
mouse (the second 'InputDevice' section above is not used.) You can only
have one PS/2 mouse connected at a time. There are two ways this is
implemented (in the BIOS): 1) The trackpad/pointer/whatever is disabled
when an external mouse is connected or 2) The BIOS combines events from
the on-board and external pointer.
For 1), you need some way to change the driver when you connect the mouse.
I can't think of a pleasant way to do this. You could specify multiple
'InputDevice' sections for '/dev/psaux' and multiple 'ServerLayout'
sections each using a different one of the 'InputDevice' sections. Then
restart X specifying the 'ServerLayout' you want on the command line (e.g.
"startx -- -layout wheel".
For 2), I don't think there is an answer. X doesn't talk directly to the
mouse, it talks to the BIOS 'mouse combiner' which probably doesn't do
scroll wheels. You could try just specifying 'imps/2' for the protocol
and see if your trackpad/eraser/whatever works without an external mouse
connected.
That's all I can think of right now. Eagerly awaiting being able to
scroll through documents without moving my arms/wrist,
Dan
The easiest solution is to get a USB mouse. This whole mess stems from
the fact that you can only have one PS/2 pointer and the internal device
is a PS/2 pointer. You can have all the USB pointing devices you want.
--
jason kraftcheck
Reply to: