aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2020-10-20 12:47:58 +0200
committerKevin Wolf <kwolf@redhat.com>2021-03-19 10:17:14 +0100
commit30e863e5a7a35fc5b2cfa933ddbc30f84b0415a0 (patch)
tree4af9ea24e633ede2bfacd6705a0e6269ff22608e
parent590466f056c4f2a7ff87ed751cece4f4ff02fd57 (diff)
downloadqemu-arm-30e863e5a7a35fc5b2cfa933ddbc30f84b0415a0.tar.gz
qapi/qom: Add ObjectOptions for input-*
This adds a QAPI schema for the properties of the input-* objects. ui.json cannot be included in qom.json because the storage daemon can't use it, so move GrabToggleKeys to common.json. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Acked-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
-rw-r--r--qapi/common.json12
-rw-r--r--qapi/qom.json59
-rw-r--r--qapi/ui.json13
3 files changed, 72 insertions, 12 deletions
diff --git a/qapi/common.json b/qapi/common.json
index b87e7f9039..7c976296f0 100644
--- a/qapi/common.json
+++ b/qapi/common.json
@@ -185,3 +185,15 @@
##
{ 'enum': 'NetFilterDirection',
'data': [ 'all', 'rx', 'tx' ] }
+
+##
+# @GrabToggleKeys:
+#
+# Keys to toggle input-linux between host and guest.
+#
+# Since: 4.0
+#
+##
+{ 'enum': 'GrabToggleKeys',
+ 'data': [ 'ctrl-ctrl', 'alt-alt', 'shift-shift','meta-meta', 'scrolllock',
+ 'ctrl-scrolllock' ] }
diff --git a/qapi/qom.json b/qapi/qom.json
index 8022367269..d96c243b56 100644
--- a/qapi/qom.json
+++ b/qapi/qom.json
@@ -445,6 +445,61 @@
'data': { '*vnet_hdr_support': 'bool' } }
##
+# @InputBarrierProperties:
+#
+# Properties for input-barrier objects.
+#
+# @name: the screen name as declared in the screens section of barrier.conf
+#
+# @server: hostname of the Barrier server (default: "localhost")
+#
+# @port: TCP port of the Barrier server (default: "24800")
+#
+# @x-origin: x coordinate of the leftmost pixel on the guest screen
+# (default: "0")
+#
+# @y-origin: y coordinate of the topmost pixel on the guest screen
+# (default: "0")
+#
+# @width: the width of secondary screen in pixels (default: "1920")
+#
+# @height: the height of secondary screen in pixels (default: "1080")
+#
+# Since: 4.2
+##
+{ 'struct': 'InputBarrierProperties',
+ 'data': { 'name': 'str',
+ '*server': 'str',
+ '*port': 'str',
+ '*x-origin': 'str',
+ '*y-origin': 'str',
+ '*width': 'str',
+ '*height': 'str' } }
+
+##
+# @InputLinuxProperties:
+#
+# Properties for input-linux objects.
+#
+# @evdev: the path of the host evdev device to use
+#
+# @grab_all: if true, grab is toggled for all devices (e.g. both keyboard and
+# mouse) instead of just one device (default: false)
+#
+# @repeat: enables auto-repeat events (default: false)
+#
+# @grab-toggle: the key or key combination that toggles device grab
+# (default: ctrl-ctrl)
+#
+# Since: 2.6
+##
+{ 'struct': 'InputLinuxProperties',
+ 'data': { 'evdev': 'str',
+ '*grab_all': 'bool',
+ '*repeat': 'bool',
+ '*grab-toggle': 'GrabToggleKeys' } }
+
+##
# @IothreadProperties:
#
# Properties for iothread objects.
@@ -692,6 +747,8 @@
'filter-redirector',
'filter-replay',
'filter-rewriter',
+ 'input-barrier',
+ 'input-linux',
'iothread',
'memory-backend-file',
{ 'name': 'memory-backend-memfd',
@@ -746,6 +803,8 @@
'filter-redirector': 'FilterRedirectorProperties',
'filter-replay': 'NetfilterProperties',
'filter-rewriter': 'FilterRewriterProperties',
+ 'input-barrier': 'InputBarrierProperties',
+ 'input-linux': 'InputLinuxProperties',
'iothread': 'IothreadProperties',
'memory-backend-file': 'MemoryBackendFileProperties',
'memory-backend-memfd': { 'type': 'MemoryBackendMemfdProperties',
diff --git a/qapi/ui.json b/qapi/ui.json
index d08d72b439..cc1882108b 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -6,6 +6,7 @@
# = Remote desktop
##
+{ 'include': 'common.json' }
{ 'include': 'sockets.json' }
##
@@ -1022,18 +1023,6 @@
'events' : [ 'InputEvent' ] } }
##
-# @GrabToggleKeys:
-#
-# Keys to toggle input-linux between host and guest.
-#
-# Since: 4.0
-#
-##
-{ 'enum': 'GrabToggleKeys',
- 'data': [ 'ctrl-ctrl', 'alt-alt', 'shift-shift','meta-meta', 'scrolllock',
- 'ctrl-scrolllock' ] }
-
-##
# @DisplayGTK:
#
# GTK display options.