关闭鼠标集成后,在客户操作系统中,我的鼠标和触摸板都会随机卡在不可见的随机放置的线上吗?

关闭鼠标集成后,在客户操作系统中,我的鼠标和触摸板都会随机卡在不可见的随机放置的线上吗?

我在两台不同的主机上都遇到了同一个 Windows 7 VM 的问题。无论我使用鼠标还是触摸板,子操作系统的光标都会毫无缘由地卡在一条水平或垂直的不可见线上。这种行为类似于位于屏幕边缘但无法越过该边缘。我发现这些线条的位置没有任何规律。此问题仅在关闭鼠标集成时发生,并且与子操作系统是否在全屏模式下运行程序无关。

我该如何诊断此问题的原因?我使用 Oracle VM VirtualBox Manager。第一个主机操作系统是 Ubuntu 18.04,第二个是 Xubuntu 20.04。子操作系统一直是 Windows 7。

答案1

这完全是瞎猜,但我有一个理论。

首先,我没有在 Linux 主机上使用 VirtualBox 的经验(但我在 macOS 主机上用过,有 Debian 和 Windows 7/10 客户机),而且我几乎总是打开鼠标集成,因为我个人没有遇到过问题。这一切都是基于对底层工作原理的猜测。

现在,免责声明已经说完了,接下来我要谈谈我的理论。在你的问题中,你说:

这种行为类似于位于屏幕边缘但无法越过该边缘。

你认为这可能不仅仅是巧合的类似行为,而是实际上确切地发生了什么?关闭鼠标集成后,您必须单击客户操作系统的窗口才能接管客户的光标,而主机的光标会消失。然后,要重新获得对主机光标的控制权,您需要按 meta 键,对吗?

如果 VirtualBox 只隐藏当你控制客人时,主人光标会移动,但不会锁定其位置。然后,它会喂主人游标的移动(但不是来自物理鼠标的数据)传送到客户操作系统,客户操作系统会相应地移动客户光标。与此同时,主机光标不可见,但仍在主机屏幕上移动。当不可见的主机光标碰到显示器边缘时,它会停止移动,但这不一定与客户虚拟显示器的边缘重合,因此您无法将客户光标进一步朝该方向移动。


好的,我们如何测试这是否正确?以下是一些可以尝试的想法:

  1. 在客户操作系统中重现该问题,停止移动鼠标,然后按 meta。现在,找到主机的光标,同时尽可能少地移动鼠标。它是否沿着显示器的边缘,对应于您无法移动鼠标的方向?

  2. 进入客户机的 Windows 设置,将光标速度调到最低。然后查看光标是否被限制在客户机操作系统中不可见的框内。

  3. 尝试将客户机的虚拟显示器窗口移动到主机屏幕的不同位置。查看主机显示器上是否有任何特定窗口位置更容易导致问题。我的第一个猜测是将窗口放在角落中更容易引起麻烦。


正如我所说,这完全是瞎猜,我认为有 99% 的可能性这是一个有趣的想法,但背后没有真正的事实。但如果这一点,可以让我们快速找到问题的根源。

答案2

这个问题好像和网上的几篇帖子有关。

帖子 Win 10 1903 鼠标集成问题 2019 年的一篇文章谈到了“幽灵光标”,其中似乎出现了第二个光标,并导致显示光标出现问题。看起来在显示光标和有效光标之间添加了偏移量。帖子中的解决方案是将光标的颜色更改为红色,这似乎会导致 VirtualBox 重新初始化光标位置并消除此偏移量。

我发现了 2017 年的一篇类似帖子,其中有更多有助于光标的操作:
如何修复鼠标光标与 VirtualBox Ubuntu Server 16.04.3 LTS VM 不同步的问题?

  • 调整 VirtualBox 窗口大小然后最大化它
  • 将虚拟机设置为全屏然后返回窗口模式
  • 确保 VirtualBox 鼠标定义为 PS/2。

总之,似乎任何导致鼠标或 VM 屏幕在新模式下重新计算的更改都可以消除 VirtualBox 以某种方式引入鼠标位置计算的偏移。

这肯定是 VirtualBox 的一个错误,您可以在 VirtualBox 论坛上报告它。然而,它似乎已经存在多年,并以多种形式报告过,但没有任何修复。

相关内容