Host dazu bringen, bestimmte Tastendrücke in VirtualBox zu erfassen


48

Ich verwende VirtualBox unter Ubuntu 9.10 mit Windows XP als Gastbetriebssystem.

Es ist ziemlich ärgerlich, dass ich im Gastbetriebssystem die virtuellen Desktops (Arbeitsbereiche) auf dem Host (Ubuntu) nicht durch Drücken von Control+ Alt+ ( Left| Right| Up| Down) wechseln kann, da VirtualBox diese Tastenkombinationen erfasst.

Ist es möglich, die Tastaturerfassung für einige Tastenkombinationen zu deaktivieren?

Antworten:


27

Es gibt zwar einige Host-Tastenkombinationen, die bestimmte VirtualBox-Funktionen aktivieren (z. B. Host Key+, Pwodurch der Guest angehalten wird), ich kenne jedoch keine Möglichkeit, VirtualBox so zu konfigurieren, dass Host-Tastenkombinationen an das Host-Betriebssystem gesendet werden.

Da es sich bei VirtualBox jedoch um eine Open-Source-Edition handelt , kann der Quellcode möglicherweise geändert werden, um diese Funktion hinzuzufügen. Sie können auf den VirtualBox-Quellcode über den Download-Link zugreifen .

In der Zwischenzeit können Sie den Host-Schlüssel verwenden, um die Tastatur von der VirtualBox Guest-Steuerung freizugeben. Standardmäßig ist der Host-Schlüssel auf festgelegt Right Ctrl. Sie können den aktuellen Host-Schlüssel im VM-Fenster sehen:

Alt-Text

Drücken Sie einfach einmal die Host-Taste, um die Tastaturaufzeichnung freizugeben. Danach werden Ihre Tastendrücke auf Ihrem Host-Betriebssystem angezeigt. Also hier ist dein Workflow:

  1. Drücken Sie kurz die Host-Taste. Ihr Gastbetriebssystem erfasst keine Tastendrücke mehr.
  2. Drücken Sie Ctrl+ Alt+ (Pfeiltaste), um zwischen Arbeitsbereichen oder anderen Tasten zu wechseln, die Sie an das Host-Betriebssystem senden möchten.

Es wäre schön ... Aber [Strg links] + [Alt] funktioniert auch nicht ... Es hängt überhaupt nicht von der Host-Taste ab, VBox erfasst alle Tastendrücke.
Alexander Smirnov

Es tut mir leid, ich habe deine Frage falsch verstanden. Ich dachte, du hättest einen Ubuntu-Gast auf einem XP-Host. hat die Antwort aktualisiert.
Quack Quixote

1
Ok, danke, ich hoffe, ich finde Zeit für eine kleine Untersuchung, um dieses Feature hinzuzufügen
Alexander Smirnov

@quack Gaff Wenn man den Quellcode anpassen möchte. Wäre es einfach, VMware neu zu erstellen, um es zu verwenden? auf einem macos?
Momomo

15

Diese Frage ist alt, aber ich habe eine bessere Lösung gefunden, die es damals wahrscheinlich nicht gab.

Sie können "Tastatur automatisch erfassen" im Manager-Fenster deaktivieren -> Menü "Datei" -> Einstellungen -> Eingabe:

Bildbeschreibung hier eingeben

Dadurch wird die automatische Tastaturbelegung vollständig deaktiviert, sodass die Tastaturbelegungen des Fenstermanagers direkt an ihn übergeben werden.

In diesem Modus hat der 'Host'-Schlüssel den gegenteiligen Effekt - er aktiviert das Greifen, anstatt es zu deaktivieren.


9
Der Nachteil dabei ist, dass Sie jetzt daran denken müssen, die Tastaturerfassung zu aktivieren, bevor Sie beispielsweise Alt + Tab verwenden. Virtualbox benötigt wirklich wirklich eine Möglichkeit, Tastaturkürzel im Gast zuzuordnen und zu deaktivieren.
Stackular

