I am using a Logitech G9 mouse and running VMWare Workstation 6.5.3 on Vista x64. The guest OS is Win XP, and has the most current version of VMWare Tools installed. Left / right buttons and mouse wheel scrolling work fine in the guest OS, but the back / forward buttons are apparently not recognized.

I have tried installing the Logitech software inside the guest OS as well, but it still did not recognize the back / forward buttons. (I didn't really expect this to work since the guest OS doesn't actually see the mouse hardware as a Logitech G9 directly anyway.)

I vaguely remember seeing something a while back about editing the virtual machine config file to specify a 5-button mouse rather than the default 3-button setup, but I can't seem to find any specifics on how to do so in the VMWare documentation. Does anyone know if such a workaround exists, or is 5-button mouse functionality just not supported?

link|improve this question
feedback

4 Answers

up vote 2 down vote accepted

After adding usb.generic.allowHID = TRUE to the vmx file, just enable USB for that VM and then go to the Hardware Manager (guest system) and "scan for hardware changes". New USB Devices will then be recognized by the VM and after that your back/forward buttons should work without deactivating the mouse in the host system.

link|improve this answer
Thanks! That seems to have worked perfectly for me. Not sure if I just never tried this or if something has been fixed in VMWare Workstation 7 (I just upgraded) but either way, thanks! – Tim Lara Dec 6 '09 at 18:04
feedback

It won't work directly. Because VMware only emulates 6 states with it's generic mouse. (left, right and middle mouse button, scroll wheel up, down, pressed)

But as a workaround you can use my tool I've just written in AutoIt for I really needed this function as well.

#include <Misc.au3>

$dll = DllOpen("user32.dll")

Opt("WinTitleMatchMode", 2)
Opt("TrayIconHide", 1)
$vm = WinWait("VMware Workstation")

While True
    If WinActive($vm) Then
        If _IsPressed("06", $dll) Then
            Send("{AltDown}{Right}")
            While _IsPressed("06", $dll)
                Sleep(1)
            WEnd
            Send("{AltUp}")
        ElseIf _IsPressed("05", $dll) Then
            Send("{AltDown}{Left}")
            While _IsPressed("05", $dll)
                Sleep(1)
            WEnd
            Send("{AltUp}")
        EndIf
    ElseIf _IsPressed("05", $dll) And _IsPressed("06", $dll) Then
        If MsgBox(1 + 262144, "Exit", "Do you really want to exit...?") == 1 Then ExitLoop
    EndIf
    Sleep(1)
WEnd

DllClose($dll)

Just compile this on your own with AutoIt or download the compiled executable from my webspace: http://jtmeyer.de/mousetool.exe This will wait for a window including "VMware Workstation" in it's Title and if any of the Thumb Mouse buttons are pressed (Code 05 + 06) the KeyCombination of Alt+Left/Alt+Right is pressed. If you press both buttons together the tool will exit if you confirm the appearing dialog box.

link|improve this answer
feedback

Add this parameter in your VM's VMX file.

usb.generic.allowHID = TRUE

Your buttons should now work - no installation of logitech software or anything required.

link|improve this answer
1  
Thanks - This setting does work, but with one caveat: You have to enable USB on the guest and then "connect" the mouse to the guest via the [VM --> Removable Devices] menu. This does enable the back / forward buttons, but it also disconnects the mouse from the host OS! Since I frequently switch back and forth between the guest and the host, this is not really a workable solution for me. If you were staying within the guest OS for extended periods of time, though it would work well. If there is no further workaround, I will probably still accept this answer as correct, though. – Tim Lara Sep 5 '09 at 3:15
feedback

For Windows host use AutoHotKey to change mouse button mapping:

 XButton1 :: !^+{NumpadLeft}
 XButton2 :: !^+{NumpadRight}

Then in guest OS map them back:

 !^+{NumpadLeft}  :: XButton1
 !^+{NumpadRight} :: XButton2
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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