I was having the exact same problem, but I think I've finally found a solution.
xinput --set-prop 11 'Device Accel Constant Deceleration' 3
allows the touchstick/trackpoint to be stable at close range, i.e. when trying to select text. Change the '3' up or down until you get something you like, I tried 2, 3, and 4 and settled on '3'. Then play with,
xset m 5 1
to adjusts the acceleration. The '5' is the acceleration multiplier and '1' is the number of pixels you need to move the cursor before acceleration kicks in, '5' allows me to zip across the screen nicely.
Last thing to do is incorporate these settings into my .xinitrc:
xinput --set-prop 11 'Device Accel Constant Deceleration' 3 &
xset m 5 1 &
exec ck-launch-session startxfce4
I found all this information on the ArchWiki.
Final note: I think this problem showed up because the recently added synaptics_usb kernel module does not have sane defaults for the trackpoint, so the problem was "exposed" by the new kernel module, but not a problem with synaptics_usb itself.
[EDIT:]
More Information
My .xinitrc does not work on Debian Testing/LightDM/XFCE not sure why. Decided to do the xorg.conf tweaking.
Created the config file:
$ cat /usr/share/X11/xorg.conf.d/50-synaptics_trackpoint.conf
Section "InputClass"
Identifier "Synaptics TrackPoint"
MatchProduct "Stick"
# set the following to 1 1 0 respectively to disable acceleration.
Option "AccelerationNumerator" "5"
Option "AccelerationDenominator" "1"
Option "AccelerationThreshold" "1"
# linear deceleration (mouse speed reduction)
Option "ConstantDeceleration" "2"
# some curved deceleration
Option "AdaptiveDeceleration" "1"
EndSection
Rebooted, still no dice. I found out that the XFCE was overriding the Xorg config, so I removed it:
$ rm ~/.config/xfce4/xfconf/xfce-perchannel-xml/pointers.xml
Rebooted again, works as expected.
Some of my troubleshooting notes:
# Get the current acceleration values.
xinput --get-feedbacks 11
# Get the current deceleration values.
xinput --list-props 11 | grep Deceleration
# What does Xorg know about this?
grep -i stick /var/log/Xorg.0.log
# Set acceleration.
xinput --set-ptr-feedback 11 1 5 1
# Set deceleration.
xinput --set-prop 11 'Device Accel Constant Deceleration' 2
More references
Xorg PointerAcceleration Wiki
xorg.conf man page
This option can be configured (for trackballs only) using the scroll-wheel-emulation-button
setting. By default this is set to 0
, meaning that no button will turn the trackball into a scroll wheel. I experimented with a few different mouse buttons and found that button 5
was the most convenient for scrolling on my trackball:
gsettings set org.gnome.desktop.peripherals.trackball scroll-wheel-emulation-button 5
This worked immediately, without needing to reboot or restart my GNOME session, in GNOME Shell 3.36. The feature was added in GNOME 3.16 (March 2015).
Best Answer
I did it on an x230 with Debian 10 by writing this file to '/etc/udev/hwdb.d/71-pointingstick-local.hwdb':