With the switch to evdev as the input for the xserver in intrepid I lost my EmulateWheel settings. I use this option on my Thinkpad a lot. I have configured the middle mouse button so that I can scroll up and down with the trackpoint. I really love this option and use it quite a lot.
So today I decided to look into what can be done to get it back 🙂 With the help of Timo Aaltonen and Julien Cristau I made it work again.
You need a very recent xserver-xorg-input-evdev (git snapshot) that I put into my PPA at “deb http://ppa.launchpad.net/mvo/ubuntu intrepid main” and then a fdi file in /etc/hal/fdi/policy/mouse-wheel.fdi that looks like this:
<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.ZAxsisMapping" type="string">4 5</merge> <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> </match>
You may have to alter the “info.product” key for your system to make it work. After restarting hal and the xserver, that gave me my middle button scroll back and I’m a happy (and productive) man again.
August 15, 2008 at 3:06 pm |
Wow, that seems like a lot of work for that. I haven’t been following intrepid, adding that EmulateWheel content to an xorg.conf file no longer works?
August 15, 2008 at 6:02 pm |
xorg.conf works as well, but it need to be customized as well and it seems like the right device /dev/input/inputX needs to be put in. I think that the fdi file is more robust.
I think for intrepid final things will be a lot easier, there is support to set these options via XProperties, so I expect some sort of GUI in the future (part of gnome-control-center maybe?).
August 15, 2008 at 11:42 pm |
nice work! I absolutely depend on this feature!
August 18, 2008 at 6:37 pm |
Thanks for this, I was confused by the change when I set up 8.10 Alpha 4.
I have noticed that on my thinkpad travel keyboard, I can hold down the scroll key and scroll with my finger on the touchpad (any place, not just the edge). On the built-in keyboad, this would not work.
Does this setup allow you to scroll with a finger on the pad (not on the nipple mouse) after hitting the scroll key?
August 21, 2008 at 4:30 pm |
Thanks for this!
I have tried to enable “EmulateWheelTimeout” by adding the line
200
after the other merge tags. This would leave the middle mouse button intact. However, as judged by xorg.log this line is ignored. Any ideas why?
August 21, 2008 at 4:32 pm |
That’s <merge key=”input.x11_options.EmulateWheelTimeout” type=”string”>200</merge>.
August 22, 2008 at 7:31 am |
Hi MIchael,
it looks like this option is not supported in the evdev version of the emuWheel source code. Sorry for that, its a very nice feature. Middle mouse is still availabe via emulate3button, but its of course more inconvenient than the native middle button.
August 22, 2008 at 12:55 pm |
Hi Michael,
thanks for ur answer. Then hopefully it will be implemented soon. 🙂
September 2, 2008 at 3:05 pm |
Hi Michael, I’ve been looking to restore that behavior for a while, and your solution works GREAT, except for one detail: the middle mouse button does not work anymore by itself.
It’s the thing I use the most (second is the wheel scroll)… is there a way to have this work as well? Is it what the “EmulateWheelTimeout” is suppose to address?
I’ve seen a patch addressing the timeout issue (http://readlist.com/lists/lists.freedesktop.org/xorg/4/24605.html), maybe your package is not using the latest version?
Thanks!
September 3, 2008 at 6:25 pm |
Hi Michael,
For those who want to keep the “mouse” driver managing the trackpoint until evdev is feature complete, here is a workaround:
September 3, 2008 at 6:28 pm |
My comment was mangled: .
September 23, 2008 at 12:52 pm |
Using the latest stuff in Intrepid, I can get this working via xinput:
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation” 8 1
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation Button” 8 2
that enables wheel emulation and ties it to button 2 (ie middle mouse button).
see “man xinput” and “xinput list” to find the right device name, and then “xinput list-props DEVICENAME” to find out what it can do. As an example, these are the commands I ran to figure out the various things I needed to know:
xinput list => “TPPS/2 IBM TrackPoint”
xinput list-props “TPPS/2 IBM TrackPoint” => “Wheel Emulation”/”Wheel Emulation Button”
October 11, 2008 at 3:46 am |
nice! i always find it a struggle to find out what to do with all that fdi stuff.
right, now that i’ve got my middle mouse button i’m off to play with blender in fedora 9 on my eee pc 🙂
October 26, 2008 at 3:14 pm |
On the ThinkPad X300 (or X301) this does not seem to work. xinput lists the following devices. Any ideas?
mschulze@X300:~$ xinput list-props 3
Device ‘DualPoint Stick’:
Device Enabled: 1
Middle Button Emulation: 2
Middle Button Timeout: 50
Wheel Emulation Inertia: 10
Wheel Emulation: 1
Wheel Emulation X Axis: 0, 0
Wheel Emulation Y Axis: 4, 5
Wheel Emulation Timeout: 200
Wheel Emulation Button: 2
Drag Lock Buttons: 0
mschulze@X300:~$ xinput list-props 4
Device ‘AlpsPS/2 ALPS DualPoint TouchPad’:
Device Enabled: 1
Synaptics Edges: 120, 0, 830, 0
Synaptics Finger: 14, 0, 15
Synaptics Tap Time: 180
Synaptics Tap Move: 110
Synaptics Tap Durations: 180, 0, 180
Synaptics Tap FastTap: 0
Synaptics Middle Button Timeout: 75
Synaptics Two-Finger Pressure: 257
Synaptics Scrolling Distance: 20, 0
Synaptics Edge Scrolling: 1, 0, 0
Synaptics Two-Finger Scrolling: 0, 0
Synaptics Edge Motion Pressure: 30, 0
Synaptics Edge Motion Speed: 1, 0
Synaptics Edge Motion Always: 0
Synaptics Button Scrolling: 1, 1
Synaptics Button Scrolling Repeat: 1, 1
Synaptics Button Scrolling Time: 100
Synaptics Off: 0
Synaptics Guestmouse Off: 0
Synaptics Locked Drags: 0
Synaptics Locked Drags Timeout: 5000
Synaptics Tap Action: 2, 3, 0, 0, 1, 2, 3
Synaptics Click Action: 1, 1, 1
Synaptics Circular Scrolling: 0
Synaptics Circular Scrolling Trigger: 0
Synaptics Circular Pad: 0
Synaptics Palm Detection: 1
Synaptics Palm Dimensions: 10, 0
Synaptics Pressure Motion: 30, 0
Synaptics Grab Event Device: 1
November 1, 2008 at 12:45 am |
This solution does not seem to work for older hardware like Thinkpad R50 or may be i messed up something!
Here is one more approach.
This worked for me. (http://ph.ubuntuforums.com/showthread.php?t=942565)
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation” 8 1
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation Button” 8 2
Added these two lines to your startup script ( or add one gnome-session-properties)
November 1, 2008 at 1:24 pm |
This is a great fix and worked perfectly for me.
Thankyou!
November 2, 2008 at 9:15 pm |
it didn’t work with 8.04 X300 and now with 8.10 also is not working
i think the thinkpad X300 has something different
November 2, 2008 at 10:23 pm |
ok i finally got it working on X300
you 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 😀
Thanks guys
November 4, 2008 at 3:49 pm |
Works great on my T60.
Thanks
November 5, 2008 at 6:22 pm |
I could enable it on my x61, but it stops working once I suspend. Any ideas?
November 5, 2008 at 9:46 pm |
This did not work for me on a Thinkpad X61 running the latest Intrepid. I have check xinput list for the device name, and it is “TPPS/2 IBM TrackPoint” as described in the config file.
Xorg.0.log seems to list the device correctly:
(II) config/hal: Adding input device TPPS/2 IBM TrackPoint
(**) TPPS/2 IBM TrackPoint: always reports core events
(**) TPPS/2 IBM TrackPoint: Device: “/dev/input/event8”
(II) TPPS/2 IBM TrackPoint: Found x and y relative axes
(II) TPPS/2 IBM TrackPoint: Found 3 mouse buttons
(II) TPPS/2 IBM TrackPoint: Configuring as mouse
(II) XINPUT: Adding extended input device “TPPS/2 IBM TrackPoint” (type: MOUSE)
(**) Option “Emulate3Buttons” “true”
(II) TPPS/2 IBM TrackPoint: Forcing middle mouse button emulation.
(**) Option “EmulateWheel” “true”
(**) Option “EmulateWheelButton” “2”
(**) Option “YAxisMapping” “4 5”
(**) TPPS/2 IBM TrackPoint: YAxisMapping: buttons 4 and 5
(**) Option “XAxisMapping” “6 7”
(**) TPPS/2 IBM TrackPoint: XAxisMapping: buttons 6 and 7
(**) TPPS/2 IBM TrackPoint: EmulateWheelButton: 2, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
Anyone have any ideas?
November 9, 2008 at 2:30 pm |
thanks!
my Thinkpad R60 dont like the .fdi file, but with the commands for xinput it works!
i did this in the terminal:
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation” 8 1
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation Button” 8 2
November 11, 2008 at 9:54 pm |
This does work to get vertical scrolling, but I can’t get your configuration to cause horizontal scrolling. I am using ubuntu 7.10 x86_64 on a thinkpad x61-Tablet. (I have tried misspelling and correctly spelling axis, and dozens of other things)
In order to get the horizontal scrolling working for myself, I have to make a shell script run at startup that runs
xinput -set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation X Axis” 8 6 7
now everything works.
November 12, 2008 at 4:35 am |
Michael,
I have a T43 and this did not work for me, you say I might have to edit the info.product key, and I know what you mean, I just don’t know what I would change it to. Any help would be great
Paul
November 12, 2008 at 4:39 am |
also, enabling it with xinput works with the code:
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation” 8 1
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Wheel Emulation Button” 8 2
so I don’t know why the .fdi wont
November 13, 2008 at 6:48 pm |
[…] The websites I used to formulate this approach are: psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html mvogt.wordpress.com/2008/08/15/xorg-evdev-and-emulatewheel/ […]
December 20, 2008 at 10:50 pm |
it works perfect on t61!! thank you!!
March 28, 2009 at 8:55 pm |
Hello!
Very Interesting post! Thank you for such interesting resource!
PS: Sorry for my bad english, I’v just started to learn this language 😉
See you!
Your, Raiul Baztepo
April 12, 2009 at 7:48 am |
Hello,
The ZAxisMapping option does not exist for evdev (Debian sid, evdev 2.2.1. (BTW, you also have a typo in that line). Emulate3Buttons is not needed on my machine.
Otherwise thanks a lot, I got scrolling back on my R61.
Regards,
Andrei
April 23, 2009 at 7:44 pm |
thanks dude!
June 16, 2009 at 10:23 am |
Fedora 11, Thinkpad R50e
fdi file does not work.
works only with this xinput setup:
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Evdev Wheel Emulation” 8 1
xinput set-int-prop “TPPS/2 IBM TrackPoint” “Evdev Wheel Emulation Button” 8 2
June 25, 2009 at 5:53 pm |
Fedora 11, ThinPad R400
fdi works after logout / new login and hald-restart
December 15, 2009 at 11:05 am |
[…] on code from Michael Vogt and adapted to support both vertical and horizontal […]
December 27, 2009 at 7:50 pm |
Adding mouse-wheel.fdi with no other changes worked perfectly on my thinkpad R51 running Karmic.
Thank you!
February 20, 2010 at 3:03 pm |
Thanks a lot, That works like a charm on a Thinkpad SL410. But how can we select the sensivity of the trackpoint and how to deselect the touchpad wich is disturbing now (I haven’t succeed to go in the Bios) ? Anyway, I’m so happy I’ve found your post and that it works very well on my machine.
March 5, 2010 at 2:52 pm |
[..] A bit unrelated, but I really liked this webpage post [..]
April 4, 2010 at 12:07 am |
Thank you Michael! It works well in Karmic, but not in Lucid. I read that the configuration schema changed again, is it true?
What can we do to make this work in Lucid?
November 6, 2010 at 8:28 pm |
In the Arch forums I found a solution for the new config schema:
https://bbs.archlinux.org/viewtopic.php?pid=847309#p847309
December 2, 2010 at 1:16 pm |
YES! Spent a long time hunting for a solution. thank you.
March 11, 2011 at 4:34 pm |
[…] on code from Michael Vogt and adapted to support both vertical and horizontal […]
September 15, 2011 at 2:36 pm |
thank you, wish i would do something like yours