Skip to content

Commit

Permalink
qapi/qom: Add ObjectOptions for input-*
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
kevmw committed Mar 15, 2021
1 parent bb15197 commit fa1ce8a
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 12 deletions.
12 changes: 12 additions & 0 deletions qapi/common.json
Expand Up @@ -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' ] }
59 changes: 59 additions & 0 deletions qapi/qom.json
Expand Up @@ -444,6 +444,61 @@
'base': 'NetfilterProperties',
'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:
#
Expand Down Expand Up @@ -692,6 +747,8 @@
'filter-redirector',
'filter-replay',
'filter-rewriter',
'input-barrier',
'input-linux',
'iothread',
'memory-backend-file',
{ 'name': 'memory-backend-memfd',
Expand Down Expand Up @@ -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',
Expand Down
13 changes: 1 addition & 12 deletions qapi/ui.json
Expand Up @@ -6,6 +6,7 @@
# = Remote desktop
##

{ 'include': 'common.json' }
{ 'include': 'sockets.json' }

##
Expand Down Expand Up @@ -1021,18 +1022,6 @@
'*head' : 'int',
'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:
#
Expand Down

0 comments on commit fa1ce8a

Please sign in to comment.