Middle-click with ThinkPad's Synaptics Touchpad

Middle-click Not Working

Recently I installed an update for the Synaptics UltraNav (touchpad/pointing stick combo) in my Lenovo ThinkPad X201 Tablet from Windows Update. This driver in the 16.2.x series broke my TrackPoint's middle-click function in Windows. By this, I mean that I want the middle button on the TrackPoint to work exactly like the middle button on a real mouse.

The default configuration of the Synaptic driver causes the middle button to enable a scrolling mode that emulates mouse wheel input to applications. Some may prefer the scrolling functionality, but I hate it. I use the middle button regularly to open web browser links in new tabs as well as to close existing tabs. This is a common user interface convention in web browsers (as well as in other tabbed applications like Notepad++). Note that you can still scroll in these applications as holding down the middle mouse button enables a scrolling mode.

In past drivers, you could go into the TrackPoint settings and change the scrolling mode from "Standard" to "Smooth". (You could also set the middle button to pop up a magnifier tool.) Inexplicably, this option has been removed from the latest series of drivers. Furthermore, the default Synaptics behavior is to clear your settings when upgrading drivers (see below) so that you will be stuck with the new default behavior.

Quick Fix

If you have just upgraded, the simplest fix is to roll back your drivers to the previous version. In Windows 8 (follow a similar procedure for Vista/7) you must open the Device Manager.1 Look for "Mice and other pointing devices" and double-click the "ThinkPad UltraNav Pointing Device". Select the "Driver" tab and press "Roll Back Driver". After a reboot you should be able to configure your TrackPoint as you had in the past. This fall under the if-it-ain't-broke-don't-fix-it category of solutions.

Registry Hacks

At some point, however, you may require a driver update. In my case, this was because I purchased a new ThinkPad Helix that of course has no option to change the middle-click behavior. The following registry tweaks may be useful for anyone in a similar situation. I am providing the changes I made, but the usual disclaimers about editing the registry apply. For your convenience, I am including registry files you may download and merge.

DisableTrackPointScrolling.reg:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh\UltraNavPS2]
"TrackPointMode"=dword:00002214
"TrackPointModeFunction"=dword:00000010

The TrackPointMode value by default is 0x1214. Here changing the flags to 0x2214 appears to change the scrolling behavior from "Standard" to "Smooth". On the X201, TrackPointModeFunction worked fine as 0x11, but I had to change it to 0x10 on the Helix to stop the "scrolling cursor" from appearing momentarily.2

Once you have this fixed, you may want to remove the "scrolling cursor" that appears when doing things like two-finger scroll. I prefer not to see it, and it seems this "feature" may actually cause trouble with GTK+ applications.

DisableScrollCursor.reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh]
"UseScrollCursor"=dword:00000000

Finally, as I mentioned above, user settings get deleted upon driver updates. This is not something you should necessarily change. The structure of these registry keys and values could change at any point and keeping settings in an old format could be problematic. However if you are curious this setting appears relevant:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh]
"DeleteUserSettingsOnUpgrade"=dword:00000001

Changing the value to 0x0 should change this behavior. Proceed at your own risk!

NB: On the Helix I have one small additional problem. When performing a middle-click, the action does not register unless I move the TrackPoint slightly up and down. It seems that the driver does not send the appropriate mouse button messages until the TrackPoint moves as well. This is annoying, and I do not have a way to fix this. It's better than the default behavior though, so it'll have to do. Let me know if you have any suggestions.

