Thinkpad TrackPoint Scrolling in Ubuntu Lucid/10.04

Update: for (easier) instructions for Ubuntu Maverick/10.10 and later, click here.

Another Ubuntu release, another set of X.org shakeups.

Some things in X changed in Lucid (xorg 1:7.5+5 and higher), breaking existing Thinkpad TrackPoint scrolling configurations that modify files in /etc/hal/fdi/policy (like those you may have seen in this previous post). You can use gpointing-device-settings to apply the same policy, but I found that even that stops working after a suspend/resume cycle.

Samson Yeung pointed out to me the following fix which can be applied on Ubuntu Lucid/10.04:

Create a new file /usr/lib/X11/xorg.conf.d/20-thinkpad.conf with the following contents (on Ubuntu Maverick/10.10 and later, save the file to /usr/share/X11/xorg.conf.d/20-thinkpad.conf instead):

Section "InputClass"
    Identifier "Trackpoint Wheel Emulation"
    MatchProduct "TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    Option "EmulateWheel" "true"
    Option "EmulateWheelButton" "2"
    Option "Emulate3Buttons" "false"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

Then restart X.

The configuration above works for both Thinkpad laptops with TrackPoints and the Thinkpad TrackPoint keyboard.

Source: instructions derived from these instructions by Samson Yeung. Thanks, Samson!

