==Thinkpad/IBM Mouse only==

Jaunty uses the same evdev system that Intrepid used, that I had some troubles with. However, the solution should be the same, and I just hope it works correctly this time.

Here are the original settings, before middle mouse scrolling works:
$ xinput -list-props "TPPS/2 IBM TrackPoint"
Device 'TPPS/2 IBM TrackPoint':
Device Enabled (109): 1
Evdev Axis Inversion (251): 0, 0
Evdev Reopen Attempts (242): 10
Evdev Axis Calibration (243):
Evdev Axes Swap (244): 0
Evdev Middle Button Emulation (252): 2
Evdev Middle Button Timeout (253): 50
Evdev Wheel Emulation (254): 0
Evdev Wheel Emulation Axes (255): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (256): 10
Evdev Wheel Emulation Timeout (257): 200
Evdev Wheel Emulation Button (258): 4
Evdev Drag Lock Buttons (259): 0

Now, to get this working, you need to create “/etc/hal/fdi/policy/mouse-wheel.fdi”. Easiest way to do this is to open up a terminal, and enter:
sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi

Now, paste in the following content and remove the extra space in each line (between “< " and "merge"
< match key="info.product" string="TPPS/2 IBM TrackPoint">
< merge key="input.x11_options.EmulateWheel" type="string">true
< merge key="input.x11_options.EmulateWheelButton" type="string">2
< merge key="input.x11_options.ZAxsisMapping" type="string">4 5
< merge key="input.x11_options.XAxisMapping" type="string">6 7
< merge key="input.x11_options.Emulate3Buttons" type="string">true
< merge key="input.x11_options.EmulateWheelTimeout" type="string">200

The 2nd to last line in there (200) is optional. This line prevents the middle mouse button from exhibiting the annoying paste function that an unconfigured button does. I need to set this option because as I’m scrolling through a document, I hate random sections being pasted where they don’t belong.

Save, exit, and restart X server by restarting the computer (the guide will cover re-enabling ctrl-alt-backspace to restart X later).

If you want an explanation of the other lines, in my post on this with the last version of Ubuntu, I wrote the following:

EmulateWheel should be pretty obvious, you don’t actually have a wheel with a trackpoint, so it emulates one

EmulateWheelButton: which button pretends to be a wheel? the mouse buttons are numbered 1 2 3 in order, so “2? is the middle one

YAxisMapping: which directions should the y-axis go? (4 is up, 5 is down)

XAxisMapping: which directions should the x-axis go? (6 is left 7 is right)

Emulate3Buttons: actually I’m not sure what this does in conjunction with emulatewheel. It probably allows you to use middle-click still (like to close firefox tabs, or whatever else middle click does)

EmulateWheelTimeout: if the button is held for longer than the ammount of time, it switches off the middle mouse click. Essentially, this is what turns off “middle mouse paste” when you are trying to scroll.

With these settings, my middle mouse scrolling vertically and horizontally works even after suspending.


UPDATE: oops, I realized that I forgot some code tags around the most important part of this post! (the mouse-wheel.fdi code) I fixed that now.