Update: for instructions for Ubuntu Lucid/10.04 see this post.
Update: note, these instructions work for me on Ubuntu 8.10 Intrepid as well as 9.04 Jaunty and 9.10 Karmic on a Thinkpad X61s. Alternatively, the Karmic repos have gpointing-device-settings, a GUI tool for enabling trackpoint scrolling (as well as other special trackpoint/touchpad features).
Ubuntu GNU/Linux 8.10 (Intrepid) switches to evdev for X server input, which has the unfortunate side effect of breaking old EmulateWheel configurations. So scrolling using the middle button + TrackPoint (which I absolutely love) was broken for a while, although it is now fixed. Instead of modifying your xorg.conf, create a new file called /etc/hal/fdi/policy/mouse-wheel.fdi with the following contents:
<match key="info.product" string="TPPS/2 IBM TrackPoint"> <merge key="input.x11_options.EmulateWheel" type="string">true</merge> <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge> <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge> <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge> <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> </match>
(Based on code from Michael Vogt and adapted to support both vertical and horizontal scrolling.)
Update: you'll have to restart hal and gdm, and remove the cache file /var/cache/hald/fdi-cache, for the changes to take effect. Log in on a VT (e.g. with Ctrl+Alt+F1) and then do:
sudo rm /var/cache/hald/fdi-cache
sudo /etc/init.d/hal restart
sudo /etc/init.d/gdm restart
(Be sure to log in on a console/VT, because restarting GDM will kill all your X apps...)
Note for Ubuntu 8.10 users only: an update to Ubuntu Intrepid (subsequent to my original post) breaks TrackPoint scrolling either completely or possibly only after suspending and resuming. A comment on Ubuntu bug 282387 gives instructions for downloading and installing a fixed version from upstream:
sudo apt-get install build-essential git-core
sudo apt-get build-dep xserver-xorg-input-evdev
git clone git://git.freedesktop.org/git/xorg/driver/xf86-input-evdev
cd xf86-input-evdev
git reset --hard 5f2c8a2dcdf98b39997ee5e7c9a9ace3b640bfa3
./autogen.sh --prefix=/usr
make
sudo make install
Later releases already have a fixed version of xserver-xorg-input-evdev.
Feedback/testing: I've tested the policy file and workaround above on an X61s. On 8.04/Intrepid, people have indicated that it seems to work on most or all R and T series Thinkpads as well as the X31, X40, X61, and X200. The X300 and X301 Thinkpads seem to have different TrackPoint hardware. On those machines you may need to disable the touchpad in the BIOS to make the above workaround work.
Thanks to all the commenters below who left additional tips for getting this to work and providing feedback on what hardware is supported!
Thank you thank you thank you thank you! Works like a charm
ReplyDeleteHey, thanks for your post about how to fix the trackpoint with Ubuntu 8.10. I really appreciate it.
ReplyDeleteThis is great news. I came here through https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/251408
ReplyDeleteDo you know if there is any way to activate "press-to-select" in interepid? Is it different too?
Sorry, I don't know about configuring tap-to-select. From a cursory reading of ThinkWiki it looks to be unrelated to this xorg.conf/evdev business, though.
ReplyDeleteI've been cursing my upgrade since I couldn't scroll.. Thanks so much, my thinkpad is slightly less maddening now. Onto LCD brightness controls...
ReplyDeleteThanks for this very nice tip. It works perfectly!
ReplyDeletethis suddenly stopped working for me on intrepid. Looking at HAL's information about the trackpoint, all those properties seem to have been set, so that fdi script is definitely run.
ReplyDeleteAny pointers?
Same here. After a suspend, the scrolling isn't working anymore. I put the above script into /etc/hal/fdi/policy
ReplyDeleteDoes anybody have an idea?
Looks like it's related to Ubuntu bug 282387.
ReplyDeleteGreat tip! Thanks!
ReplyDeleteI've a complete newbie question: On my new Lenovo X301 there is no such a device when listing with xinput. Instead I have a "DualPoint Stick" which I configure with the file from your blog. However this dosn't help at all.. I'm using ubuntu 8.10 and I've already disabled & enabled the TrackPoint in BIOS. When listing the input properties with xinput I get:
ReplyDeleteDevice 'DualPoint Stick':
Device Enabled: 1
Middle Button Emulation: 1
Middle Button Timeout: 50
Wheel Emulation Inertia: 10
Wheel Emulation: 1
Wheel Emulation X Axis: 6, 7
Wheel Emulation Y Axis: 4, 5
Wheel Emulation Timeout: 200
Wheel Emulation Button: 2
Drag Lock Buttons: 0
But still the scrolling with the stick doesn't work. What can I do next?
Thanks,
pawel
THANKS!!!
ReplyDeleteI promise you this works.
ReplyDeleteThis works, but I had to restart my computer first.
Also,
If your scrolling stops working after suspend, like mine did, this is how you can fix it:
__________________________________________________
sudo apt-get install build-essential git-core
sudo apt-get source xserver-xorg-input-evdev # You can delete the stuff it downloads to your working directory, this is only to get all the build dependencies
git clone git://git.freedesktop.org/git/xorg/driver/xf86-input-evdev
cd xf86-input-evdev
git reset --hard 5f2c8a2dcdf98b39997ee5e7c9a9ace3b640bfa3
./autogen.sh --prefix=/usr
make
sudo make install
-------------------------------------------
This was taken from this bug report:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387
I think there's a typo in ZAxsisMapping
ReplyDeleteThanks a lot, this worked for me too :)
ReplyDeleteThis works! Thank you!
ReplyDeleteit works in R31. Thanks a lot.
ReplyDeletethe difference is there 's no icon change when the mid button and tk red point pressed.
Hi, it doesn't work for me completely. I always have to move the cursor over the scroll bar (on the right) where it works and then I can move anywhere... Any help? THanks!
ReplyDeleteWorks fine on my T61 and Intrepid even after suspend and resume.
ReplyDeleteFor those trying to activate "press-to-select" in Intrepid. I make it work installing "Configure Trackpoint" from here:
http://tpctl.sourceforge.net/configure-trackpoint.html
You may need to install sysfsutils before: sudo apt-get install sysfsutils.
Configure Trackpoint will also let you configure speed and sensibility.
Anyway STILL trying to make it work Fn+F8 to disable/enable Touchpad. Used to work editing /etc/X11/xorg.conf and adding Option "SHMConfig" "true" but no longer works in Intrepid.
Anyone?
thats true, it doesn't work for X300
ReplyDeleteok i finally got it working on X300
ReplyDeleteyou need to disable the touch pad from bois then the trackpoint will show as "TPPS/2 IBM TrackPoint" instead of "DualPoint Stick" when using the command 'xinput list-props 3'
now i can scroll :D
Thanks guys
Phil, thanks for the post, I tried it out on my X200 after upgrading from Hardy to Intrepid today and it worked like a charm. Just FYI.
ReplyDeleteHi there, doesn't work (very well) on my Thinkpad x61s...
ReplyDeleteI am using a X60 and the code here works to get the scrolling but I lose it after a suspend. I followed the insturctions posted by Juice and I get an error when I execute commands:
ReplyDelete./autogen.sh --prefix=/usr
make
sudo make install
I went looking for the file autogen.sh and the make file. I can't find either of them in the extracted folder.
On an X60, scrolling stops working after suspend/resume. The autogen.sh command fails with:
ReplyDelete./configure: line 11657: syntax error near unexpected token `XINPUT,'
./configure: line 11657: `XORG_DRIVER_CHECK_EXT(XINPUT, inputproto)'
Any suggestios how to get it working on a X200 (8.10 all updates)? Some see mto be able to use the scrolling with this but I can't... The scrolling is one of the last big "To Fix" things on my X200 list before I switch to ubuntu completely...
ReplyDeleteHey thanks a lot. Works on for me on my T60!
ReplyDeleteWorked for me on T42, thanks!
ReplyDeleteWorked for me on T41, thanks!
ReplyDeleteThis only worked for me on my X61 running 64-bit Intrepid after downloading this:
ReplyDeletehttp://launchpadlibrarian.net/19254960/preinit.diff
and then following these instructions:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387/comments/36
you may have to replace the line
"./autogen --prefix=/usr"
with
"./autogen.sh --prefix=/usr"
fer,
ReplyDeletedid you manage to make touchpad enable/disable using Fn+F8 ?
also anyone knows if touchpad can work for horizontal scrolling with firefox?
thanks
Hi there...
ReplyDeleteI've just installed 8.10 and had problems with getting my trackpoint scrolling working properly. Yeah, it worked, but only after I turned off touchpad in BIOS, what I didn't want to do.
There is another solution - you can easily turn off whole evdev system and get back to 8.04 way of loading drivers for input devices... You just have to add to your xorg.conf such a section:
Section "ServerFlags"
Option "AutoAddDevices" "False"
EndSection
... then add sections for keyboard and trackpoint (I used to have it under "configured mouse" section) like it was in 8.04... and it should work :)
Thanks a lot Phil this tips works on my X31. By the way I did a french post based on yours on my website here : Configurer le scroll sur son thinkpad
ReplyDeleteThis works for x40 and intrepid 8.10..
ReplyDeleteFirst install libtool (and anything else not found) then
sudo apt-get build-dep xserver-xorg-input-evdev
apt-get source xserver-xorg-input-evdev
cd xserver-xorg-input-evdev-2.0.99+git20080912
wget http://launchpadlibrarian.net/19254960/preinit.diff
patch -p1 < ./preinit.diff
./autogen.sh --prefix=/usr
make
sudo make install
Also, Restart X by ctrl-alt-backspace
ReplyDeleteSorry for stupid question... But how can I restart hal and gdm... is it enough to create that file? I have an X60 and tried to create that file (correcting the typo in ZAxismapping...) but I'm stuck it won't work... Could someone post a more easy guide for ppl just starting ubuntu experience?
ReplyDeletepetitchevalroux: Awesome!
ReplyDeleteAnonymous: I've updated the post to, among other things, add instructions for restarting HAL and GDM.
Thanks a lot! This worked great on my X61... it's also nice to know that Jaunty will work better.
ReplyDeleteGreetings. I am new to Ubuntu and when trying the method above I got the following message:
ReplyDelete"Could not save the file /etc/hal/fdi/policy/mouse-wheel.fdi
You do not have the permissions necessary to save the file. Please check that you typed the location correctly and try again."
Does anyone know how to over come this objection?
William P: you need to become root before editing the file, e.g. edit with "gksudo gedit".
ReplyDeleteWorked on a T500. Thanks!
ReplyDeleteIt also survived a suspend.
I'm using Intrepid 8.10 with the "proposed updates" and 2.6.27-11-generic kernel that has the suspend/hibernate fixes in it.
Best,
Dominik
The following worked for my X61, ubuntu 8.10
ReplyDeleteAdd the following to /etc/X11/xorg.conf
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "ExplorerPS/2" # IMPS/2 is not recommend for TrackPoints
Option "Device" "/dev/input/mice"
Option "EmulateWheel" "on"
Option "EmulateWheelTimeout" "200"
Option "EmulateWheelButton" "2"
Option "YAxisMapping" "4 5"
Option "XAxisMapping" "6 7"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Restart X by pressing ctrl-alt-backspace and voila!
Good luck, y'all
The preinit patch worked on Thinkpad W500.
ReplyDeleteThanks a lot!
Thank you so much. I've been wincing every time i've tried to scroll for almost a month.
ReplyDeleteworks for me on a T61p. Thank you.
ReplyDeleteBut how do I make the pointer movement faster?
sorry, I should have also mentioned my OS:
ReplyDeleteI'm running Ubuntu:
2.6.28-8-generic #26-Ubuntu SMP x86_64 GNU/Linux
I did a clean install and basic trackpoint functions worked out of the box. But middle button scrolling did not. Thanks to this post, it works now.
I still need to find a way to make the movement faster.
Anonymous,
ReplyDeleteI'm not sure if there is an X configuration option for this, but I just use GNOME's Mouse control panel to change the pointer speed.
I just wanted to let you know that I just tested this in my T43 and works just fine.
ReplyDeleteRegards!
Thanks, scrolling works like a charm on my T500 with this! I still need to find a way to disable the touchpad though... ;)
ReplyDeleteThank you very much. Works here without rebuilding xf86-input-evdev on Intrepid. :-)
ReplyDeleteBye
Sven
Thanks! Works like charm on my R61i ! :)
ReplyDeleteer...
ReplyDeleteIt didn't worked on my x200(ubuntu 9.04 beta)
You are a fantastic human being -- tip much appreciated and I'm much happier on Jaunty now with my T60 -- thank you!
ReplyDeleteThanks a lot!
ReplyDeleteWorks perfectly on a T60p!
Thank you!!!!!!!! Worked perfect on my T43!!!!
ReplyDeleteOutstanding! Worked beautifully on my T60p (Intrepid) with the Jan 4, 2009 update.
ReplyDeleteThis somehow does not work on my X200 with Ubuntu 9.04 RC.
ReplyDeleteThis does not work on R50e with Ubuntu 9.04, but it worked with 8.10
ReplyDeleteAny ideas?
Worked perfect on my X300 under 8.10 but now under 9.04 doesn't work anymore :-(
ReplyDeleteWorks perfect on my T60 with 9.04!
ReplyDeleteThanks
Cristian
Works like a charm on an X60 with Jaunty (9.04)
ReplyDeleteIt sort of works on T41p however tends to act a bit strange in Opera Internet Browser; when reaching the end of a page (that is: top or bottom) the browser will treat it as a 'back' or 'forward' command. Strange! That is only the case for the trackpoint and not the touchpad - and only in Opera...
ReplyDelete9.04
...which I of course fixed by removing the x-axis parameter from the code.
ReplyDeleteUbuntu 9.04, Opera 9.64.
thanks, worked perfectly for me on 9.04 with a sl500
ReplyDeletethanks!
ReplyDeleteworks on my x200s with ubuntu 9.04
Hi,
ReplyDeleteIf it doesn't work, check this:
http://duncanelliot.com/blog/?p=22
technique worked on my r31.
ReplyDeletethank you so much.
x31 -> just perfect! - i love you man :)
ReplyDeleteWorked fine with my T61 and ubuntu 9.04
ReplyDeleteThank you
Thanks worked for me too, t61 and 9.04
ReplyDeleteFor those who does not work,
ReplyDeleteremove /var/cache/hald/fdi-cache and restart,
it works for me, T43 9.04
Thank you for the fix for the ubuntu bug! This fix works for my Thinkpad SL400.
ReplyDeleteWorked on my X31 with Kubuntu 9.04 Jaunty, but only after removing /var/cache/hald/fdi-cache (thanks to OP and comments above)
ReplyDeletegreat way! Formally i had it in xorg.conf and struggled with Firefox doing the scrolles. Now it seames to be ok.
ReplyDeleteBest trackpoint scrolling by now.
Thinkpad R51, Ubuntu Jaunty
Thank U a lot. It worked after hours of fighting!
ReplyDeleteI'm using Ubuntu 9.04 on ThinkPad R61 and I had to disabled the TrackPad in the BIOS in order the scrolling with trackpoint to work.
thanks worked for me...
ReplyDeletebut when i gave the second command for restart it said it was shutting down GNOME display manager... then the screen went away and i was left with a cursor and some commands...
when i powered down and restarted again it works fine...
Just wanted to comment that this fixes the problem under Fedora 10 and Fedora 11 as well. Thanks!
ReplyDeleteThanks for the fix! Works perfectly!
ReplyDeleteThanks man! This rocks! Works for my T43. Luv the scrolling...
ReplyDeleteHere's a quick way to activate scrolling without restarting X:
ReplyDeletesudo /etc/init.d/hal restart
sudo rmmod psmouse
sudo modprobe psmouse
Thanks! Really appreciate the fix <3
ReplyDeleteWorks perfectly on Ubuntu 9.04 on a ThinkPad X200s.
ReplyDeleteThanks a lot!!
works perfectly on ubuntu 9.04 64bit on a ThinkPad T61 after removing /var/cache/hald/fdi-cache. many thanks from japan
ReplyDeleteSo now on karmic (and maybe earlier ubuntu-versions as well), I can do this with a graphical tool called: gpointing-device-settings .
ReplyDeleteTo install from terminal type : #
aptitude install gpointing-device-settings
OR from normal account with root-privileges : $
sudo aptitude install gpointing-device-settings
another option might be to press Alt+F2 (run dialog) and to type the following in that box :
gksudo aptitude install gpointing-device-settings
OR maybe this uri works :
apt://gpointing-device-settings
@immeëmosol: thanks a lot; that's awesome and will be a big help for many. I've added a note to the top of the page.
ReplyDeletethanks works perfectly
ReplyDeleteUBUNTU 9.10 on IBM T40 Type 2373
Excellent post! You're the hero of the internet. Worked after restart on my X200.
ReplyDeleteTHANKS works on my SL500 + 9.10 Karmic
ReplyDeletework greatly, thanks a lot
ReplyDeleteI'm so happy to have my scroll back!!1
ReplyDeleteOh thank you so much for posting this. It works for me on my T40 with Ubuntu 9.10
ReplyDeleteFor the lenovo "ThinkPad USB Keyboard with TrackPoint" change the identifier:
ReplyDeletestring="TPPS/2 IBM TrackPoint">
to
string="Lite-On Technology Corp. ThinkPad USB Keyboard
with TrackPoint">
or whatever the device is labelled from:
more /proc/bus/input/devices
This worked perfect on my X61 tablet. Thanks!!
ReplyDeleteps. if you get stuck in console after pressing (ctrl+alt+f1), to get out hit (ctrl+alt+delete)
Thanks immeëmosol the gpointing-device-settings worked for me. Just needed to change to button 2 and I can now scroll with the middle button and the pointer!
ReplyDeleteI am using Ubuntu 9.10 and a T43.....
Hello,
ReplyDeleteI bought the Thinkpad USB keyboard with track located at http://www.amazon.com/gp/product/B002ONCC6G/ref=oss_product and i'm trying to configure the trackpoint to work the same as its working on my W500
How do i identify the mouse so i can add one more entry for it at /etc/hal/fdi/policy/mouse-wheel.fdi ? i tried to copy:
true
2
6 7
4 5
4 5
true
and change the 2 to 3 in the first line but that disabled both of the trackpoints to scroll
true
2
6 7
4 5
4 5
true
any advise?
Best Regards,
pasting tags didn't work so im putting them at http://pastebin.com/AVJXfMjq
ReplyDelete@Bashar: I don't think you have to change the numbers, just the device name, per this page: http://psung.blogspot.com/2009/09/new-external-thinkpad-keyboard.html
ReplyDeletePerfect.
ReplyDeleteIt worked big "Thank you" to you.
Disabling the touchpad in bios fixed it.
ReplyDeleteIsn't there a way to modify the instructions to work with both of them enabled?
Thanks for the info btw.
Hello there,
ReplyDeleteI tried doing this on Lucid Linux (10.04) but it doesn't seem to be working. I could not restart hal (it says command not found) there is no hal in init.d (but there is hald)
I am a noob in linux but please let me know if I am missing something. I am using it on SL 500. (and my trackpoint works perfect on windows 7)
Ridiculous story there. What occurred after? Take care!
ReplyDeleteThank you for nice information.
ReplyDeletePlease visit our web:
deny