[Spice-devel] [PATCH spice-gtk 4/5] widget: add keypress-delay property
Hans de Goede
hdegoede at redhat.com
Thu Aug 16 01:52:32 PDT 2012
ACK.
On 08/15/2012 09:59 PM, Marc-André Lureau wrote:
> The delay before the press event is sent to the server if the key is
> kept pressed. If the key is released within that time, that delay is
> ignored and a single key-press-release event will be sent.
> ---
> gtk/spice-widget-priv.h | 1 +
> gtk/spice-widget.c | 27 +++++++++++++++++++++++++++
> 2 files changed, 28 insertions(+)
>
> diff --git a/gtk/spice-widget-priv.h b/gtk/spice-widget-priv.h
> index 87cf34e..97c6489 100644
> --- a/gtk/spice-widget-priv.h
> +++ b/gtk/spice-widget-priv.h
> @@ -112,6 +112,7 @@ struct _SpiceDisplayPrivate {
> #ifdef WIN32
> HHOOK keyboard_hook;
> #endif
> + guint keypress_delay;
> gint zoom_level;
> };
>
> diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c
> index a3369d5..8cb7abb 100644
> --- a/gtk/spice-widget.c
> +++ b/gtk/spice-widget.c
> @@ -103,6 +103,7 @@ enum {
> PROP_DISABLE_INPUTS,
> PROP_ZOOM_LEVEL,
> PROP_MONITOR_ID,
> + PROP_KEYPRESS_DELAY,
> PROP_READY
> };
>
> @@ -179,6 +180,9 @@ static void spice_display_get_property(GObject *object,
> case PROP_READY:
> g_value_set_boolean(value, d->ready);
> break;
> + case PROP_KEYPRESS_DELAY:
> + g_value_set_uint(value, d->keypress_delay);
> + break;
> default:
> G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
> break;
> @@ -347,6 +351,9 @@ static void spice_display_set_property(GObject *object,
> d->zoom_level = g_value_get_int(value);
> scaling_updated(display);
> break;
> + case PROP_KEYPRESS_DELAY:
> + d->keypress_delay = g_value_get_uint(value);
> + break;
> default:
> G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
> break;
> @@ -1561,6 +1568,26 @@ static void spice_display_class_init(SpiceDisplayClass *klass)
> G_PARAM_STATIC_STRINGS));
>
> /**
> + * SpiceDisplay:keypress-delay:
> + *
> + * Delay in ms of non-modifiers key press events. If the key is
> + * released before this delay, a single press & release event is
> + * sent to the server. If the key is pressed longer than the
> + * keypress-delay, the server will receive the delayed press
> + * event, and a following release event when the key is released.
> + *
> + * Since: 0.13
> + **/
> + g_object_class_install_property
> + (gobject_class, PROP_KEYPRESS_DELAY,
> + g_param_spec_uint("keypress-delay", "Keypress delay",
> + "Keypress delay",
> + 0, G_MAXUINT, 100,
> + G_PARAM_READWRITE |
> + G_PARAM_CONSTRUCT |
> + G_PARAM_STATIC_STRINGS));
> +
> + /**
> * SpiceDisplay:disable-inputs:
> *
> * Disable all keyboard & mouse inputs.
>
More information about the Spice-devel
mailing list