额外的鼠标按钮无法在虚拟化中工作(VMware / VirtualBox,ubuntu主机)

我正在尝试在Ubuntu上运行VMware Workstation和/或VirtualBox。 除了额外的鼠标按钮(前进/后退)之外,虚拟机在两个应用程序中都能正常运行。 在Ubuntu中,鼠标按钮都可以正常工作。

虚拟化应用程序:VMware Workstation 10.0.1,最新的VirtualBox

我作为主机测试的Ubuntu版本:12.04,13.10,14.04 beta

测试的客户操作系统:Windows 7,实时模式下的几个Linux操作系统

我测试的小鼠(全部带侧按钮):罗技M510(统一接收器),老Razer Copperhead,无名小鼠

我已经尝试了很多在线发现的解决方案,例如在VMware WS上更改.vmx中的鼠标设置(mouse.vusb.enable,…),更改VMware / VirtualBox上的输入设置,在客户操作系统上重新安装访客工具,…

我认为这是Ubuntu中的一个问题,而不是虚拟化应用程序中的问题。 有人有解决方案吗?

可能的解决方法:

编辑VM的.vmx文件后添加

mouse.vusb.enable = "TRUE" mouse.vusb.useBasicMouse = "FALSE" usb.generic.allowHID = "TRUE" 

您将能够在VM中使用五键鼠标。 为此,请打开VM,然后导航到Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host) 。 您将收到一些警告,表示您将无法再使用主机,只需单击“确定”即可。

现在,您只能在VM中使用鼠标,无论是全屏还是窗口模式。 Ctrl-G键盘上的Ctrl-G可以摆脱主机鼠标图标,让自己完全沉浸在虚拟机中。 在VM外部再次需要鼠标后, Ctrl+Alt ,然后释放。 现在重点回到您的主机操作系统。 按住Alt并按V AltVirtual Machine菜单,然后使用箭头键导航到Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host)

现在一切都恢复正常了。 希望很快Ubuntu或VMWare播放器中的某些内容会发生变化,以使其更容易实现。

要在VMware下使用额外的鼠标按钮,请编辑configfile.vmx(附加以下行):

 mouse.vusb.enable = "TRUE" mouse.vusb.useBasicMouse = "FALSE" 

以上设置将启用具有20个按钮的虚拟vmware鼠标。 但是,在某些情况下,vmware不会将到达主机的鼠标事件映射到正确的guest事件。

究竟为什么它无法发送正确的鼠标事件是一个不被涵盖的好问题。

在guest虚拟机操作系统中启动并运行以下命令。 运行xev | grep -i "button" xev | grep -i "button"在终端中。 移动到衍生窗口,单击要分配的按钮或交换一次。 xev输出已注册的鼠标事件,在许多情况下,应该是例如额外的鼠标按钮。 鼠标按钮8或9作为鼠标按钮事件16或17被接收。

鼠标按钮事件的重新分配可以通过例如完成。 xinput ,以下使得deviceID 8具有用作鼠标8的鼠标按钮16,以及用作鼠标9的鼠标17。

 xinput set-button-map 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 9 

您无法在VirtualBox和VMware中模拟超过3个按钮。 这是因为它向客户系统提供(超级)标准3键鼠标。 如果他们喜欢就可能,但现在答案是否定的。


那么,为什么它适用于Windows? 因为Linux和Windows实现遵循不同的路线图,并且“每个前端都有自己的鼠标输入方式”( 来源 )。 这可以在超级用户的另一个问题中看到

我尝试了所有这些,我的戴尔XPS 13,Windows 10,VMware Player 12,客户Ubuntu 14.04上的修复很简单

启动控制面板,更改鼠标设置,鼠标和键盘中心,Microsoft鼠标设置,滚轮按钮。 设置为鼠标中键而不是默认的即时查看器。

这允许在Ubuntu中鼠标点击复制和粘贴..

詹姆士

在Windows 10主机上测试(在ubuntu上应该是相同的),VMware工作站播放器12,使用罗技m510鼠标。

如果这样做,您的鼠标只能在虚拟机上运行,​​因此您需要知道启用和禁用的键盘快捷键,除非您有两个鼠标,或触摸板和鼠标,就像在笔记本中一样。

  1. 转到虚拟机文件夹并找到.vmx文件。
  2. 在记事本中编辑它并添加:

     usb.generic.allowHID = "TRUE" usb.generic.allowHID = "TRUE" usb.generic.allowLastHID = "TRUE" 
  3. 打开虚拟机并导航到Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host) 。 执行此操作时,鼠标只能在虚拟机上运行。

  4. 在虚拟机上安装logitech鼠标驱动程序/软件(如果需要,可以在所有步骤之前执行此步骤)
  5. 您可以按键盘上的Ctrl + G删除主机鼠标图标,让自己完全沉浸在VM中。
  6. 如果要再次在主机上使用鼠标,请按Ctrl + Alt ,然后释放,以便将焦点放在vmware播放器上,而不是虚拟机上。 现在您可以使用常规的Windows键盘快捷键。 在这种情况下,请按Alt + P打开vmware工作站播放器菜单,然后使用键盘箭头键导航到Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host)