aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2022-05-19 17:56:24 +0200
committerThomas Huth <thuth@redhat.com>2022-06-03 08:03:28 +0200
commit9eafdeeac3513eb515c0e602fc56aa73353cf20d (patch)
tree674b90cf190aef4111d90f8bb3f57e7db5366533 /qapi
parenta743d60bcaa6a3a33f4376f87c1fc7cc977bc811 (diff)
downloadqemu-9eafdeeac3513eb515c0e602fc56aa73353cf20d.zip
qemu-9eafdeeac3513eb515c0e602fc56aa73353cf20d.tar.gz
qemu-9eafdeeac3513eb515c0e602fc56aa73353cf20d.tar.bz2
ui: Switch "-display sdl" to use the QAPI parser
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. Message-Id: <20220519155625.1414365-3-thuth@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/ui.json26
1 files changed, 25 insertions, 1 deletions
diff --git a/qapi/ui.json b/qapi/ui.json
index 11a827d..413371d 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1296,6 +1296,29 @@
} }
##
+# @HotKeyMod:
+#
+# Set of modifier keys that need to be held for shortcut key actions.
+#
+# Since: 7.1
+##
+{ 'enum' : 'HotKeyMod',
+ 'data' : [ 'lctrl-lalt', 'lshift-lctrl-lalt', 'rctrl' ] }
+
+##
+# @DisplaySDL:
+#
+# SDL2 display options.
+#
+# @grab-mod: Modifier keys that should be pressed together with the
+# "G" key to release the mouse grab.
+#
+# Since: 7.1
+##
+{ 'struct' : 'DisplaySDL',
+ 'data' : { '*grab-mod' : 'HotKeyMod' } }
+
+##
# @DisplayType:
#
# Display (user interface) type.
@@ -1374,7 +1397,8 @@
'curses': { 'type': 'DisplayCurses', 'if': 'CONFIG_CURSES' },
'egl-headless': { 'type': 'DisplayEGLHeadless',
'if': { 'all': ['CONFIG_OPENGL', 'CONFIG_GBM'] } },
- 'dbus': { 'type': 'DisplayDBus', 'if': 'CONFIG_DBUS_DISPLAY' }
+ 'dbus': { 'type': 'DisplayDBus', 'if': 'CONFIG_DBUS_DISPLAY' },
+ 'sdl': { 'type': 'DisplaySDL', 'if': 'CONFIG_SDL' }
}
}