Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

The previously useful ThinkWiki pages appear quite outdated. I am trying to permanently change my TrackPoint sensitivity and speed settings and enable middle mouse button scrolling. I have tried configure-trackpoint in the past, but the settings were not saved permanently (they are lost after restart).

I have tried gpointing-device-settings. Using it, I can get middle mouse button scrolling to work, but I cannot change the speed or sensitivity settings of the trackpoint. All methods on the ThinkWiki page that I've tried do not work as directed in Ubuntu 11.04. Can someone explain how to permanently edit the TrackPoint settings so that I can use it correctly?

share|improve this question

6 Answers 6

Unfortunately there seems to be no easy way. What I will describe is how to create a new Upstart job to set the values on boot through the virtual filesystem under /sys.

  1. Find the device path of your trackpoint

    Run the following in a gnome-terminal (press Alt + F2, type gnome-terminal, and hit Enter):

    find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//'

    In my case this returns /sys/devices/platform/i8042/serio1/serio2 - change to whatever it returns for you in the following steps.

  2. Find values for sensitivity and speed

    Run the following commands in a gnome-terminal:

    echo 220 | sudo tee /sys/devices/platform/i8042/serio1/serio2/sensitivity

    for a sensitivity of 220 (this will ask you for your password), and

    echo 100 | sudo tee /sys/devices/platform/i8042/serio1/serio2/speed

    for a speed of 100. Once you found values you are comfortable with, make the change permanent using an Upstart job:

  3. Create a new udev rule

    Now we need to apply the settings during the system start. Therefore, press Alt + F2, type gksu gedit /etc/udev/rules.d/trackpoint.rules, and hit Enter (this will ask you for your password). Then paste the following, save, and reboot:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="220", ATTR{speed}="110"


    sudo udevadm control --reload-rules
    sudo udevadm trigger 

    to avoid reboot.

share|improve this answer
Thanks for the very detailed reply. So I did some more digging and tweaking from the ThinkWiki articles last night, and I discovered something else that worked. First two steps should be the same. Instead of an Upstart job, I used udev rules. I created a file by pressing Alt+F2, typing gksu gedit /etc/udev/rules.d/trackpoint.rules and pasted the following: SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="200", ATTR{speed}="150" Then reboot. Is there any reason I should use Upstart vs udev rules? –  Jonathan Blackhall Apr 29 '11 at 16:01
IMO the udev approach is the better one, thanks! Edited that into the answer. :-) –  htorque Feb 26 '12 at 9:04


the easies way is to do in terminal:

 $ xinput --list --short

Then you will see something like this:

omicron@omicron:~$ xinput --list --short
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=10   [slave  pointer  (2)]
⎜   ↳ ImPS/2 Generic Wheel Mouse                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=9    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

In case to increase trackpoint sensitivity and speed you need to find your trackpoint device id=10 (depending on what you have).

Then do in terminal:

$ xinput --set-prop "10" "Device Accel Constant Deceleration" 1

"10" here is the device ID (Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint id=10), and "1" is the level of sensitivity. It starts from 1, making it the most sensitive. But if you need an ultra fast trackpoint, you can type 0.1 or 0.05 or whatever you like, but more then 0. The greater number - the slower trackpoint is.

You should also make the ordinary mouse most sensitive in system settings, because trackpoint is dependant on it. But the problem then is how to to make the ordinary mouse operate with normal speed and not to reduce trackpoint speed. Find your mouse id in the list and do in terminal:

$ xinput --set-prop "12" "Device Accel Constant Deceleration" 3

Again, replace "12" with your mouse ID. "3" here is what suitable for me, just experiment. It will reduce mouse pointer speed independently from system settings. Hope it will help you. It works for my ThinkPad USB keyboard. If these settings are not working after restart, find out how to make a script that will run during boot.

share|improve this answer

@vitaly-dubyna has the right answer. On debian his method works flawlessly. To make your life easier, put a file .xsessionrc in your home directory with all the settings so that it will be loaded after each restart.

make a new file use vim, pico, gedit --

vim .xsessionrc 

then stick this inside

xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 1
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 200
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 7 6 4 5
xinput set-prop "TPPS/2 IBM TrackPoint" "Device Accel Constant Deceleration" 0.4

where the first 4 lines is to setup vertical and horizontal scrolling with trackpoint and the last line is to control the speed / and sensitivity.

Note that because the device ID can change depending on whether some input devices are enabled / disabled in BIOS, it is preferable to use the device name in quotes. For most thinkpads TPPS/2 IBM TrackPoint is the reference.

I'm using SOLYDxk with KDE desktop on X230.

share|improve this answer
Your "Evdev Wheel Emulation Axes" setting uses natural scrolling horizontally, normal scrolling vertically. I guess most want all-natural scrolling (use 7 6 5 4) or all-normal scrolling (use 6 7 4 5). –  tanius Feb 28 at 2:22

I have a thinkpad and got everything setup as desired through an application called Pointing Devices, which is just a bit more advanced mouse settings dialog.

I don't recall how many options there were for sensitivity, but unlike the built-in mouse settings screen, this one regognized the trackpoint and trackpad independently and allowed for greater control like setting the scroll button (was button 2 in my configuration) and enabling palm detection sensitivity.

share|improve this answer
There are no options for sensitivity or speed with gpointing-device-settings. –  Jonathan Blackhall Apr 29 '11 at 15:48

On Ubuntu 12.04 Unity 2D on Thinkpad sl410 I use the standard Mouse And Touchpad window in Settings. Changing Acceleration or Speed also changes the sensitivity of a trackpoint. Although the behaviour is reversed - decreasing Speed causes increasing of the trackpoint sensitivity. Settings persists between restarts.

share|improve this answer

With the new X.org pointer acceleration settings, everything can be configured nicely in an /etc/x11/xorg.conf.d/52-trackpoint-tweaks.conf file (or similarly named – on Ubuntu, you have to create directory and file, but the mechanism works). The file should have this content:

Section "InputClass"
    Identifier "Trackpoint tweaks"
    MatchProduct       "TPPS/2 IBM TrackPoint"
    MatchDevicePath    "/dev/input/event*"

    # Configure wheel emulation, using middle button and "natural scrolling".
    Option             "EmulateWheel"            "on"
    Option             "EmulateWheelButton"      "2"
    Option             "EmulateWheelTimeout"     "200"
    Option             "EmulateWheelInertia"     "7"
    Option             "XAxisMapping"            "7 6"
    Option             "YAxisMapping"            "5 4"

    # Set up an acceleration config ("mostly linear" profile, factor 5.5).
    Option             "AccelerationProfile"     "3"
    Option             "AccelerationNumerator"   "55"
    Option             "AccelerationDenominator" "10"
    Option             "ConstantDeceleration"    "3"

To see the effect, you have to restart X of course. To play with these settings while X is running, use xinit, but note that option names are different there.

As pointed out by @Vitaly Dubyna, "Constant Deceleration" can be used to control sensitivity – it scales down all movements with that factor, so value "3" makes all movements 3 times slower compared to default "1".

Option documentation:

share|improve this answer

Your Answer


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.