Conseguir que el host capture ciertas pulsaciones de teclas en VirtualBox


48

Estoy usando VirtualBox en Ubuntu 9.10 con Windows XP como sistema operativo invitado.

Es bastante molesto que cuando estoy en el sistema operativo invitado, no puedo cambiar los escritorios virtuales (espacios de trabajo) en el host (Ubuntu) presionando Control+ Alt+ ( Left| Right| Up| Down) porque VirtualBox captura esas combinaciones de teclas.

¿Es posible deshabilitar la captura de teclado para algunas combinaciones de teclas?

Respuestas:


27

Si bien hay algunos métodos abreviados de teclas de host que activan ciertas funciones de VirtualBox (por ejemplo, Host Key+ Pque detiene al invitado), no conozco ninguna forma de configurar VirtualBox para enviar accesos directos de teclas de host al sistema operativo host.

Sin embargo, dado que VirtualBox tiene una edición de código abierto , es posible modificar el código fuente para agregar esta función. Puede acceder al código fuente de VirtualBox en el enlace de descarga .

Mientras tanto, puede usar la tecla de host para liberar el teclado del control de VirtualBox Guest. Por defecto, la clave de host está configurada en Right Ctrl. Puede ver la clave de host actual en la ventana de VM:

texto alternativo

Simplemente presione la tecla Host una vez para liberar la captura del teclado. Después de eso, su sistema operativo host verá sus pulsaciones de teclas. Así que aquí está tu flujo de trabajo:

  1. Presione y suelte la tecla Host. Su sistema operativo invitado ya no captura pulsaciones de teclas.
  2. Presione Ctrl+ Alt+ (tecla de flecha) para cambiar los espacios de trabajo o cualquier otra tecla que desee enviar al sistema operativo host.

Sería bueno ... Pero [Ctrl Izquierda] + [Alt] no funciona también ... No depende en absoluto de la tecla host, VBox captura todas las pulsaciones de teclas.
Alexander Smirnov

lo siento, leí mal tu pregunta; Pensé que tenías un invitado Ubuntu en un host XP. Se actualizó la respuesta.
quack quijote

1
Ok, gracias, espero encontrar tiempo para una pequeña investigación para agregar esta característica
Alexander Smirnov

@quack Gaff Si uno donde personalizar el código fuente. ¿sería fácil reconstruir vmware para usarlo? en un macos?
momomo

15

Esta pregunta es antigua, pero encontré una solución mejor que probablemente no existía en ese entonces.

Puede deshabilitar "Teclado de captura automática" en la ventana del Administrador -> Menú Archivo -> Preferencias -> Entrada:

ingrese la descripción de la imagen aquí

Esto deshabilita la captura automática del teclado por completo, por lo que las combinaciones de teclas del administrador de ventanas se pasan directamente a él.

En este modo, la tecla 'host' tiene el efecto contrario: permite agarrar en lugar de deshabilitarla.


99
La desventaja de esto es que ahora debe recordar habilitar la captura del teclado antes de usar cosas como Alt + Tab. Virtualbox realmente necesita una forma de mapear y deshabilitar los atajos de teclado dentro del invitado.
stackular

1
¡Funciona genial! Sin embargo, no entiendo por qué esta configuración no es específica de la máquina.
Franck Dernoncourt

Resulta que esta es realmente una buena solución, si está utilizando la máquina invitada para ejecutar el código que está desarrollando en la máquina host, incluso el código GUI. Si no maximiza la GUI en la máquina invitada y mantiene abierto el término / cmd para ejecutar el código, puede desplazar / hacer clic en las ventanas que desea escribir, como lo haría normalmente para las ventanas de host (haga clic para enfocar se puede deshabilitar en Windows!). Alt + Tab cambia entre VirtualBox y las ventanas de host, y los atajos de teclado para cambiar los espacios de trabajo probablemente funcionen (los míos están configurados como Super + flecha y Super + número, por lo que no puedo probar Ctrl + Alt + flecha).
Michael Scheper

5

Al presionar la tecla de host (ctrl derecho) aparece una vez para permitir que la siguiente combinación de teclas vaya al equipo host.

Para mí, esto significa que puedo presionar right-ctrl, soltar, luego presionar windows + left-ctrl + left para cambiar de escritorio


1
En realidad, esto no deshabilita la captura de teclado para algunas combinaciones de teclas, esta respuesta sería mejor como comentario.
No arraigar aquí por favor ...

Confirmado para trabajar con la combinación opuesta: Windows 7 host + Ubuntu 16.04 invitado.
jpaugh

1

¡Lo logré de manera muy efectiva al configurar la clave de host como la Winclave! En Windows 10 necesita Ctrl+ Win+ Arrowspara cambiar los escritorios, y la configuración Wincomo clave de host le permite ejecutar la combinación directamente en el sistema operativo host, pero aún captura en la VM la otra combinación como Ctrl+ Cetc.


0

En Windows 10 Pro 1803 (con una VM de Windows 7 en VirtualBox) presionando la tecla de host y luego cualquier atajo de teclado "host" también funciona para mí. Esto me permite el número mínimo de acciones de solo teclado para cambiar de escritorio, comenzando desde una VM "capturada", según la sugerencia de Curtis.

Parece que si la tecla de host incluye la tecla de Windows, que tiende a abrir el menú de inicio de Windows 7 antes de entrar en el modo de teclado "host", entonces cambié mi tecla de host para que sea Ctrl-Shift-Alt, que es amigable con una sola mano , entonces puedo usar los accesos directos de dos manos para cambiar de escritorio.


0

Tuve el mismo problema y solo pude resolverlo

  • primero deshabilitando el Auto Capture Keyboard(que estaba habilitado por defecto), en el File / Preferences / Inputmenú de VirtualBox
  • reiniciar la VM
  • habilitar de nuevo Auto Capture Keyboard
  • reiniciar la VM

Supongo que hay un error en VirtualBox que ignora la configuración inicial.

Nota: reinicié después de deshabilitar la opción, la primera vez que traté de resolver el problema, pensando que esta era la solución (ya que a menudo se sugiere). No funcionó, así que lo habilité nuevamente y eso estuvo bien. Así que no estoy seguro de que este primer paso de reinicio sea completamente necesario.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.