在最终下定决心从 18.04 升级到 20.04 之后,我认为我遇到了第一个障碍:
- 双指触摸板滚动(Thinkpad X1)Win10 客户端变得非常不稳定/无法使用(Ubuntu 20.04 主机)。
- 与触摸板相比,使用 USB 鼠标滚轮滚动效果良好/正常/流畅。
- Win10 Guest 上的 Guest Additions 已安装。
谷歌目前已找到两个相关结果:
- https://forums.virtualbox.org/viewtopic.php?f=7&t=93857&start=15和
- https://ubuntuforums.org/showthread.php?t=2444679。
不幸的是,前者提出的解决方案(QT_XCB_NO_XI2=1 VirtualBox
在终端运行)对我来说还没有起到作用...后者还没有提供(错误?)修复/解决方案,而只是提供了问题的确认。
怎么修?
这是建议的解决方案来自上面的数字 1.(这对我来说似乎不起作用):
问题是客户机没有接收到 XInput2 平滑滚动事件。
要查看此信息,请通过以下方式在主机和客户机上监听 XInput2 事件:
xinput --test-xi2
滚动时,只有按钮按下和按钮释放主机生成的事件将由客户端接收。平滑滚动 运动永远不会收到事件。这就是为什么滚动力度大时可以允许一些滚动工作,因为这是唯一一次 按钮按下和按钮释放事件由主机生成。
要解决此问题,您可以在
QT_XCB_NO_XI2=1
设置环境变量的情况下运行 VirtualBox。这将禁用 QT 对 XInput2 的使用,并使其恢复使用原始 XInput 滚动行为。换句话说,要解决此问题,您可以从终端运行QT_XCB_NO_XI2=1 VirtualBox
这是因为对于原始 XInput 客户端,X 服务器只需使用按钮按下和 按钮释放事件,目前这些事件能够被 VirtualBox 客户机接收。