34 thoughts on “Middle-click with ThinkPad's Synaptics Touchpad

  1. Gustav Delius

    Thank you very much for this post. It enabled me to fix the middle button for the trackpoint on my Thinkpad X1 carbon as well. It only needed the change to "TrackPointMode"=dword:00002214. Whereas I used to use the old drivers, this was no longer possible after the upgrade to Windows 8.1 but your fix still works.

    Reply
  2. Guest

    On your problem with the Helix: You can adress this problem by disabling the TouchPad in BIOS. Because when the TouchPad is active and without TrackPoint movement, the Helix thinks you wan´t to do a left click.

    Reply
  3. Redoubts

    Thanks for the tip, though I'm horrified I should even have to do this at all. I can't believe I'm saying this, but at least Linux "just works" in comparison.

    Reply
  4. U

    Thanks a lot for this solution!

    Unluckily and although the 3rd button works, I cant find "UseScrollCursor" on the windows 8 registry. Any idea on how to get rid of the annoying scroll cursor?

    Reply
  5. Cheney

    Thanks, that resolves the issue that haunted me the whole day.

    I figured out the solution of rolling back synaptic driver on win8. However not working on 8.1....
    The registration hacking is brilliant, though. Thanks!

    OS: win8.1 x64.
    HW: thinkpad w530.

    Reply
  6. Dan

    I ran into the same exact thing - but found that if I unchecked the "Enable TrackPoint Scrolling Tips" in the TrackPoint Properties section the annoying scrolling thing went away and I got my middle mouse button back working the way I expect it to. I didn't have to go into the registry at all.

    Lenovo T510 - Win 8.1 - UltraNav driver version 16.2.19.13 (9/26/2013)

    Reply
  7. Rubdub

    Thanks for the registry hack. This worked perfectly on my lenovo x220 running win 8.1 x64. I've applied to my new thinkpad yoga w/ win8.1 x64 and run into the same problem you have with your helix, i get intermittent registration of the middle click, particularly annoying for opening and closing tabs.

    How did you know changing the registry key to 2214 from 1014 would make this change? I can't imagine there's a service manual for the low level settings of lenovo's software...unless of course you work at lenovo.... 🙂

    Reply
    1. Rubdub

      To add to my above comment, the intermittent issue is entirely a OS driver issue and fortunately not a firmware/controller issue. When using to native windows drivers for the touch pad, middle click registration is performed perfectly everytime, even in rapid succession.

      Reply
      1. John Bruer Post author

        I'm glad the fix worked for you. The registry changes may seem a little mysterious, but all we're doing here is selecting checkboxes and radio buttons in the control panel. In order to store the choices you make in an application, programmers often use something called "flags".

        You can think of a simple flag as an on/off switch. For example, if I have an application with the checkbox "Update Automatically", I could save the your choice in a preferences file with "0" meaning unchecked and "1" meaning checked. If I have multiple preferences to save, I could just put them together into one bigger binary number. So if I have 8 checkboxes to save, your preferences might look like "10011101" for "On Off Off On On On Off On".

        Some settings are more complicated. A group of radio buttons will present a number of options, e.g., "Yes/No/Maybe". In this case I can't use a single binary flag anymore, but I could use a group of them. For instance, I might set "00" to "No", "01" to "Yes", and "11" to "Maybe". In decimal, these correspond to the numbers 0, 1, and 2.

        The DWORD in the registry is displayed as 8 groups of 4 bits each (32 bits total). Therefore it would be natural for me to store eight settings in one flag, with each setting having a possible 16 options (4 binary bits, represented in hexadecimal from 0-F). This is exactly what the Synaptics driver appears to do. The key then is finding which hex digit in the DWORD controls each setting AND what the values mean.

        In this case, I used the old driver on my X201 and checked the registry after changing each setting. This told me that I needed to set the fourth hex digit to a "2". I assumed (hoped), that Synaptics didn't change the flags with the driver upgrade. So even though the option is missing from the control panel, the driver still reads the flag and reacts accordingly.

        As far as the "middle click registration" problem, I recall that I had to hold the middle click button, move the TrackPoint down slightly, release the middle click button, and move the TrackPoint back to where you want to click. I don't think I ever got good enough at it to be natural. (I don't use the Helix anymore, so I can't confirm that this actually works.)

        Reply
  8. Adam

    I confirm it works on my TP yoga, thanks for that. but I have the "middle click registration" problem, so i'm going to try generic drivers now.

    btw:
    any chance to force the touchpad working the "old way" (as on my previous thinkpads). i.e.: use it for scroll only (with one finger only, not two as it's required now).

    thanks again,
    Adam, in-ear.com

    Reply
    1. John Bruer Post author

      Adam,

      I'm not sure what change to make for the scrolling behavior. If you still have an old Thinkpad, you could check the same Registry locations for relevant keys. It's basically a matter of learning which flags control which settings (see a previous comment I wrote with the explanation). If you find the appropriate flag with an old Thinkpad, you can try setting it with the new one. As evidenced by this post, the driver still responds to at least some settings that are no longer exposed in the Control Panel.

      -John

      Reply
  9. m

    Has anyone found a fix for the "intermittent registration" issue?

    This works great for older thinkpads but on my new thinkpad s1 yoga, the middle click only registers intermittently.

    Reply
  10. Pingback: Thinkpad Ultranav Middle Mouse Button | Note2Self

  11. katha

    Unfortunately the registry fix doen't work for the synaptics driver version 18.0.7. But thanks a lot for explaining how you got to this solution.

    Reply
        1. doak

          Sorry, it seemed like it has worked, but didn't.
          @shane: Can you please describe what you did? Thanks.

          Regards,
          doak

          Reply
  12. Bartłomiej MURYN

    Thanks for this article - I hate when somebody tells me what I should like or not. This helped me to fix this ugly trackpoint behavior

    Reply
  13. Thomas Miller

    Thnx buddy!
    The driver rollback didn't fix the problem but the registry edit indeed did it.
    Like mentioned before: "It only needed the change to "TrackPointMode"=dword:00002214."
    Saved my day!

    Reply
  14. Me

    Thank you so much 🙂
    I've used "DisableTrackPointScrolling.reg" and it works fine under Windows 10 Education x64 with the official Synaptics Driver from Lenovo (19.0.12.61).

    I hate that scrolling mode and prefer the normal middle mouse button. For opening background tabs in the browser and close them, or to close windows in Windows.

    Reply
  15. demalaga

    Changing TrackPointMode value from 0x1214 to 0x2214 worked for me.

    -on 2013 X1 Carbon running latest Windows 10 (update downloaded on 2/8/16 flipped middle button to scrolling)

    Reply
  16. nada

    I have a ThinkPad E430 on Windows 10 with Synaptics Driver version 19.0.17.115. My middle-click button still didn't work after these instructions, so I also had to change HKEY_CURRENT_USER\SOFTWARE\Synaptics\SynTP\StickPS2TM2079\MiddleButtonAction from 0 to 4 then restart for it to take effect.

    Reply
    1. Ammar

      Faced same problem on my E430, windows 10. Searched everywhere on internet for a solution and finally found it here.
      Thanks Heaps.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *