Thomas Huth <thuth@xxxxxxxxxx> writes: > On 18/05/2022 17.08, Markus Armbruster wrote: >> Thomas Huth <thuth@xxxxxxxxxx> 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@xxxxxxxxxx> >>> --- >>> 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")