VirtualBox

Ticket #5684 (reopened defect)

Opened 4 years ago

Last modified 2 years ago

Lose access to cmd-H and cmd-Q if host key redefined -> Fixed in SVN

Reported by: vila Owned by:
Priority: major Component: GUI
Version: VirtualBox 3.1.0 Keywords:
Cc: Guest type: other
Host type: Mac OS X

Description

As discussed in  http://www.virtualbox.org/ticket/4866, if the host key is not bound to the left cmd key, cmd-H and cmd-Q cannot be used anymore.

This is a regression in 3.1.0 and was working fine in all previous versions.

Attachments

pass_all_the_keys.diff Download (1.5 KB) - added by CoreyOConnor 2 years ago.

Change History

comment:1 Changed 4 years ago by vila

This has also been reported as  http://www.virtualbox.org/ticket/5660

comment:2 Changed 4 years ago by vila

And  http://www.virtualbox.org/ticket/5634.

Another way to address this bug has been mentioned in  http://www.virtualbox.org/ticket/1668 and  http://www.virtualbox.org/ticket/4238 : allows shortcuts that needs to be passed to the host to be user defined. This may requires more work though.

comment:3 Changed 4 years ago by poetzsch

  • Summary changed from Lose access to cmd-H and cmd-Q if host key redefined to Lose access to cmd-H and cmd-Q if host key redefined -> Fixed in SVN

Fixed in SVN & the fix will be available with the next minor release.

comment:4 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

comment:5 Changed 4 years ago by vila

Thanks a lot for fixing that !

I still think it may be worth binding them to the host key so that only that key and any shortcut using it is reserved to vbox and since Christmas is so close...

comment:6 Changed 4 years ago by bgarn83

  • Status changed from closed to reopened
  • Resolution fixed deleted

Can the CMD-tab functionality for mac be added? This is one of the most important key combinations for mac users (similar to alt-tab in windows). It enables a user to quickly switch in and out of the virtual environment very quickly.

comment:7 Changed 4 years ago by poetzsch

  • Status changed from reopened to closed
  • Resolution set to fixed

Please use tickets which contains your request already. What you are looking for is in #1668.

comment:8 follow-up: ↓ 9 Changed 4 years ago by gmarik

  • Status changed from closed to reopened
  • Resolution fixed deleted

Please do not implement this feature or implement it other way...

This cross-os-bindings break guest OS environment!

I think

  • if one wants to have cmd-Q, cmd-H working - use (RIGHT?-)cmd as host key
  • otherwise we break guest os environment

And, probably, customization for this behavior would solve the issue.

Thanks for your work! VBox - rox!

comment:9 in reply to: ↑ 8 Changed 3 years ago by poims

I agree with gmarik. This "fix" has broken guest functionality that allowed the left CMD key to be used as a "Super" key within the guest OS. The ability to keep all the CMD key bindings within the guest OS should be configurable.

comment:10 Changed 3 years ago by nivi

Breaking guest functionality to give more access to the host is, for my purposes at least, completely counter-productive to what VB and virtual machines in general are trying to achieve.

This is functionality that the host key exists for. If I set it to right control, I should expect everything else to be sent directly to the guest. Breaking those expectations for arbitrarily cherry-picked host conventions is inconsistent and confusing.

To this end, why not always send cmd+right as end? Why not always have cmd+, pull up VB's preferences? Hell, why not capture every single keystroke and send it directly to the VirtualBox GUI Manager rather than the guest?

Please, please, please roll this back. If end-users want to pick commands to always pass through themselves, that's fine - I might even find that useful myself - but the way it is the moment is baffling.

Changed 2 years ago by CoreyOConnor

comment:11 Changed 2 years ago by CoreyOConnor

Resolved with attached patch. The patch is kinda hackish because it works around a few bugs in VirtualBox's keyboard handling:

  1. The keyboard handler naively assumes anything that looks like command-H or command-Q (Even if there are other modifiers down!) to be an event that must be filtered from propogating to the client.
  2. The ::darwinIsApplicationCommand procedure has the side effect or properly initializing the NSEvent object. Otherwise the event processing does not funciton at all! This is rather odd. Since the name of the function does not imply that it is both initializing the event object and checking for an application command.

comment:12 Changed 2 years ago by CoreyOConnor

The above patch does not prevent command-shift-q (logout) from being captured by OS X. That appears to be blocked from propagating to the guest via a different mechanism.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use