Enviar pulsaciones de tecla a una ventana cuando pierde el foco

6

Estoy ejecutando máquinas virtuales para probar en un segundo espacio usando Virtualbox, y el problema es que cuando estoy en el espacio principal, la máquina virtual continúa usando mucho tiempo de CPU y mata la batería.

Ahora mismo trato de recordar pausar manualmente la máquina virtual cada vez que vuelvo a mi espacio principal, pero eso se vuelve tedioso y me gustaría hacerlo automáticamente.

Entonces la pregunta es:

¿Cómo puedo enviar la combinación de teclas de método abreviado CTRL + CMD + P a la máquina virtual para pausarla cada vez que pierde el foco o, alternativamente, cuando vuelvo al espacio 1.

Idealmente, también enviaría la combinación nuevamente cuando cambio al Espacio con Virtualbox ejecutándose en él, pero eso no es tan importante.

[editar]

He podido resolver el problema utilizando un software de terceros: Keyboard Maestro activando la herramienta de línea de comandos VBoxManage y enviando un comando de pausa de esa manera. Pero debe haber una manera de hacerlo sin tener que pagar por el software.

    
pregunta howtogeek 03.04.2014 - 16:24

1 respuesta

1

Una forma de activarlo con un método abreviado de teclado global (y sin tener que volver atrás) es crear un pequeño script de Apple para que lo haga por ti. No estoy familiarizado con las ventanas de Virtualbox, por lo que deberá modificar lo siguiente para satisfacer sus necesidades. Puede ejecutarlo tal como está, y tenga en cuenta que 1) el terminal NO se enfoca cuando lo ejecuta, permanece en segundo plano y 2) cuando cambia al terminal, el Inspector lo mostrará.

tell application "System Events"
  tell process "Terminal"
  click menu item "Show Inspector" of menu "Shell" of menu bar 1
  end tell
end tell

Supongo que el comando Pause VM estará disponible en los menús de VB, si no, hágamelo saber en los comentarios donde vive el comando, y puedo actualizar la respuesta para reflejar eso.

Una vez que hayas probado AppleScript, usa Automator para crear un servicio: esto te permitirá activarlo con un método abreviado de teclado global, sin necesidad de cambiar de aplicación ni nada.

  1. Launch Automator
  2. Nuevo proyecto si carga uno antiguo y selecciona "Servicio"
  3. En el cuadro de búsqueda, ingrese "script" para filtrar las opciones y haga doble clic en "Ejecutar Applescript"
  4. Pegue el applecript allí mismo.
  5. Guárdalo, dale un nombre como "Pausar la máquina virtual" y salga.

A continuación, para darle un método abreviado de teclado global:

  1. Abrir preferencias del sistema - > Teclado - > Pestaña Accesos directos
  2. Seleccione "Servicios" en el panel izquierdo
  3. Desplácese hasta la parte inferior del panel derecho y debería ver su nuevo servicio
  4. Haz clic en "ninguno" a la derecha de tu nuevo servicio y podrás crear un acceso directo.

Así que ahora, si olvida, al menos es solo presionar una tecla en lugar de todo un cambio de aplicación.

NOTA: deberá permitir que Automator controle la computadora en Preferencias del sistema - > Seguridad y amp; Privacidad - > Privacidad - > Accesibilidad

    
respondido por el webmarc 15.09.2014 - 17:06

Lea otras preguntas en las etiquetas