Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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 http://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[...]

share|improve this question
    
You're missing the evdev driver, I've experienced similar things on Gentoo Can you list all xf86-input-* packages you've installed ? –  warl0ck Jul 19 '12 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. –  Eugene Beresovksy Jul 19 '12 at 8:23
add comment

1 Answer 1

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. Found out that the XFCE was over-riding 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

share|improve this answer
    
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. –  Eugene Beresovksy Jul 30 '12 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. –  Barry Grumbine Jul 30 '12 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! –  Eugene Beresovksy Aug 2 '12 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. –  Eugene Beresovksy Aug 3 '12 at 2:19
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.