57 votes

Obtenir que l'hôte capture certaines pressions de touches dans VirtualBox

J'utilise VirtualBox sur Ubuntu 9.10 avec Windows XP comme OS invité.

Il est assez ennuyeux que lorsque je suis dans le système d'exploitation invité, je ne puisse pas changer de bureau virtuel (espace de travail) sur l'hôte (Ubuntu) en appuyant sur la touche Control + Alt +( Left | Right | Up | Down ) parce que VirtualBox capture ces combinaisons de touches.

Est-il possible de désactiver la capture du clavier pour certaines combinaisons de touches ?

0voto

AMoney Points 71

J'ai eu le même problème, et je n'ai pu le résoudre qu'en

  • en désactivant d'abord le Auto Capture Keyboard (qui a été activé par défaut), dans l'onglet File / Preferences / Input menu de VirtualBox
  • redémarrage de la VM
  • permettre à nouveau Auto Capture Keyboard
  • redémarrage de la VM

Je suppose qu'il y a un bug dans VirtualBox qui ignore les paramètres initiaux.

Remarque : j'ai redémarré après avoir désactivé l'option, la première fois que j'ai essayé de résoudre le problème, pensant que c'était la solution (puisqu'elle est souvent suggérée). Cela n'a pas fonctionné, j'ai donc réactivé l'option et tout s'est bien passé. Je ne suis donc pas sûr que cette première étape de redémarrage soit entièrement nécessaire.

0voto

BrianCooksey Points 425

Semble sur ubuntu, non Pack de travail sur les interrupteurs en douceur solution
(sans appuyer d'abord sur la touche HOST pour libérer la capture)
// set Ctrl+Alt comme la clé HOST ne fonctionne pas
// cela m'ennuie aussi longtemps.

. une solution de contournement

mais, voici une solution de contournement, le test a fonctionné :

  1. Obtenir un événement clé sur l'hôte ubuntu à bas niveau
    // utiliser des outils tels que showkey , evtest ou getevent

    • evtest , getevent (doit spécifier le périphérique d'entrée),
      // dépendent de /dev/input/eventX besoin d'une racine
    • showkey ne dépend pas du périphérique d'entrée (tous les claviers sont identiques),
      // dépendent de /dev/console besoin d'une racine
    • xinput test (doit spécifier le périphérique, pas le même que /dev/input/eventX)
      // dépendent de Système X pas besoin de racine
  2. détecter Ctrl+Alt+Left pression sur la touche
    // lire l'événement clé

  3. utiliser xdotool set_desktop --relative -- -1 changer d'espace de travail.
    // get_desktop peut aussi vérifier l'espace de travail actuel. (J'ai souvent mis la vbox dans le dernier espace de travail).

. une démonstration d'outil

voici un outil de test src qui a fait cela :
https://github.com/yurenchen000/keyevent
//dépend de xdotool

exemple d'utilisation :

sudo ./keyevent /dev/input/event3 2

détecter event3 événement du dispositif.
si ctrl+alt+left/right est pressé.
si l'espace de travail actuel est 2 (départ à 0), alors faites des choses utiles (pour le changement d'espace de travail).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X