Obtendo o host para capturar determinadas teclas pressionadas no VirtualBox


48

Estou usando o VirtualBox no Ubuntu 9.10 com o Windows XP como sistema operacional convidado.

É muito chato que, quando estou no SO convidado - não posso alternar áreas de trabalho virtuais (áreas de trabalho) no host (Ubuntu) pressionando Control+ Alt+ ( Left| Right| Up| Down) porque o VirtualBox captura essas combinações de teclas.

É possível desativar a captura de teclado para algumas combinações de teclas?

Respostas:


27

Embora existam alguns atalhos da chave do host que ativam determinadas funções do VirtualBox (por exemplo, Host Key+ Pque interrompe o convidado), não conheço nenhuma maneira de configurar o VirtualBox para enviar atalhos da chave do host para o sistema operacional host.

No entanto, como o VirtualBox tem uma edição de código aberto , pode ser possível modificar o código-fonte para adicionar esse recurso. Você pode acessar o código fonte do VirtualBox no link Download .

Enquanto isso, você pode usar a tecla Host para liberar o teclado do controle do VirtualBox Guest. Por padrão, a Chave do Host está definida como Right Ctrl. Você pode ver a chave do host atual na janela da VM:

texto alternativo

Basta pressionar a tecla Host uma vez para liberar a captura do teclado. Depois disso, o seu SO Host verá as teclas pressionadas. Então aqui está o seu fluxo de trabalho:

  1. Pressione e solte a tecla Host. O sistema operacional convidado não captura mais as teclas pressionadas.
  2. Pressione Ctrl+ Alt+ (tecla de seta) para alternar entre os espaços de trabalho ou qualquer outra tecla que você deseja enviar para o sistema operacional host.

Seria bom ... Mas [Ctrl esquerdo] + [Alt] também não funciona ... Não depende da tecla do host, o VBox captura todas as teclas pressionadas.
Alexander Smirnov

desculpe, eu interpretei mal sua pergunta; Eu pensei que você tinha um convidado Ubuntu em um host XP. atualizou a resposta.
quack quixote

1
Ok, obrigado. Espero encontrar tempo para uma pequena investigação para adicionar esse recurso.
Alexander Smirnov

@ Quack Gaff Se você quiser personalizar o código fonte. seria fácil reconstruir o vmware para usá-lo? em um macos?
momomo

15

Esta pergunta é antiga, mas encontrei uma solução melhor que provavelmente não existia naquela época.

Você pode desativar o "Teclado de captura automática" na janela do gerenciador -> menu Arquivo -> Preferências -> Entrada:

insira a descrição da imagem aqui

Isso desativa completamente a captura automática do teclado, para que as combinações de teclas do gerenciador de janelas sejam passadas diretamente a ele.

Nesse modo, a tecla 'host' tem o efeito oposto - ela permite agarrar em vez de desativá-la.


9
A desvantagem disso é que agora você precisa se lembrar de ativar a captura de teclado antes de usar coisas como Alt + Tab. O Virtualbox realmente precisa de uma maneira de mapear e desativar os atalhos de teclado dentro do convidado.
stackular

1
Funciona bem! Não consigo entender por que essa configuração não é específica da máquina.
Franck Dernoncourt #

Acontece que essa é realmente uma solução muito boa, se você estiver usando a máquina convidada para executar o código que está desenvolvendo na máquina host, até o código da GUI. Se você não maximizar a GUI na máquina convidada e manter o termo / cmd para executar o código aberto, poderá passar o mouse / clicar nas janelas que deseja digitar, como faria normalmente nas janelas do host (clique para focar pode ser desativado no Windows!). Alt + Tab alterna entre o VirtualBox e as janelas do host, e os atalhos do teclado para alternar áreas de trabalho provavelmente funcionarão (os meus estão configurados como seta Super + e número Super +, portanto, não posso testar as teclas Ctrl + Alt +).
Michael Scheper

5

Pressionar a tecla host (ctrl-direito) aparece uma vez para permitir que a próxima combinação de teclas vá para a máquina host.

Para mim, isso significa que eu posso clicar com a tecla Ctrl direita, soltar e depois com as teclas Windows + Left-Ctrl + Left para mudar de área de trabalho


1
Na verdade, isso não está desativando a captura do teclado para algumas combinações de teclas; essa resposta seria melhor como um comentário.
Não faça root aqui plz ...

Confirmado para funcionar com a combinação oposta: host do Windows 7 + convidado Ubuntu 16.04.
jpaugh

1

Eu gerenciei com muita eficiência, definindo a chave do host como a Winchave! No Windows 10, você precisa Ctrl+ Win+ Arrowspara alternar as áreas de trabalho, e definir Wincomo chave do host permite executar a combinação diretamente no sistema operacional host, mas ainda capturar na VM a outra combinação como Ctrl+ Cetc.


0

No Windows 10 Pro 1803 (com uma VM do Windows 7 no VirtualBox), pressione a tecla host e, em seguida, o atalho de teclado "host" também funciona para mim. Isso me permite o número mínimo de ações somente de teclado para alternar entre áreas de trabalho, iniciando em uma VM "capturada", conforme sugestão de Curtis.

Parece que, se a tecla do host incluir a tecla Windows, isso tende a abrir o menu Iniciar do Windows 7 antes de entrar no modo de teclado "host", então mudei a tecla do host para Ctrl-Shift-Alt, que é compatível com apenas uma mão , então posso usar os atalhos de duas mãos para alternar as áreas de trabalho.


0

Eu tive o mesmo problema e só consegui resolvê-lo

  • primeiro desabilitando o Auto Capture Keyboard(que foi ativado por padrão), no File / Preferences / Inputmenu do VirtualBox
  • reinicializando a VM
  • permitindo novamente Auto Capture Keyboard
  • reinicializando a VM

Suponho que exista um erro no VirtualBox que ignore as configurações iniciais.

Nota: Reiniciei depois de desativar a opção, na primeira vez que tentei resolver o problema, pensando que esta era a solução (já que é frequentemente sugerida). Não funcionou, por isso ativei novamente e tudo bem. Portanto, não tenho certeza de que esta primeira etapa de reinicialização seja totalmente necessária.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.