[Spice-devel] [spice-gtk] Ignore modifiers messages if no modifiers changed

Marc-André Lureau mlureau at redhat.com
Wed Sep 7 11:32:59 UTC 2016


Hi

----- Original Message -----
> This avoid keep sending modifiers changes if guest is not
> synchronising the changes.
> 
> I consider this as an improving as this avoids client to try again
> and again to force synchronisation however this does not prevent
> every unwanted keystroke insertion which possibly can be a real
> problem on some configurations.
> 
> For instance if guest do not handle caps lock as the client do
> if client uses another modifiers (as num lock) this can force
> inserting virtual caps keypress.

Is there a patch for the server side?


> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  src/channel-inputs.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/channel-inputs.c b/src/channel-inputs.c
> index 7572bff..f79bc38 100644
> --- a/src/channel-inputs.c
> +++ b/src/channel-inputs.c
> @@ -242,8 +242,10 @@ static void inputs_handle_modifiers(SpiceChannel
> *channel, SpiceMsgIn *in)
>      SpiceInputsChannelPrivate *c = SPICE_INPUTS_CHANNEL(channel)->priv;
>      SpiceMsgInputsKeyModifiers *modifiers = spice_msg_in_parsed(in);
>  
> -    c->modifiers = modifiers->modifiers;
> -    g_coroutine_signal_emit(channel, signals[SPICE_INPUTS_MODIFIERS], 0);
> +    if (c->modifiers != modifiers->modifiers) {
> +        c->modifiers = modifiers->modifiers;
> +        g_coroutine_signal_emit(channel, signals[SPICE_INPUTS_MODIFIERS],
> 0);
> +    }
>  }

looks good to me otherwise

>  
>  /* coroutine context */
> --
> 2.7.4
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list