[PATCH v2 2/3] ui: Switch "-display sdl" to use the QAPI parser

Markus Armbruster armbru at redhat.com
Thu May 19 07:33:40 UTC 2022


Thomas Huth <thuth at redhat.com> writes:

> On 18/05/2022 17.08, Markus Armbruster wrote:
>> Thomas Huth <thuth at redhat.com> writes:
>> 
>>> The "-display sdl" option still uses a hand-crafted parser for its
>>> parameters since we didn't want to drag an interface we considered
>>> somewhat flawed into the QAPI schema. Since the flaws are gone now,
>>> it's time to QAPIfy.
>>>
>>> This introduces the new "DisplaySDL" QAPI struct that is used to hold
>>> the parameters that are unique to the SDL display. The only specific
>>> parameter is currently "grab-mod" that is used to specify the required
>>> modifier keys to escape from the mouse grabbing mode.
>>>
>>> Signed-off-by: Thomas Huth <thuth at redhat.com>
>>> ---
>>>   qapi/ui.json            | 27 +++++++++++++++-
>>>   include/sysemu/sysemu.h |  2 --
>>>   softmmu/globals.c       |  2 --
>>>   softmmu/vl.c            | 70 +----------------------------------------
>>>   ui/sdl2.c               | 10 ++++++
>>>   5 files changed, 37 insertions(+), 74 deletions(-)
>>>
>>> diff --git a/qapi/ui.json b/qapi/ui.json
>>> index 11a827d10f..a244e26e0f 100644
>>> --- a/qapi/ui.json
>>> +++ b/qapi/ui.json
>>> @@ -1295,6 +1295,30 @@
>>>         '*swap-opt-cmd': 'bool'
>>>     } }
>>>   
>>> +##
>>> +# @GrabMod:
>>> +#
>>> +# Set of modifier keys that need to be hold for shortcut key actions.
>>> +#
>>> +# Since: 7.1
>>> +##
>>> +{ 'enum'  : 'GrabMod',
>>> +  'data'  : [ 'lctrl-lalt', 'lshift-lctrl-lalt', 'rctrl' ] }
>> 
>> This is fine now.  If we ever generalize to "arbitrary set of modifier
>> keys", it'll become somewhat awkward.  No objection from me.
>> 
>>> +
>>> +##
>>> +# @DisplaySDL:
>>> +#
>>> +# SDL2 display options.
>>> +#
>>> +# @grab-mod:  String with modifier keys that should be pressed together with
>> 
>> s/String with modifier keys/Modifier keys/
>> 
>>> +#             the "G" key to release the mouse grab. Only "lshift-lctrl-lalt"
>>> +#             and "rctrl" are currently supported.
>> 
>> Why do we define lctrl-lalt if it's not supported?
>
> It's the default value if you don't specify the grab-mod parameter. So it's 
> supported, you get this mode if you use "grab-mod=lctrl-lalt" or no grab-mod 
> parameter at all.

That's not how I understood the comment...

Suggest

    # @grab-mod: Modifier keys that should be pressed together with the "G"
    #            key to release the mouse grab (default "lctrl-lalt")


More information about the libvir-list mailing list