Doghouse_Reilly
Contributor
Contributor

VM Mouse Driver Crippled?

Jump to solution

I'm otherwise happy with Fusion but, like every other virtualization solution ever created, it doesn't seem to recognize that mice now have more than two buttons. Is there any way, within Fusion, to enable the back/forward buttons on an MSFT mouse? Or even of making the "Snap To Default Dialog Choice" option work?

I'm assuming that using MSFT's own IntelliMouse software is out, because the driver expects to talk to the OS, not the VM.

Am I wrong? If not, and the Fusion driver is, in fact, so limited, what's the answer? I can't imagine that an object so literally essential to operating a computer (or VM) gets so little respect. All I want is the same functionality in one environment as the other--or as the original, non-VM version. Is that so hard?

Maccies have a useful phrase that also make a pretty fair target for any developer to shoot for:

It Just Works.

0 Kudos
1 Solution

Accepted Solutions
admin
Immortal
Immortal

Hey, I got a definitive answer from the relevant Fusion developers.

This is a bug in Fusion. It is not fixed in Fusion 1.1. FYI the reason I thought it would work was because the same trick (enabling the undocumented/"experimental" USB mouse support) does allow you to use more buttons in our Windows and Linux products (Workstation/Player for Windows/Linux) which share most of the same code. I know that's not of much interest or consolation to you.

Anyway, we're now tracking this bug internally. It should be relatively isolated and we'll try our best to get this fixed in the next Fusion release after 1.1 goes out the door.

If you're feeling really adventurous and/or desperate, you can take out the mouse.vusb.enable line and add this option instead:

usb.generic.allowHID = "TRUE"

Then, you'll notice that your main mouse and keyboard (if they are USB) are available to pass through into the guest via the USB devices menu.

The dangerous part here is that once you pass through the mouse, it is actually disconnected from the host, so you won't be able to ungrab from the guest just by mousing out of the Fusion window. You can still ungrab with the keyboard (ctrl-cmd I believe is the shortcut?). If you actually pass through your keyboard and your mouse, you'll be stuck in the guest and you'll have to shut it down (or worse, reboot your physical machine).

View solution in original post

0 Kudos
21 Replies
admin
Immortal
Immortal

A key point of virtualization is that the guest does not get to see the actual hardware. If you examine the mouse that the guest sees, it's a 2 button + scrollwheel PS/2 device, not your actual mouse, so your extra mouse buttons have nowhere to map to. You can connect the mouse directly to the guest, but it's a bit clunky - read and be sure you understand the drawbacks of doing this.

0 Kudos
Doghouse_Reilly
Contributor
Contributor

With all due respect, that's a non-responsive and somewhat patronizing answer. I have a layman's knowledge of VMs and how they work. But, hey, I'll play along, idiot that I am.

If you're saying the guest OS sees, by means of a driver, a notional PS/2 mouse with two buttons and one wheel, why not change the presumed virtual hardware to a notional FOUR-button mouse and wheel?

You know, like every blessed mouse made since 1995!

That way, the mapping is one-to-one for, you know, the 99-percent of us with mice that AREN'T, you know, old PS/2 mice.

IT'S ONLY SOFTWARE.

That's what makes the miracle of Fusion and every other VM product possible.

It is, however, mildly-patronizing-in-the-guise-of-being-helpful blather that really gets up a customer's nose. It smacks of having one's legitimateIt Just Worksexpectations "managed."

Try meeting them, instead. Or hell, why not? Try exceeding them.

0 Kudos
admin
Immortal
Immortal

Your request for more buttons is noted.

I'm confused about what sort of response would have satisfied you - I explained the current state of things, which you seem to have taken as a massive personal attack. You are correct, it would be entirely possible to emulate a mouse with more buttons. I don't know the exact challenges in doing so, but I do imagine it's more than just changing a "2" to a "4" somewhere.

0 Kudos
Rzn8tor
Enthusiast
Enthusiast

I've requested support for four buttons in the past, but I'll reiterate here. The OP was requesting a change in functionality, not a description of the current design.

Like everything else I suspect this feature is a matter of priority. Is there anyone else who cares about the extra buttons?

0 Kudos
admin
Immortal
Immortal

The OP asked if there was a way to use more buttons and whether the emulated mouse driver is limited in this fashion; I answered that is it not currently possible and explained the current limitations.

0 Kudos
Doghouse_Reilly
Contributor
Contributor

