[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 17/31] qapi/qom: Add ObjectOptions for input-*
From: |
Eric Blake |
Subject: |
Re: [PATCH v2 17/31] qapi/qom: Add ObjectOptions for input-* |
Date: |
Fri, 26 Feb 2021 14:55:22 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
On 2/24/21 7:52 AM, Kevin Wolf wrote:
> 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>
> ---
> qapi/common.json | 12 ++++++++++
> qapi/qom.json | 58 ++++++++++++++++++++++++++++++++++++++++++++++++
> qapi/ui.json | 13 +----------
> 3 files changed, 71 insertions(+), 12 deletions(-)
>
> +##
> +# @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")
I can understand this being a string (if non-numeric, it can be treated
as a well-known service name instead), but...
> +#
> +# @x-origin: x coordinate of the leftmost pixel on the guest screen
> +# (default: "0")
...why are these other fields a string instead of an integer? But you
are just doing faithful translation of what we already have.
Bummer - our naming for this member implies that it is experimental,
which is a misnomer (it is quite stable, when viewed in tandem with
y-origin). Not your fault. Would 'origin-x' and 'origin-y' be any
better as new aliases in a followup patch?
> +#
> +# @y-origin: y coordinate of he topmost pixel on the guest screen (default:
> "0")
"the", long line
> +#
> +# @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' } }
Matches ui/input-barrier.c:input_barrier_class_init().
> +
> +##
> +# @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)
We have inconsistent naming within this object (see grab-toggle); a good
followup would be an alias for 'grab-all'.
> +#
> +# @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' } }
matches ui/input-linux.c.
> +
> ##
> # @IothreadProperties:
> #
> @@ -689,6 +743,8 @@
> 'filter-redirector',
> 'filter-replay',
> 'filter-rewriter',
> + 'input-barrier',
> + 'input-linux',
> 'iothread',
> 'memory-backend-file',
> 'memory-backend-memfd',
> @@ -741,6 +797,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': 'MemoryBackendMemfdProperties',
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
- Re: [PATCH v2 18/31] qapi/qom: Add ObjectOptions for x-remote-object, (continued)
- [PATCH v2 15/31] qapi/qom: Add ObjectOptions for pr-manager-helper, Kevin Wolf, 2021/02/24
- [PATCH v2 13/31] qapi/qom: Add ObjectOptions for colo-compare, Kevin Wolf, 2021/02/24
- [PATCH v2 21/31] qemu-storage-daemon: Implement --object with qmp_object_add(), Kevin Wolf, 2021/02/24
- [PATCH v2 20/31] qom: Make "object" QemuOptsList optional, Kevin Wolf, 2021/02/24
- [PATCH v2 17/31] qapi/qom: Add ObjectOptions for input-*, Kevin Wolf, 2021/02/24
- Re: [PATCH v2 17/31] qapi/qom: Add ObjectOptions for input-*,
Eric Blake <=
- [PATCH v2 23/31] qom: Factor out user_creatable_process_cmdline(), Kevin Wolf, 2021/02/24
- [PATCH v2 11/31] qapi/qom: Add ObjectOptions for tls-*, deprecate 'loaded', Kevin Wolf, 2021/02/24
- [PATCH v2 09/31] qapi/qom: Add ObjectOptions for throttle-group, Kevin Wolf, 2021/02/24
- [PATCH v2 04/31] qapi/qom: Add ObjectOptions for authz-*, Kevin Wolf, 2021/02/24
- [PATCH v2 22/31] qom: Remove user_creatable_add_dict(), Kevin Wolf, 2021/02/24