Thoughts on technology and mathematics

Taming the Trackpoint on the Toshiba Portege Z30t

The Accu Point on my Toshiba Z30t is utterly terrible. When the laptop is not resting on a completely flat surface (for example on my lap) the cursor keeps “drifting” across the screen. Apparently when the case is slightly bent, it invalidates the calibration and the driver can’t keep up with the changes. This is no Linux-only problem, I’m seeing it on Windows as well.

Update If you are looking for a solution on windows, scroll down to the comments and follow Filip’s advice!

The problem

My first impulse was to simply disable the trackpoint. However, the mouse buttons next to the touchpad are also part of the trackpoint, so

xinput --disable 'AlpsPS/2 ALPS DualPoint Stick'

also disables the buttons.

The solution

While searching for a solution, I initially found:

xinput --set-prop 'AlpsPS/2 ALPS DualPoint Stick' 'Device Accel Constant Deceleration' '9999999999999999999'

By slowing down the mouse movements from the stick by a very larger factor, it effectively prevents the cursor from moving due to the trackpoint. This seems to work at first, but after a while I noticed, that two-finger-scrolling was broken. Every time the trackpoint changed the direction of its drift, the scrolling stopped. While it was not moving the cursor at all, it was still generating some kind of event. This was driving me crazy.

A few days ago I finally found the solution:

STICK='AlpsPS/2 ALPS DualPoint Stick'
xinput --set-prop "$STICK" 'Device Accel Constant Deceleration' "9999999999999999999"
xinput --set-prop "$STICK" 'Evdev Wheel Emulation' 1
xinput --set-prop "$STICK" 'Evdev Wheel Emulation Button' 0
xinput --set-prop "$STICK" 'Evdev Wheel Emulation Inertia' "32767"

The additional lines tell the X server to convert all mouse movement from the trackpoint to scroll events, but only after the cursor has moved a lot of pixels. Which never happens, because we slowed down the movements so much.

I can finally use the touchpad without a constant desire to punch my laptop into submission. The Accu Point is of course effectively disabled, but it’s easy to toggle this using a hotkey if you really want to and you often use your device on a super-flat surface in order for that terrible peripheral to be actually usable at all.