Bravo, Rzn8tor! Exactly. I'm asking for simple functionality. The kind any user sees, each and every moment of a computing day.

And Etung. I didn't take your response as a massive personal attack. I took it as non-responsive and mildly patronizing. Simple.

That said, I am vehement about the little things that make owning a product frustrating, instead of delightful.

I understand that redoing the Murine functionality may take more than changing a "2" to a "4" in an LOC. But we're talking about some of the slickest programmers in the known universe. Making VMs and emulators ain't beanbag, after all.

And of course it comes down to priorities. I'd only hope that somebody at VMWare (maybe you?) understands that fixing unglamorous-but-visible crap like virtual mouse drivers can matter more than the neatest bit-flipping trick, deep under the hood. It is, after all, what the customer sees.

To do otherwise lends the daily impression, odd as it sounds to somebody who knows things from the inside, that VMWare might not be competent on the BIG stuff.

It's like wearing a five-thousand dollar tuxedo with the fly open.

0 Kudos
admin
Immortal
Immortal

I believe this is fixed in Fusion 1.1. If you don't want to upgrade to the RC, you can add this option to your VM's config file (the .VMX file inside the VM bundle) and you should get what you want:

mouse.vusb.enable = "TRUE"

This option will enable a virtual USB mouse which our backend emulation will use preferentially over the virtual PS/2 mouse. The virtual USB mouse should pass through up to 6 buttons.

A note of caution: the above option is not officially supported in Fusion 1.0, but it should work fine for what you want.

Doghouse_Reilly
Contributor
Contributor

Tried it once and failed. Device manager still reports one HID compliant mouse on tree and VMWare's PS/2 mouse. Disabling the HID item kills the mouse, BTW. Any clues? Is the (mouse.vusb.enable = "TRUE") entry position-dependent?

Thanks for chiming in.

0 Kudos
Doghouse_Reilly
Contributor
Contributor

Well, still no joy. Even tried enabling "make USB HID visible" using VMX Extras. All that did was utterly freeze my mouse on guest AND host when I clicked the Microsoft Intellimouse USB icon at the bottom of the Fusion window. Obviously that ain't it.

No matter what I do, Fusion ALWAYS loads the VMWare PS/2 mouse.

Oh and I AM running 1.1rc1. Using Vista 32 as the guest, BTW, on a Mac Pro.

So what now? Any other tricks?

Again thanks, and again, nothing personal. I just hope things like thisall the fit and finish stuffget fixed well, and fixed soon. Raw horsepower's necessary, but not sufficient. Just ask a Pontiac GTO driver, and the thousand others who were put off by the cheezy interior. Smiley Wink

0 Kudos
Doghouse_Reilly
Contributor
Contributor

Here's my VMX file:

  1. Edited with VMX Extras 0.2007.07.04

config.version = "8"

deploymentPlatform = "windows"

displayName = "Windows Vista"

ehci.pciSlotNumber = "34"

ehci.present = "TRUE"

ethernet0.addressType = "generated"

ethernet0.connectionType = "nat"

ethernet0.generatedAddress = "00:0c:29:5f:d9:31"

ethernet0.generatedAddressOffset = "0"

ethernet0.pciSlotNumber = "32"

ethernet0.present = "TRUE"

ethernet0.virtualDev = "e1000"

ethernet0.wakeOnPcktRcv = "FALSE"

extendedConfigFile = "Windows Vista.vmxf"

floppy0.clientDevice = "FALSE"

floppy0.fileName = ""

floppy0.fileType = "file"

floppy0.present = "FALSE"

floppy0.startConnected = "FALSE"

guestOS = "winvista"

ide1:0.deviceType = "cdrom-raw"

ide1:0.fileName = "cdrom0"

ide1:0.present = "TRUE"

isolation.tools.hgfs.disable = "TRUE"

MemAllowAutoScaleDown = "FALSE"

memsize = "2192"

mouse.vusb.enable = "TRUE"

nvram = "Windows Vista.nvram"

pciBridge0.pciSlotNumber = "17"

pciBridge0.present = "TRUE"

powerType.powerOff = "soft"

powerType.powerOn = "soft"

powerType.reset = "soft"

powerType.suspend = "soft"

RemoteDisplay.vnc.port = "0"

scsi0.pciSlotNumber = "16"

scsi0.present = "TRUE"

scsi0.virtualDev = "lsilogic"

scsi0:0.fileName = "Windows Vista.vmdk"

scsi0:0.present = "TRUE"

