将鼠标光标移出虚拟机后,该虚拟机中的键盘输入将被停止

将鼠标光标移出虚拟机后,该虚拟机中的键盘输入将被停止

我在窗口模式或多屏幕上使用 VMware Workstation Player 12 时遇到输入问题。在虚拟机中输入内容并将鼠标光标移出虚拟机而不单击任何内容时(例如在第二个带有主机操作系统的屏幕上),虚拟机中的输入会停止,直到我将光标移回虚拟机。

是否可以以某种方式禁用此功能,以便即使光标在虚拟机之外我也可以在虚拟机中输入?

客户机和主机都是Win10 x64操作系统。

答案1

从技术上来说可以,但实际上并非如此。

当您将鼠标光标移出客户屏幕时,您就从虚拟机中取消抓取(释放输入)。将鼠标光标移出虚拟机的全部目的是告诉它您不再希望将输入直接发送到虚拟机。想象一下,如果您可以移出鼠标光标,但虚拟机仍然接受键盘输入:您将鼠标光标移出,单击其他窗口,开始输入,然后键盘将转到虚拟机,而不是您刚刚单击的窗口。这听起来非常令人困惑。(如果您不打算单击其他窗口,那么为什么要将鼠标光标移出虚拟机?)

话虽如此,你可以将第二个 USB 键盘连接到主机,然后将其作为 USB 设备连接到 VM,这样您的 VM 就会有自己的专用键盘。(请注意,执行此操作需要设置:

usb.generic.allowHID = "TRUE"
usb.generic.allowLastHID = "TRUE"

首先在虚拟机的.vmx文件中,以便 USB 键盘和鼠标被视为通用 USB 设备。请参阅https://kb.vmware.com/kb/1033435更多细节。)


现在,也许你实际上并不想将鼠标光标移出虚拟机。也许你只是想让它不碍事,并试图将它移到屏幕的一角,但你偶然将其移出虚拟机。如果是这种情况,那么在 Workstation 中,您可以通过转到“编辑”>“首选项”>“输入”>“光标”并取消选中“自动抓取和取消抓取鼠标”来避免这种情况。Player 不提供用于更改此首选项的 UI,但 Player 使用相同的首选项文件,因此您可以通过关闭所有 Player 实例并添加以下行来手动编辑首选项文件(%APPDATA%\VMware\preferences.ini在 Windows 主机上,在 Linux 上):~/.vmware/preferences

pref.motionUngrab = "FALSE"

或者,如果您只是希望只要 VMware Workstation 或 Player 窗口处于焦点状态,键盘输入就会自动进入客户机,而不管鼠标在哪里,您可以启用按键抓取但请注意,这将自动将鼠标光标移回客人体内,因为从客人的角度来看,它需要某处在屏幕上。

答案2

我知道你正在使用 VMWare Workstation,但不幸的是,该软件似乎在像其他窗口一样运行方面受到限制。你认为这是更直观的行为,这并不奇怪。

如果可以的话,另一种解决方案是使用另一个 VM 主机。我最近一直在使用的 Oracle VirtualBox 的工作方式与您和我期望的一样。OnMouseLeave 不会将输入从 VM 转移出去,除非您单击外部。

您也不必额外单击鼠标再次进入虚拟机。

相关内容