VirtualBox

Opened 14 years ago

Closed 8 years ago

#5684 closed defect (obsolete)

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

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

Description (last modified by aeichner)

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 (1)

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

Download all attachments as: .zip

Change History (14)

comment:1 by vila, 14 years ago

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

comment:2 by vila, 14 years ago

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 by Christian Pötzsch, 14 years ago

Summary: Lose access to cmd-H and cmd-Q if host key redefinedLose 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 by Frank Mehnert, 14 years ago

Resolution: fixed
Status: newclosed

comment:5 by vila, 14 years ago

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 by Brandon, 14 years ago

Resolution: fixed
Status: closedreopened

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 by Christian Pötzsch, 14 years ago

Resolution: fixed
Status: reopenedclosed

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

comment:8 by gmarik, 14 years ago

Resolution: fixed
Status: closedreopened

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!

in reply to:  8 comment:9 by poims, 13 years ago

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 by Iain Dawson, 13 years ago

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.

by CoreyOConnor, 12 years ago

Attachment: pass_all_the_keys.diff added

comment:11 by CoreyOConnor, 12 years ago

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 by CoreyOConnor, 12 years ago

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.

comment:13 by aeichner, 8 years ago

Description: modified (diff)
Resolution: obsolete
Status: reopenedclosed

Please reopen if still relevant with a recent VirtualBox release.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use