Send control-alt key combinations to the guest if not used by the user interface.
--- v2 changes: - changed logic to use existing if case ui/cocoa.m | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/ui/cocoa.m b/ui/cocoa.m index d3e7907103..828d507d57 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -619,25 +619,22 @@ - (void) handleEvent:(NSEvent *)event return; } - // default - - // handle control + alt Key Combos (ctrl+alt+[1..9,g] is reserved for QEMU) - if (([event modifierFlags] & NSEventModifierFlagControl) && ([event modifierFlags] & NSEventModifierFlagOption)) { - switch (keycode) { - - // enable graphic console - case Q_KEY_CODE_1 ... Q_KEY_CODE_9: // '1' to '9' keys - console_select(keycode - 11); - break; + // console selection + if (([event modifierFlags] & NSEventModifierFlagControl) && + ([event modifierFlags] & NSEventModifierFlagOption) && + (keycode >= Q_KEY_CODE_1 && keycode <= Q_KEY_CODE_9)) { + console_select(keycode - 11); + } - // release the mouse grab - case Q_KEY_CODE_G: - [self ungrabMouse]; - break; - } + // mouse ungrab + else if (([event modifierFlags] & NSEventModifierFlagControl) && + ([event modifierFlags] & NSEventModifierFlagOption) && + (keycode == Q_KEY_CODE_G)) { + [self ungrabMouse]; + } - // handle keys for graphic console - } else if (qemu_console_is_graphic(NULL)) { + // send to guest + else if (qemu_console_is_graphic(NULL)) { qemu_input_event_send_key_qcode(dcl->con, keycode, true); // handlekeys for Monitor -- 2.13.5 (Apple Git-94)