Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to use Synaptics "Two-Finger Scrolling" inside a VMware guest.

It works as expected on the host but VMware does not seem to support it. The mouse cursor changes to indicate that scrolling is active but the VMware guest will not respond to it.

  • VMware Workstation 7.1
  • Host and Guest OS: Windows 7 (64bit)
  • Synaptics Driver 15.0.9.0
  • Device is shown as "Synaptics LuxPad V7.4"

Is it possible to make this work somehow? (e.g. modify .vmx, change Synaptics options or with a driver that emulates "mouse wheel scrolling")

Update: I have already tried several options in the Synaptics driver but the only change was that it displayed a different mouse cursor when trying to scroll.

share|improve this question
    
check my solution @ superuser.com/a/439474/106787 –  mreq Jun 21 '12 at 11:03
    
@hcris Consider checking my answer as correct, please :-) –  Andrew Zabavnikov May 25 at 15:50

5 Answers 5

Okay, so I did a research and managed to succeed. In brief, Synaptics touchpad sends (SendMessage() or PostMessage(), didn't bother to pinpoint that) right window messages (WM_MOUSEWHEEL) to VMware window, but what it actually should do is using SendInput(), directly emulating physical mouse. It seems that there was an option to control behavior of drivers (or, more precisely, user-mode program SynTPEnh.exe) with file tp4table.dat. Unfortunately, this option is somehow not enabled in my drivers (though there is such a string in an executable).

So, I did the following - just injected a .dll into VMware's window process (I hope it's safe and also hope it's not the same process that executes a VM), subclassed window procedure (meaning intercepted window messages) and translated the "wrong" ones using SendInput().

Also, it had been noted that the following fix is worth applying even with my solution: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/.

So, the source code and executables (they are only supporting Workstation, read further for Player, in "UPDATE") - ask in comment if you didn't find something - are on https://dl.dropboxusercontent.com/u/16718699/vmware_scroll.zip.

MAJOR REMARK: run the corresponding executable when a VM is running.

ANOTHER MAJOR REMARK: Don't move hook.dll and *.exe's after the scrolling has been turned on. If you start vmware_scroll_stop.exe from other location it won't unlload .dll (i.e. disable scrolling).

UPDATE: There is an enhanced version (it was enhanced by Anthony Prieur, big thanks to him!), which also supports VMware Player.

NOTE: There will be no version that supports horizontal scrolling, unfortunately. The thing is, there is a solution idea, but I rejected it as too dirty. To accomplish the task, one need to hook (in SynTPEnh.exe) GetClassNameW() API to modify VMware window classes' names (they are "VMware.GuestWindow" and "MKSEmbedded") or wcsicmp() to always return "not equal" when one of the argument is one of the mentioned strings. I think it's dirty solution from performance point of view, at least (that is actually a weak argument since performance penalty would be minimal). Anyway, current solution is acceptable, I think, since you don't always have device with horizontal scrolling capability and it's better to be accustomed to live without that luxury than to get suffering in poverty. BTW, in Chrome/Chromium you have Shift+Vertical Scroll to do horizontal scroll.

share|improve this answer
    
Just updated it! –  Andrew Zabavnikov Dec 4 '13 at 13:03
3  
this deserves an upvote! –  xiamx Dec 29 '13 at 19:34
    
@xiamx Is it working for you? I just received a feedback that it is not working for Player (maybe little modification is required). Maybe it is question of also applying this fix blog.alexou.net/2010/07/… –  Andrew Zabavnikov Dec 30 '13 at 9:23
    
yeh it's working perfectly. And it also works for other input devices with userland drivers (logitech T650). Although I recompiled it myself since I only have v110 toolset. Can you put it on github? so those who needs to have it to work with Player can modify it themselves –  xiamx Dec 30 '13 at 16:13
    
@xiamx ok, i'll do it in a few days. Just didn't bother to deal with GitHub while working on version that will support horizontal scrolling. –  Andrew Zabavnikov Dec 30 '13 at 21:25

Many people have complained regarding this problem, and feature requests have been submitted to Synaptics.

I have found one success report here. Although it is for Ubuntu, it seems to show that there is a solution to this problem.

I suggest that you try out the solutions outlined in the article below, for both host and guest:
Fixing Firefox Scrolling Problems with Dell Synaptics Touchpad

The article mentions two fixes:

  1. Remove Circular Scrolling option from the mouse properties
  2. Replace the Dell touchpad drivers by the Synaptics drivers

As the article says for the second one:

you can remove the Dell touchpad drivers and install the generic Synaptics ones, which work better for a lot of people — but they are missing some of the extra Dell features. As long as your touchpad does what you are expecting, it could be worth it.

I suggest to create a system restore point before changing the drivers, just in case.
You can also always rollback the driver from the Device Manager.

EDIT1

Some people report success when using the ALPS driver rather than Synaptics.
As says Alps Touchpad Driver for Windows 7 :

some Dell laptops do not have touchpads made by Synaptics. They have Alps touchpads. If you are not sure about what kind of touchpad you have, please see this post about identifying the correct model.

When I helped my user to upgrade his Inspiron 1420 to Windows 7, I used the driver for Vista. Here is the link to the download. This driver is for 32bit only. If this does not work for you, you can also try the driver for Windows 7. Here is the link. The second link provides both 32bit and 64bit drivers.

EDIT2

The following thread has some interesting info:
Problems with Synaptics touchpad not able to scroll in Guest OS (Windows XP)

The last entry in the thread says:

I have several colleagues who would like to use Vmware on laptops for support purposes. A few are trying Sun's Virtualbox, and others are trying Vmware. Scrolling works fine with Virtualbox, but SUN's committment to this type of product has burned folks in the past.

It seems like VMware simply doesn't care much about Synaptics, and your device is not well supported by it. Although this doesn't directly answer your question, I think that you will need to move to Virtualbox in order to get the touchpad working.

To sweeten the pill, see How to Convert a VMware to Virtualbox.

share|improve this answer
    
I already have the Synaptics driver (see above). The article is for one-finger scrolling (which also does not work and disabling Circular/Chiral has no effect) but I would be happy if I could use either option. The Ubuntu settings sound promising but how can I apply them in Windows? –  laktak Aug 6 '10 at 8:18
    
@chris: Most posts that I have found say that VMware simply does not support the Synaptics Touchpad as device, so that what you ask is impossible. I have anyway edited above one more approach that worked for some people. If it doesn't work, you can also try using another VM product than VMware. –  harrymc Aug 6 '10 at 8:46
    
@harrymc I'm pretty sure it's a Synaptics device but I can't find it on pcidatabase.com. The HW ids are "ACPI\DLL02EF" and "*DLL02EF". –  laktak Aug 9 '10 at 14:45
    
OK, maybe I am asking for the impossible but this has been annoying me for a long time. I was hoping there was a way to get this to work the same way a mousewheel is working (maybe with emulation). In any case if there is no solution I'll award you the points for all your help! –  laktak Aug 9 '10 at 14:51
    
@chris: Having nothing to lose, did you try the ALPS driver? See also this driver drivercure.com/driver/… and support.dell.com/support/downloads/… –  harrymc Aug 9 '10 at 16:11
up vote 1 down vote accepted

As there is currently no solution the only thing to do is to fill out a feature request at

http://www.vmware.com/contact/contactus.html?department=prod_request

Just paste the first two paragrahps from the question into the text field.

share|improve this answer

This solution seems good.

http://code.google.com/p/two-finger-scroll/

I've tested it, and it gives a whole lot of options to configure 1,2,3 figure touch and scroll.

share|improve this answer
    
Thanks. I hope this helps someone else as I have moved to a MacBook with VMware Fusion where everything works out of the box (and it has a better trackpad too). –  laktak Jan 28 '13 at 9:37

Synaptics' two-finger scrolling works with VMware's Unity mode (Player > Unity). I'm using this to run VS2013 in VMware Player with Windows 7 x64 as both host and guest OS.

share|improve this answer

protected by Community Sep 23 at 11:50

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.