HID Passthrough in VMware Fusion

This article is also available in: 中文

I recently bought a keyboard, which is all nice except that it requires a Windows environment to update the firmware. If you try connecting the keyboard directly to a Windows VM in VMware Fusion via USB, you’d be disappointed to find out that they were not even shown in the device list.

The reason behind it is actually valid: since human interface devices (HID) being assigned directly to the VM could result in losing control to the host OS, thus HID passthrough was disabled by default. VMware does provide a KB article to guide you on how to enable it. But after some testing, seems in the latest version of VMware Fusion (12.2.3 and Public Tech Preview 21H1), doing so not only won’t get you the result you want, it will actually prevent it.

How to Enable HID Passthrough

  1. Quit Fusion completely.
  2. Edit the file /Library/Preferences/VMware Fusion/config (requires admin privileges). Create one if it wasn’t existed already.
  3. Add the following lines to the config file:
    usb.generic.allowHID = "TRUE"
    usb.generic.allowLastHID = "TRUE"

    If you wish to passthrough USB cameras, you can also add the following line:

    vusbcamera.passthrough = "TRUE"
  4. Save the file and relaunch Fusion.

This will essentially enable USB HID passthrough for all your VM. If the HID devices still are not there, check the .vmx file if the above lines were there and remove them.

Screenshot HID devices can now be connect to VM directly.

Note that once you did, you will have to disconnect them physically in order to disconnect them from the VM.

Other Usage

Since the HID device is in passthrough mode, USB security key devices can now be used for Windows Hello in the VM.