From: Gustavo Noronha Silva <gust...@noronha.eti.br> v2 fixes QAPI issues pointed out by Markus and comes with his Acked-By.
I tried also applying Gerd's suggestion of flipping the flags on modifiers, but turns out it is more intricate than that, as we then also need to flip the keyCode that is used on the switch, but we can only do that if we are handling a key event, so things get hairy fairly quickly. After looking at the resulting code I decided to leave the more localized checks in place rather than going through with the alternative. This series adds two new options to the cocoa display: - full-grab causes it to use a global tap to steal system combos away from Mac OS X, so they can be handled by the VM - swap-option-command does what it says on the tin; while that is something you can do at the Mac OS X level or even supported by some keyboards, it is much more convenient to have qemu put Meta/Super and Alt where they belong if you are running a non-Mac VM I propose to enable swap-option-command by default and leave full-grab off because unfortunately it needs accessibility permissions for input grabbing, so it requires more deliberate action by the user anyway. Gustavo Noronha Silva (2): ui/cocoa: capture all keys and combos when mouse is grabbed ui/cocoa: add option to swap Option and Command, enable by default qapi/ui.json | 22 ++++++++ qemu-options.hx | 4 ++ ui/cocoa.m | 137 ++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 153 insertions(+), 10 deletions(-) -- 2.24.3 (Apple Git-128)