scsi0:0.redo = ""

sharedFolder.maxNum = "1"

sharedFolder.option = "onetimeEnabled"

sharedFolder0.enabled = "FALSE"

sharedFolder0.expiration = "never"

sharedFolder0.guestName = "marshall On My Mac"

sharedFolder0.hostPath = "/Users/marshall"

sharedFolder0.present = "TRUE"

sharedFolder0.readAccess = "TRUE"

sound.autodetect = "TRUE"

sound.fileName = "-1"

sound.pciSlotNumber = "33"

sound.present = "TRUE"

tools.syncTime = "FALSE"

tools.upgrade.policy = "upgradeAtPowerCycle"

usb.present = "TRUE"

uuid.bios = "56 4d 09 04 0e 0f a4 3f-97 e4 68 71 b7 5f d9 31"

uuid.location = "56 4d 09 04 0e 0f a4 3f-97 e4 68 71 b7 5f d9 31"

virtualHW.productCompatibility = "hosted"

virtualHW.version = "6"

0 Kudos
admin
Immortal
Immortal

The vmx file is not sorted; position doesn't matter. Since you're seeing the HID compliant mouse, I think the config file option worked (this item didn't appear in my tree before I added the setting).

Rzn8tor
Enthusiast
Enthusiast

I believe this is fixed in Fusion 1.1.

I'm running 1.1 and it still doesn't appear to work. What do I need to do to activate this feature?

0 Kudos
Doghouse_Reilly
Contributor
Contributor

Make that two of us. The PS/2 mouse is still being used, not the newly-appeared HID Compliant Microsoft 2006-dated-driver device. What's more, every effort to remove the PS/2 mouse using Device Manager fails. The Cat Came Back.

So it appears that merely making a USB mouse appear in the Device Tree isn't enough. What next, guys?

0 Kudos
Doghouse_Reilly
Contributor
Contributor

BTW, it appears BOTh mice HID-USB and PS/2 are using the same driver. Could that be why I'm seeing no functional difference? And why is the PS/2 device ineradicable? The "Disable Device" option is grayed-out in Device Manager. File protection gone awry?

0 Kudos
admin
Immortal
Immortal

The presence of the VMware PS/2 mouse should have no effect on the behavior of the USB mouse.

I'm guessing the problem is that we're not actually capturing all six buttons on the host correctly. But I don't actually work on Fusion, and I don't own a Mac to try this out for myself. I've e-mailed the Fusion guys who worked on this to see whether there's something else you can do.

0 Kudos
Doghouse_Reilly
Contributor
Contributor

Thanks for the Sunday effort. It is appreciated.

0 Kudos
admin
Immortal
Immortal

Hey, I got a definitive answer from the relevant Fusion developers.

This is a bug in Fusion. It is not fixed in Fusion 1.1. FYI the reason I thought it would work was because the same trick (enabling the undocumented/"experimental" USB mouse support) does allow you to use more buttons in our Windows and Linux products (Workstation/Player for Windows/Linux) which share most of the same code. I know that's not of much interest or consolation to you.

Anyway, we're now tracking this bug internally. It should be relatively isolated and we'll try our best to get this fixed in the next Fusion release after 1.1 goes out the door.

If you're feeling really adventurous and/or desperate, you can take out the mouse.vusb.enable line and add this option instead:

usb.generic.allowHID = "TRUE"

Then, you'll notice that your main mouse and keyboard (if they are USB) are available to pass through into the guest via the USB devices menu.

The dangerous part here is that once you pass through the mouse, it is actually disconnected from the host, so you won't be able to ungrab from the guest just by mousing out of the Fusion window. You can still ungrab with the keyboard (ctrl-cmd I believe is the shortcut?). If you actually pass through your keyboard and your mouse, you'll be stuck in the guest and you'll have to shut it down (or worse, reboot your physical machine).

View solution in original post

0 Kudos
admin
Immortal
Immortal

Doghouse already tried usb.generic.allowHID = "TRUE", which for some reason resulted in the loss of mouse control in the guest (loss on the host is expected).

0 Kudos
Doghouse_Reilly
Contributor
Contributor

>>Hey, I got a definitive answer from the relevant Fusion developers.

This is a bug in Fusion. It is not fixed in Fusion 1.1.<<

Thanks, Ramesh. That answers it.

I'm presuming, then, that it will be fixed fairly soon and it MIGHT be fixed by 1.1 GM? A safe presumption?

0 Kudos