93 comments:

  1. Thank you!
    Worked perfectly on X301!

    ReplyDelete
  2. Thanks a lot, i've just returned trackpoint functionality to my T500 as well

    ReplyDelete
  3. Thanks for the heads-up. Works like a charm.

    ReplyDelete
  4. sweet worked great

    ReplyDelete
  5. Works with my T43.. Thanks!

    ReplyDelete
  6. Thanks! Works perfectly on R61

    ReplyDelete
  7. This works on my T410s. Thanks :)

    ReplyDelete
  8. Works like a charm on my T400. Thanks a lot!

    ReplyDelete
  9. Thanks a lot.
    Worked on T61!:D

    ReplyDelete
  10. thank you! works perfect on my x200

    ReplyDelete
  11. Works on:

    t42
    x40
    Ultranav Keyboard

    Thanks a lot!

    ReplyDelete
  12. Works perfectly on a T61. Thanks!

    ReplyDelete
  13. I can not get my x61s to suspend nor resume using this.

    What am I doing wrong?

    ReplyDelete
  14. Another thank you.

    ReplyDelete
  15. Works on a Lenovo Thinkpad X60s, even after resuming from 'sleep'

    ReplyDelete
  16. Thanks, you saved my day. Works perfect on my X40, also after suspend.

    ReplyDelete
  17. Works on x61s

    ReplyDelete
  18. Worked on my T60. Thank you!

    ReplyDelete
  19. You all rock!
    Thanks for keeping this page up-to-date!

    ReplyDelete
  20. Nice - working again
    kudos - a novice even did it

    ReplyDelete
  21. Works on T22

    ReplyDelete
  22. You saved my day! I went nuts using arrow keys to scroll. Works perfectly on my X61 Tablet, vertically and horizontally and also after suspend/resume! THANK YOU!

    ReplyDelete
  23. Hi guys.
    First of all. I'm a noob in Ubuntu, so have some issues :)
    How excatly do I make the new file? (im a beginner.. Sorry ;-) )

    ReplyDelete
  24. @Anonymous, open a terminal (Accessories -> Terminal). Type:

    gksudo gedit /usr/lib/X11/xorg.conf.d/20-thinkpad.conf

    (You may be asked to type in your password.) Then paste in the configuration snippet in the post. Save the file and quit. Log out and back in again.

    ReplyDelete
  25. Thank you Phil!. Works as it should now :)!

    ReplyDelete
  26. Helped me as well. Thank you!

    ReplyDelete
  27. Works great on my R50. Thanks!

    ReplyDelete
  28. This broke my keyboard; I had to boot off a CD to fix it. See the original instructions (http://dlv.blogspot.com/2010/04/udev-xorgconfd-snippet.html) for a fix.

    ReplyDelete
  29. Yeah works on my x200s! thx

    ReplyDelete
  30. Works on my R60 too! Nice!

    ReplyDelete
  31. Thanks a lot for the explanations. Now the wheel emulation works fine with my Thinkpad SL410 ! But how can I disable the touchpad which is now disturbing ?
    Thanks again.

    ReplyDelete
  32. @Anonymous (5/24), I think you can disable the touchpad in the BIOS.

    ReplyDelete
  33. Thanks, Phil, but not with the SL410. Lenovo has a special program under Windows 7 to do the job.

    ReplyDelete
  34. Worked on my much-loved Thinkpad external keyboard attached to a desktop. Thanks!

    ReplyDelete
  35. Thanks man, works perfectly on my T61p!

    ReplyDelete
  36. This is great! It is working well on R61. Thank you Phil and Samson

    ReplyDelete
  37. Another thank you! It works like a charm for the OS Linux Fedora 13 on a ThinkPad X60s

    ReplyDelete
  38. works perfectly on x60 and ubuntu 10.04 laptop editon, thanks a million

    ReplyDelete
  39. Thanks for sharing. This worked on my ThinkPad USB Keyboard with TrackPoint Mfg Part #: 55Y9003
    Ubuntu 10.04

    ReplyDelete
  40. works perfectly on my X41 with Ubuntu 10.04

    ReplyDelete
  41. Worked perfectly on my X61 tablet.

    ReplyDelete
  42. Thank you!
    Works on my R61e.

    ReplyDelete
  43. Thank you very much!!! Worked fine on my T500! :)

    ReplyDelete
  44. Thanks! Works great on my ThinkPad X100e! :)

    ReplyDelete
  45. Thank you! Works quiet well on my x200t!

    ReplyDelete
  46. thanks! works on T61

    ReplyDelete
  47. did not work on my t400 unfortunately

    Problem:

    Would get stuck at "checking battery" during start-up.
    Had to CTRL+ALT+F1 and remove file

    restarting gdm wouldn't work either for some reason

    ReplyDelete
  48. I got it to work! I went to Yeung's website and had to create a second file

    file and location: /usr/lib/X11/xorg.conf.d/99-allinput.conf

    with the following:

    Section "InputClass"
    Identifier "allinput"
    Driver "evdev"
    EndSection

    Trackpoint now works. Thanks :)

    ReplyDelete
  49. Thanks, working perfectly in R60

    ReplyDelete
  50. it works on x60, thanks.

    ReplyDelete
  51. Excellent!!!
    Fixed my R61!!

    Thank you!

    John

    ReplyDelete
  52. Hello it works on x60, many thanks.

    ReplyDelete
  53. Not working for me with my x300. I tried both files. Do I need to make it executable?

    I did sudo gedit xxx.conf

    ReplyDelete
  54. @seanism,

    You shouldn't need to make the file executable. I seem to recall, though, that the X300s have input devices that are configured slightly differently. This comment seems to indicate that you might be able to fix this by disabling the touchpad in the BIOS or by changing the Identifier or MatchProduct fields.

    ReplyDelete
  55. I did what you suggested and it did indeed fix the problem.

    Isn't there a way to have it work with both enabled? Someone who knows what there doing should be able to modify the phrase to match what the device is called with both enabled.

    Thanks for the info!

    ReplyDelete
  56. @seanism,

    Does changing MatchProduct to "DualPoint Stick" (and then re-enabling touchpad) help?

    ReplyDelete
  57. Thank you, works perfectly!

    ReplyDelete
  58. It doesnt work in ubuntu 10.10:( Any ideas?

    ReplyDelete
  59. Ubuntu 10.10 dont work :S

    ReplyDelete
  60. Ubuntu 10.10 = http://psung.blogspot.com/2010/09/thinkpad-trackpoint-scrolling-in-ubuntu.html

    ReplyDelete
  61. For Ubuntu 10.10 users, does creating 20-thinkpad.conf in /usr/share/X11/xorg.conf.d instead of /usr/lib/X11/xorg.conf.d help?

    ReplyDelete
  62. to Pablolibo - thx, it works;)

    ReplyDelete
  63. This worked on my R61 and my wife's R400. Thanks

    ReplyDelete
  64. Hi,
    Works fine on X61T with Maverick!
    Thanks

    ReplyDelete
  65. Awesome!

    Works perfectly with Ubuntu 10.10 (Maverick) on T510. I used the /usr/share/X11/xorg.conf.d/20-thinkpad.conf file method. Both vertical AND horizontal scrolling work. Even after suspend.

    Thank you!

    ReplyDelete
  66. Work with x301 but i make the change in the 50-synaptics.conf, with unbuntu 10.10

    ReplyDelete
  67. Thanks, works on X200 and Lucid.

    ReplyDelete
  68. This worked for me. Thanks a lot.

    ReplyDelete
  69. My sl410 can workable now. Thanks a lot

    ReplyDelete
  70. Thank you! T60p works perfectly even after suspend and resume. Horizontal and vertical scroll in Ubuntu 10.10. Gpointing had worked but not reliably after suspend.

    ReplyDelete
  71. Thank you very much!
    This works excellent on my Trackpoint USB keyboard :D

    ReplyDelete
  72. Thanks!! Way easier than the older methods for T61p. Much appreciated!

    Ubuntu 10.4

    ReplyDelete
  73. thanks, works great with x61s :-)

    ReplyDelete
  74. Tkx! Work great on my T61!!

    ReplyDelete
  75. it's work on T400, thanks

    ReplyDelete
  76. Not working with 11.04...

    ReplyDelete
  77. So hard issue!
    # aptitude install gpointing-device-settings

    ReplyDelete
  78. Works fantastic using Ubuntu 11.04 x64 on ThinkPad X201

    ReplyDelete
  79. THANK YOU!! I was so annoyed after try to get gpointing to work and not finding any alternative solutions that'd work. After a lot of googling I finally found this and it works great. So thanks a lot. Almost considered going back to Windows for a while there..

    ReplyDelete
  80. Great great thanks, it works like a charm

    ReplyDelete
  81. Thanks alot. Works perfect on my Thinkpad Edge "11

    ReplyDelete
  82. Thanks alot. Works perfect on my Thinkpad x32 with Ubuntu 11.04

    dth

    ReplyDelete
  83. Works like a charm! on ThinkPad Edge 13" Intel Core i3 using Ubuntu 11.04 32-bit.

    Great Tip!

    ReplyDelete
  84. Thanks! This provided a good start. However, I think ubuntu 11.04 does not like the option for driver evdev there. My computer froze after those changes and a reboot. It recovered completely after removing those files after booting from a live CD.

    The fix was to leave the evdev out. This worked:
    Section "InputClass"
    Identifier "Trackpoint Wheel Emulation"
    MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Option "EmulateWheel" "true"
    Option "EmulateWheelButton" "3"
    Option "Emulate3Buttons" "false"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
    EndSection

    ReplyDelete
  85. I'm using Ubuntu 10.04 on an R61i and I had to use a slightly different 20-thinkpad.conf file.

    Section "InputClass"
    Identifier "Trackpoint Wheel Emulation"
    MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Option "EmulateWheel" "true"
    Option "EmulateWheelButton" "2"
    Option "Emulate3Buttons" "false"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
    EndSection

    Source: http://warwickchapman.com/getting-trackpoint-scrolling-working-on-a-lenovo-x301-in-ubuntu-10-04

    ReplyDelete
  86. densitywave
    How do you know the difference - MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint"?

    ReplyDelete
  87. thanks, works great on my T400

    ReplyDelete
  88. Thank you, it works on my X31 Thinkpad :)

    ReplyDelete
  89. For everyone who cannot create a file in this directory:
    type in the Terminal:
    su
    Then you have to type your password.
    After that type
    sudo gedit /usr/lib/X11/xorg.conf.d/20-thinkpad.conf
    to create the file 20-thinkpad.conf in this directory and so on

    ReplyDelete
  90. x40, workinf fine, thanks

    ReplyDelete
  91. It worked great for my x200, thanks !

    ReplyDelete