qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] ui/cocoa: add option to disable left-command forwarding


From: Markus Armbruster
Subject: Re: [PATCH 1/2] ui/cocoa: add option to disable left-command forwarding to guest
Date: Fri, 11 Mar 2022 13:46:08 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> On 18/2/22 19:55, Peter Maydell wrote:
>> On Sun, 2 Jan 2022 at 17:42, Carwyn Ellis <carwynellis@gmail.com> wrote:
>>>
>>> When switching between guest and host on a Mac using command-tab the
>>> command key is sent to the guest which can trigger functionality in the
>>> guest OS. Specifying left-command-key=off disables forwarding this key
>>> to the guest. Defaults to enabled.
>>>
>>> Also updated the cocoa display documentation to reference the new
>>> left-command-key option along with the existing show-cursor option.
>>>
>>> Signed-off-by: Carwyn Ellis <carwynellis@gmail.com>
>> Ccing the QAPI folks for review on the QAPI parts of this.
>> -- PMM
>> 
>>> ---
>>>   qapi/ui.json    | 17 +++++++++++++++++
>>>   qemu-options.hx | 12 ++++++++++++
>>>   ui/cocoa.m      |  8 +++++++-
>>>   3 files changed, 36 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/qapi/ui.json b/qapi/ui.json
>>> index 2b4371da37..764480e145 100644
>>> --- a/qapi/ui.json
>>> +++ b/qapi/ui.json
>>> @@ -1107,6 +1107,22 @@
>>>     'data'    : { '*grab-on-hover' : 'bool',
>>>                   '*zoom-to-fit'   : 'bool'  } }
>>>
>>> +##
>>> +# @DisplayCocoa:
>>> +#
>>> +# Cocoa display options.
>>> +#
>>> +# @left-command-key: Enable/disable forwarding of left command key to
>>> +#                    guest. Allows command-tab window switching on the
>>> +#                    host without sending this key to the guest when
>>> +#                    "off". Defaults to "on"
>>> +#
>>> +# Since: 6.2.50
>
> Not a QAPI folk, but LGTM using 7.0 here instead of 6.2.50 (this the
> number of the *released* QEMU version which contains this new type).

Yes.

>>> +#
>>> +##
>>> +{ 'struct'  : 'DisplayCocoa',
>>> +  'data'    : { '*left-command-key' : 'bool' } }
>>> +
>>>   ##
>>>   # @DisplayEGLHeadless:
>>>   #
>>> @@ -1254,6 +1270,7 @@
>>>     'discriminator' : 'type',
>>>     'data'    : {
>>>         'gtk': { 'type': 'DisplayGTK', 'if': 'CONFIG_GTK' },
>>> +      'cocoa': { 'type': 'DisplayCocoa', 'if': 'CONFIG_COCOA' },
>>>         'curses': { 'type': 'DisplayCurses', 'if': 'CONFIG_CURSES' },
>>>         'egl-headless': { 'type': 'DisplayEGLHeadless',
>>>                           'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } 
>>> },
>>> diff --git a/qemu-options.hx b/qemu-options.hx
>>> index fd1f8135fb..6fa9c38c83 100644
>>> --- a/qemu-options.hx
>>> +++ b/qemu-options.hx
>>> @@ -1912,6 +1912,9 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
>>>   #if defined(CONFIG_DBUS_DISPLAY)
>>>       "-display dbus[,addr=<dbusaddr>]\n"
>>>       "             [,gl=on|core|es|off][,rendernode=<file>]\n"
>>> +#endif
>>> +#if defined(CONFIG_COCOA)
>>> +    "-display cocoa[,show-cursor=on|off][,left-command-key=on|off]\n"
>>>   #endif
>>>       "-display none\n"
>>>       "                select display backend type\n"
>>> @@ -1999,6 +2002,15 @@ SRST
>>>           ``charset=CP850`` for IBM CP850 encoding. The default is
>>>           ``CP437``.
>>>
>>> +    ``cocoa``
>>> +        Display video output in a Cocoa window. Mac only. This interface
>>> +        provides drop-down menus and other UI elements to configure and
>>> +        control the VM during runtime. Valid parameters are:
>>> +
>>> +        ``show-cursor=on|off`` :  Force showing the mouse cursor
>>> +
>>> +        ``left-command-key=on|off`` : Disable forwarding left command key 
>>> to host
>>> +
>>>       ``egl-headless[,rendernode=<file>]``
>>>           Offload all OpenGL operations to a local DRI device. For any
>>>           graphical display, this display needs to be paired with either

In the QAPI schema, @full-screen, @window-close and @show-cursor are
common to all display types.  Here, @full-screen is only documented with
gtk, @window-close with gtk and sdl, @show-cursor with gtk, sdl and now
cocoa.

What's going on here?

[...]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]