I'm on debian testing, and after rebooting (after an uptime of 3 weeks or so, that included a bunch of package updates, I believe including the kernel) the other day, the fine-adjustment - what a golfer would call putting - of the mouse pointer position gets really hard, it feels like the pointer is still moving, although the the trackpoint is already back at its center position. Using the trackpoint is no fun anymore, it takes seconds just to select a bunch of words.

I don't think it's just a trackpoint performance configuration setting. It might be some threshold or the deactivation of some clever algorithm (or the activation of a wannabe clever algorithm) to enhance the usability of the trackpoint.

This is an IBM/Lenovo external USB keyboard (it is not a ThinkPad laptop, even though I tagged this question 'thinkpad', as there is no 'trackpoint' tag yet and my current reputation doesn't permit tag creation).

My xinput version:

$ xinput --version
xinput version 1.6.0
XI version on server: 2.2

And here the props of the device:

$ xinput list-props 10
Device 'Synaptics Inc. Composite TouchPad / TrackPoint':
        Device Enabled (125):   0
        Coordinate Transformation Matrix (127): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (247):     1
        Device Accel Constant Deceleration (248):       2.500000
        Device Accel Adaptive Deceleration (249):       1.000000
        Device Accel Velocity Scaling (250):    12.500000
        Synaptics Edges (251):  1632, 5312, 1572, 4284
        Synaptics Finger (252): 25, 30, 256
        Synaptics Tap Time (253):       180
        Synaptics Tap Move (254):       221
        Synaptics Tap Durations (255):  180, 180, 100
        Synaptics ClickPad (256):       0
        Synaptics Tap FastTap (257):    0
        Synaptics Middle Button Timeout (258):  75
        Synaptics Two-Finger Pressure (259):    282
        Synaptics Two-Finger Width (260):       7
        Synaptics Scrolling Distance (261):     100, 100
        Synaptics Edge Scrolling (262): 1, 0, 0
        Synaptics Two-Finger Scrolling (263):   0, 0
        Synaptics Move Speed (264):     1.000000, 1.750000, 0.039809, 40.000000
        Synaptics Edge Motion Pressure (265):   30, 160
        Synaptics Edge Motion Speed (266):      1, 401
        Synaptics Edge Motion Always (267):     0
        Synaptics Off (268):    0
        Synaptics Locked Drags (269):   0
        Synaptics Locked Drags Timeout (270):   5000
        Synaptics Tap Action (271):     0, 0, 0, 0, 0, 0, 0
        Synaptics Click Action (272):   1, 1, 1
        Synaptics Circular Scrolling (273):     0
        Synaptics Circular Scrolling Distance (274):    0.100000
        Synaptics Circular Scrolling Trigger (275):     0
        Synaptics Circular Pad (276):   0
        Synaptics Palm Detection (277): 0
        Synaptics Palm Dimensions (278):        10, 200
        Synaptics Coasting Speed (279): 20.000000, 50.000000
        Synaptics Pressure Motion (280):        30, 160
        Synaptics Pressure Motion Factor (281): 1.000000, 1.000000
        Synaptics Grab Event Device (282):      1
        Synaptics Gestures (283):       1
        Synaptics Capabilities (284):   1, 1, 1, 1, 1, 1, 1
        Synaptics Pad Resolution (285): 1, 1
        Synaptics Area (286):   0, 0, 0, 0
        Synaptics Noise Cancellation (287):     25, 25
        Device Product ID (242):        1739, 9
        Device Node (243):      "/dev/input/event6"

Update I forgot there are 2 devices that might be relevant, this one actually looks more relevant than the synaptics device:

$ xinput list-props 11
Device 'TPPS/2 IBM TrackPoint':
    Device Enabled (135):   1
    Coordinate Transformation Matrix (137): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (260):     0
    Device Accel Constant Deceleration (261):       1.000000
    Device Accel Adaptive Deceleration (262):       1.000000
    Device Accel Velocity Scaling (263):    10.000000
    Device Product ID (255):        2, 10
    Device Node (256):      "/dev/input/event9"
    Evdev Axis Inversion (302):     0, 0
    Evdev Axes Swap (304):  0
    Axis Labels (305):      "Rel X" (145), "Rel Y" (146)
    Button Labels (306):    "Button Left" (138), "Button Middle" (139), "Button Right" (140), "Button Wheel Up" (141), "Button Wheel Down" (142)
    Evdev Middle Button Emulation (307):    0
    Evdev Middle Button Timeout (308):      50
    Evdev Third Button Emulation (309):     0
    Evdev Third Button Emulation Timeout (310):     1000
    Evdev Third Button Emulation Button (311):      3
    Evdev Third Button Emulation Threshold (312):   20
    Evdev Wheel Emulation (313):    0
    Evdev Wheel Emulation Axes (314):       0, 0, 4, 5
    Evdev Wheel Emulation Inertia (315):    10
    Evdev Wheel Emulation Timeout (316):    200
    Evdev Wheel Emulation Button (317):     4
    Evdev Drag Lock Buttons (318):  0

Any idea what knob to turn?

Update I diffed the above properties against those of another machine (a Lenovo laptop where the TrackPoint works fine) also running debian testing, and they are exactly identical. The version of xinput is the same, too. So I guess we can exclude the xinput version as well as the xinput settings for those devices from our considerations. I'll try to get my hand on another IBM USB keyboard and check if it isn't - after all - a hardware issue...

[The following is an edit to this question made by Barry Grumbine (thanks, man), that got rejected by https://unix.stackexchange.com/users/2180/shawn-j-goff (no thanks, man). Because I find it very useful and Shawn's rejection hid this bit of information from me (until now) and others, I'll paste it in here:]

Additional Information
There is an open Debian bug report that I believe describes this problem #682413 The problem seems to be related to the synaptics_usb kernel module. According to synaptics_usb.c, line 30:

[...] touchstick support has not been tested much yet[...]

  • You're missing the evdev driver, I've experienced similar things on Gentoo Can you list all xf86-input-* packages you've installed ?
    – daisy
    Jul 19, 2012 at 6:17
  • naming convention is different in debian, but I have the following xserver-xorg-input-*s installed: evdev, synaptics, wacom, intel. There are about a dozen more that I have not installed and that seem unrelated. Jul 19, 2012 at 8:23

2 Answers 2


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"

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

  • Thanks Barry. Having used more than 5 ThinkPads and this USB keyboard over the last 5 years, I've never had any reason to fiddle with accel / decel settings. I played around with your settings above and although they make it better, putting the cursor is still not smooth. I wonder if there is a way to just switch on the default behavior. I tried Device Accel Profile (without any other changes), but it's not perfect either. Jul 30, 2012 at 0:01
  • 1
    Well... we are using Debian Testing. Got to expect a bit of strangeness. I am wondering which Device Accel Profile_(s) you tried. I haven't play with that device property yet, the X.Org PointerAcceleration documentation seems to indicate that it is related to the _threshold value (the '1' in my example). Maybe changing threshold would make a difference. It also states that AccelerationProfile 1 may be device specific for synaptic, and AccelerationProfile 2 is the recommended profile. Jul 30, 2012 at 18:58
  • Barry, as the best (and only ;) answer, you deserve the bounty! Just confirmed with another similar keyboard that it is not a hardware issue, so unless another one-line copy-and-paste fix shows up, I guess I'll have to fumble the xinput knobs. Thanks for your detailed answer! Aug 2, 2012 at 2:37
  • +1 - I'm trying to give you some credit for the edit you made to my question (see end of the question), by upvoting your comment down here. As the edit had been rejected by someone else, I could not do so by just accepting the edit as one would normally do. Aug 3, 2012 at 2:19

There are indeed some problems with the synaptics_usb driver with Trackpoint. Even with the tweaks mentioned here it's still pretty painful. A patch is available http://thread.gmane.org/gmane.linux.kernel.input/31935 though I haven't tested it.

I found the quickest fix is to jump back to the usbhid driver. Unfortunately, Synaptics devices are blacklisted (ignored) by default by hid-quirks so as not to cause contention for the device. Fortunately there's a way in at least recent kernels to unignore it by passing the USB ID and special flag to hid-quirks.

First, collect the USB device information:

$ lsusb
Bus 001 Device 008: ID 06cb:0009 Synaptics, Inc. Composite TouchPad and TrackPoint

If usbhid is loaded as a module (lsmod|grep usbhid), create the following:

  options usbhid quirks=0x06cb:0x0009:0x40000000 # 0x4 is to unignore
  blacklist synaptics_usb  # Prevent synaptics_usb from being loaded

Then you can test by:

$ sudo rmmod synaptics_usb 
$ sudo rmmod usbhid  (keeping in mind your usb keyboard might stop working here)
$ sudo modprobe usbhid

If usbhid is compiled into the kernel as it was in my distribution, it will need to be added to the kernel boot parameters. In my case (CentOS 7) I did the following:

  GRUB_CMDLINE_LINUX="[...] usbhid.quirks=0x06cb:0x0009:0x40000000"

 $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

  blacklist synaptics_usb

Then reboot! The Trackpoint should now be recognized by usbhid.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .