[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] input-linux: Add option to not grab a device upon guest star
From: |
Markus Armbruster |
Subject: |
Re: [PATCH] input-linux: Add option to not grab a device upon guest startup |
Date: |
Fri, 15 Mar 2024 07:07:20 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Justinien Bouron <justinien.bouron@gmail.com> writes:
> Depending on your use-case, it might be inconvenient to have qemu grab
> the input device immediately upon starting the guest, especially if the
> guest takes a while to start in which case it may take a few seconds
> before being able to release the device via the toggle combination.
>
> Added a new bool option to input-linux: grab-on-startup. If true, the
> device is grabbed as soon as the guest is started, otherwise it is not
> grabbed until the toggle combination is entered. To avoid breaking
> existing setups, the default value of grab-on-startup is true, ie. same
> behaviour as before this change.
>
> Signed-off-by: Justinien Bouron <justinien.bouron@gmail.com>
> ---
> qapi/qom.json | 13 ++++++++++++-
> ui/input-linux.c | 20 +++++++++++++++++++-
> 2 files changed, 31 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/qom.json b/qapi/qom.json
> index 032c6fa037..50e66d55cc 100644
> --- a/qapi/qom.json
> +++ b/qapi/qom.json
> @@ -508,13 +508,24 @@
> # @grab-toggle: the key or key combination that toggles device grab
> # (default: ctrl-ctrl)
> #
> +# @grab-on-startup: if true, grab the device immediately upon starting the
> +# guest. Otherwise, don't grab the device until the combination is
> entered.
> +# This does not influence other devices even if grab_all is true, ie. in
> the
i.e.
> +# unlikely scenario where device1 has grab_all=true +
> grab-on-startup=true
> +# and device2 has grab-on-startup=false, only device1 is grabbed on
> startup,
> +# then, once the grab combination is entered, grabbing is toggled off for
> +# both devices (because device1 enforces the grab_all property) until the
> +# combination is entered again at which point both devices will be
> grabbed.
> +# (default: true).
>From docs/devel/qapi-code-gen.rst section Documentation markup:
For legibility, wrap text paragraphs so every line is at most 70
characters long.
Separate sentences with two spaces.
> +
No blank lines in the middle of comment blocks, please.
> # Since: 2.6
> ##
Together:
# @grab-on-startup: if true, grab the device immediately upon starting
# the guest. Otherwise, don't grab the device until the
# combination is entered. This does not influence other devices
# even if grab_all is true, i.e. in the unlikely scenario where
# device1 has grab_all=true + grab-on-startup=true and device2 has
# grab-on-startup=false, only device1 is grabbed on startup, then,
# once the grab combination is entered, grabbing is toggled off
# for both devices (because device1 enforces the grab_all
# property) until the combination is entered again at which point
# both devices will be grabbed. (default: true).
#
# Since: 2.6
##
> { 'struct': 'InputLinuxProperties',
> 'data': { 'evdev': 'str',
> '*grab_all': 'bool',
> '*repeat': 'bool',
> - '*grab-toggle': 'GrabToggleKeys' } }
> + '*grab-toggle': 'GrabToggleKeys',
> + '*grab-on-startup': 'bool'} }
>
> ##
> # @EventLoopBaseProperties:
[...]