额外的鼠标按钮无法在虚拟化中工作(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
Alt
出Virtual 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鼠标。
如果这样做,您的鼠标只能在虚拟机上运行,因此您需要知道启用和禁用的键盘快捷键,除非您有两个鼠标,或触摸板和鼠标,就像在笔记本中一样。
- 转到虚拟机文件夹并找到
.vmx
文件。 -
在记事本中编辑它并添加:
usb.generic.allowHID = "TRUE" usb.generic.allowHID = "TRUE" usb.generic.allowLastHID = "TRUE"
-
打开虚拟机并导航到
Virtual Machine > Removable Devices > [Your Mouse] > Connect (Disconnect from Host)
。 执行此操作时,鼠标只能在虚拟机上运行。 - 在虚拟机上安装logitech鼠标驱动程序/软件(如果需要,可以在所有步骤之前执行此步骤)
- 您可以按键盘上的Ctrl + G删除主机鼠标图标,让自己完全沉浸在VM中。
- 如果要再次在主机上使用鼠标,请按Ctrl + Alt ,然后释放,以便将焦点放在vmware播放器上,而不是虚拟机上。 现在您可以使用常规的Windows键盘快捷键。 在这种情况下,请按Alt + P打开vmware工作站播放器菜单,然后使用键盘箭头键导航到
Virtual Machine > Removable Devices > [Your Mouse] > Disconnect (Connect to Host)
。