1
Funktioniert super! Ich verstehe nicht, warum diese Einstellung nicht maschinenspezifisch ist.
Franck Dernoncourt

Es stellt sich heraus, dass dies eine ziemlich gute Lösung ist, wenn Sie den Gastcomputer verwenden, um Code auszuführen, den Sie auf dem Hostcomputer entwickeln, sogar GUI-Code. Wenn Sie die GUI auf dem Gastcomputer nicht maximieren und den Begriff / cmd für die Ausführung des Codes geöffnet lassen, können Sie die Fenster, die Sie eingeben möchten, wie bei Host-Fenstern (Klicken zum Fokussieren) über die Maus bewegen bzw. darauf klicken kann in Windows deaktiviert werden!). Alt + Tab wechselt zwischen VirtualBox- und Host-Fenstern, und Tastenkombinationen zum Wechseln von Arbeitsbereichen funktionieren wahrscheinlich (meine sind als Super + Pfeil und Super + Zahl konfiguriert, daher kann ich Strg + Alt + Pfeil nicht testen).
Michael Scheper

5

Durch einmaliges Drücken der Host-Taste (rechte Strg-Taste) wird die nächste Tastenkombination auf dem Host-Computer angezeigt.

Für mich bedeutet dies, dass ich die rechte Strg-Taste drücken, loslassen und dann die Tasten Windows + Links-Strg + Links drücken kann, um zwischen den Desktops zu wechseln


1
Dies deaktiviert die Tastaturerfassung für einige Tastenkombinationen nicht. Diese Antwort ist als Kommentar besser geeignet.
Root hier bitte nicht ...

Bestätigt, um für die gegenteilige Kombination zu arbeiten: Windows 7-Host + Ubuntu 16.04-Gast.
Jpaugh

1

Ich habe es sehr effektiv geschafft, indem ich den Host-Schlüssel als WinSchlüssel gesetzt habe! Unter Windows 10 benötigen Sie Ctrl+ Win+ Arrows, um die Desktops zu wechseln, und die Einstellung Winals Host-Schlüssel ermöglicht es Ihnen, die Kombination direkt auf dem Host-Betriebssystem auszuführen, während Sie auf der VM die andere Kombination wie Ctrl+ Cusw. erfassen .


0

In Windows 10 Pro 1803 (mit einer Windows 7-VM in VirtualBox) funktioniert das Drücken der Host-Taste und der "Host" -Tastenkombination auch für mich. Dies ermöglicht mir die minimale Anzahl von Nur-Tastatur-Aktionen zum Wechseln von Desktops, beginnend mit einer "erfassten" VM, wie von Curtis vorgeschlagen.

Es scheint, dass, wenn die Host-Taste die Windows-Taste enthält, das Windows 7-Startmenü angezeigt wird, bevor der Tastaturmodus "Host" aktiviert wird. Ich habe meine Host-Taste daher in "Strg-Umschalt-Alt" geändert, was einhändig ist , dann kann ich die beiden Hand-Shortcuts verwenden, um Desktops zu wechseln.


0

Ich hatte das gleiche Problem und konnte es nur dadurch lösen

  • Deaktivieren Sie zunächst die Auto Capture Keyboard(die standardmäßig aktiviert war), im File / Preferences / InputMenü von VirtualBox
  • Starten Sie die VM neu
  • wieder aktivieren Auto Capture Keyboard
  • Starten Sie die VM neu

Ich nehme an, es gibt einen Fehler in VirtualBox, der die anfänglichen Einstellungen ignoriert.

Hinweis: Ich habe nach dem Deaktivieren der Option einen Neustart durchgeführt, als ich zum ersten Mal versuchte, das Problem zu lösen. Es hat nicht funktioniert, also habe ich es wieder aktiviert und das war in Ordnung. Daher bin ich mir nicht sicher, ob dieser erste Neustart unbedingt erforderlich ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.