Opened 16 years ago
Last modified 16 years ago
#2906 new enhancement
Defining a keyboard filter
Reported by: | Brunni | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 2.1.0 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | other |
Description
Good morning,
Have you ever used a Windows guest on a Linux machine and tried to switch to the next desktop with a key combination like Ctrl+Alt+Right? Instead the keys are captured by the Windows guest which... does nothing with them.
In the same way one could want to let the host process some special keys like the media keys (Play, Next Track, Volume, ...) or the hotkeys we defined because we don't have a media keyboard, let the OS process Exposé / Flip 3D, etc.
That's why implementing a keyboard filter letting the user choose which keys are transfered to the guest and which are kept to the host could greatly improve the usability of virtual machines.
The filter would be defined per-machine because it depends on the guest OS and machines are not portable across OSes anyway, so no consistency problem is to be feared.
Additionaly, one could define if a shortcut is valid in full screen or only in windowed / seamless, else it may be necessary to add an "Exclusive mode" like VMWare in which filters are disabled. Thinking further, it may optionaly be useful allowing to redefine keys: for example Ctrl+Alt+Tab does Alt+Tab in the host, Win+F9 does F9 (Exposé).
Thank you for reading me,
Florian
A keyboard filter sounds convenient in the first place. However, not all problems you mentioned can be solved by such a filter. The Ctrl+Alt key combination cannot be passed directly to the guest because the VBox application has no chance to capture this key combination -- the X server of the host does not pass this key combination to applications. To overcome this problem use Host+Fx. Same with other special keys. As long as the host does not pass a key combination to an application, VBox cannot pass it to the guest -- it just does not know when the user pressed that key.