获取主机以捕获VirtualBox中的某些按键


48

我在Windows XP的Ubuntu 9.10上使用VirtualBox作为来宾OS。

令人烦恼的是,当我在客户机操作系统中时-我无法通过按Control+ Alt+(Left| Right| Up| Down)在主机(Ubuntu)上切换虚拟桌面(工作区),因为VirtualBox会捕获这些键组合。

是否可以为某些组合键禁用键盘捕获功能?

Answers:


27

虽然有一些可以激活某些VirtualBox功能的主机密钥快捷方式(例如Host Key+ P可以使Guest暂停),但我不知道有什么方法可以配置VirtualBox将主机密钥快捷方式发送到主机操作系统。

但是,由于VirtualBox具有开放源代码版本,因此可以修改源代码以添加此功能。您可以通过下载链接访问VirtualBox源代码。

同时,您可以使用主机密钥从VirtualBox Guest的控件中释放键盘。默认情况下,主机密钥设置为Right Ctrl。您可以在VM窗口中看到当前的主机密钥:

替代文字

只需按一次主机键即可释放键盘捕获。之后,您的主机操作系统将看到您的按键。因此,这是您的工作流程:

  1. 按下并释放主机密钥。您的来宾操作系统不再捕获按键。
  2. Ctrl+ Alt+(箭头键)切换工作空间,或要发送到主机OS的任何其他键。

很好...但是[Left Ctrl] + [Alt]也不起作用...完全不依赖主机键,VBox捕获所有按键。
亚历山大·史密诺夫

对不起,我没听懂你的问题;我以为您在XP主机上有一个Ubuntu来宾。更新了答案。
quack quixote 2010年

1
好的,谢谢,我希望我能抽出一点时间来研究一下以添加此功能
Alexander Smirnov

@quack Gaff如果在其中自定义源代码。容易重建vmware以使用它吗?在MacOS上?
momomo

15

这个问题很老,但是我找到了一个更好的解决方案,那时可能还不存在。

您可以在管理器窗口->文件菜单->首选项->输入中禁用“自动捕获键盘”:

在此处输入图片说明

这将完全禁用自动键盘抓取功能,因此窗口管理器的绑定将直接传递给它。

在这种模式下,“主机”键具有相反的效果-它启用抓取而不是禁用它。


9
这样做的缺点是,现在您需要记住在使用Alt + Tab之类的功能之前要启用键盘捕获功能。Virtualbox确实确实需要一种方法来映射和禁用来宾内部的键盘快捷键。
2014年

1
很棒!我不明白为什么此设置不是特定于机器的。
Franck Dernoncourt,2014年

事实证明,这实际上是一个很好的解决方案,如果您使用来宾计算机来运行您正在主机上开发的代码,甚至是GUI代码。如果您没有在来宾计算机上最大化GUI并使打开代码运行的术语/ cmd保持打开状态,则可以像通常在主机窗口中那样悬停/单击要键入的窗口(单击以聚焦)可以在Windows中禁用!)。Alt + Tab在VirtualBox和主机窗口之间切换,并且切换工作空间的键盘快捷键可能会起作用(我的配置为Super + arrow和Super + number,因此我无法测试Ctrl + Alt + arrow)。
Michael Scheper

5

按下一次主机键(right-ctrl)可以使下一个组合键进入主机。

对我来说,这意味着我可以按右键,释放,然后按Windows +左键+左键切换桌面


1
这实际上并不是禁用某些组合键的键盘捕获功能,此答案作为注释会更好。
不要在这里扎根...

确认适用于相反的组合:Windows 7主机+ Ubuntu 16.04 guest。
jpaugh

1

通过将主机密钥设置为密钥,我非常有效地进行了管理Win!在Windows 10上,您需要Ctrl+ Win+ Arrows来切换桌面,并且将其设置Win为主机密钥可以使您直接在主机OS上执行组合,但仍可以在VM上捕获Ctrl+ C等其他组合。


0

在Windows 10 Pro 1803(VirtualBox中带有Windows 7 VM)中,按主机键,然后按“主机”键盘快捷键中的任意一个也对我有效。根据Curtis的建议,这使我从“捕获的” VM开始,只需最少的键盘操作即可切换桌面。

看来,如果主机键包含Windows键,则在进入“主机”键盘模式之前,这往往会弹出Windows 7开始菜单,因此我将主机键更改为Ctrl-Shift-Alt,这是单手操作,那么我可以使用两个快捷键来切换桌面。


0

我有同样的问题,只能通过以下方式解决

  • 首先Auto Capture KeyboardFile / Preferences / InputVirtualBox菜单中禁用(默认情况下已启用)
  • 重启虚拟机
  • 再次启用 Auto Capture Keyboard
  • 重启虚拟机

我想VirtualBox中有一个错误会忽略初始设置。

注意:禁用该选项后,我第一次尝试解决该问题时重新启动,认为这是解决方案(因为通常会建议这样做)。它没有用,所以我再次启用了它,这很好。因此,我不确定第一步是否完全必要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.