On Mon, 2015-02-02 at 04:04 -0500, Pavel Grunt wrote: > NACK, It doesn't work in Gnome Shell Just for the record. The keys are being passed to the VM even when the keyboard should not be grabbed (when using gnome-shell). So, sometimes when you're doing any zoom action, the VM receives that input, what is a not expected behavior. > > ----- Original Message ----- > > > > Resolves https://bugzilla.redhat.com/show_bug.cgi?id=921326 > > --- > > src/virt-gtk-compat.h | 3 +++ > > src/virt-viewer-window.c | 28 ++++++++++++++++++++++++++++ > > 2 files changed, 31 insertions(+) > > > > diff --git a/src/virt-gtk-compat.h b/src/virt-gtk-compat.h > > index 110c17a..99965ff 100644 > > --- a/src/virt-gtk-compat.h > > +++ b/src/virt-gtk-compat.h > > @@ -57,6 +57,9 @@ G_BEGIN_DECLS > > #define GDK_0 GDK_KEY_0 > > #define GDK_plus GDK_KEY_plus > > #define GDK_minus GDK_KEY_minus > > +#define GDK_KP_0 GDK_KEY_KP_0 > > +#define GDK_KP_Add GDK_KEY_KP_Add > > +#define GDK_KP_Subtract GDK_KEY_KP_Subtract > > #endif > > > > #if !GTK_CHECK_VERSION(3, 0, 0) > > diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c > > index c5f7c75..62f0d86 100644 > > --- a/src/virt-viewer-window.c > > +++ b/src/virt-viewer-window.c > > @@ -283,6 +283,33 @@ can_activate_cb (GtkWidget *widget > > G_GNUC_UNUSED, > > } > > > > static void > > +numpad_closure (VirtViewerWindow *self, > > + GObject *acceleratable, > > + guint keyval) > > +{ > > + if (keyval == GDK_KP_0) > > + > > virt_viewer_window_menu_view_zoom_reset(GTK_WIDGET(acceleratable), > > self); > > + else if (keyval == GDK_KP_Add) > > + > > virt_viewer_window_menu_view_zoom_in(GTK_WIDGET(acceleratable), > > self); > > + else if (keyval == GDK_KP_Subtract) > > + > > virt_viewer_window_menu_view_zoom_out(GTK_WIDGET(acceleratable), > > self); > > +} > > + > > +static void > > +add_numpad_accelerators (VirtViewerWindow *self) > > +{ > > + VirtViewerWindowPrivate *priv = self->priv; > > + g_return_if_fail(VIRT_VIEWER_IS_WINDOW(self)); > > + > > + gtk_accel_group_connect(priv->accel_group, GDK_KP_0, > > GDK_CONTROL_MASK, GTK_ACCEL_MASK, > > + > > g_cclosure_new_object_swap(G_CALLBACK(numpad_closure), > > G_OBJECT(self))); > > + gtk_accel_group_connect(priv->accel_group, GDK_KP_Add, > > GDK_CONTROL_MASK, GTK_ACCEL_MASK, > > + > > g_cclosure_new_object_swap(G_CALLBACK(numpad_closure), > > G_OBJECT(self))); > > + gtk_accel_group_connect(priv->accel_group, GDK_KP_Subtract, > > GDK_CONTROL_MASK, GTK_ACCEL_MASK, > > + > > g_cclosure_new_object_swap(G_CALLBACK(numpad_closure), > > G_OBJECT(self))); > > +} > > + > > +static void > > virt_viewer_window_init (VirtViewerWindow *self) > > { > > VirtViewerWindowPrivate *priv; > > @@ -305,6 +332,7 @@ virt_viewer_window_init (VirtViewerWindow *self) > > gtk_builder_connect_signals(priv->builder, self); > > > > priv->accel_group = > > GTK_ACCEL_GROUP(gtk_builder_get_object(priv->builder, > > "accelgroup")); > > + add_numpad_accelerators(self); > > > > /* make sure they can be activated even if the menu item is not > > visible */ > > g_signal_connect(gtk_builder_get_object(priv->builder, > > "menu-view-fullscreen"), > > -- > > 1.9.3 > > > > _______________________________________________ > > virt-tools-list mailing list > > virt-tools-list@xxxxxxxxxx > > https://www.redhat.com/mailman/listinfo/virt-tools-list > > > > _______________________________________________ > virt-tools-list mailing list > virt-tools-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/virt-tools-list Best Regards, -- Fabiano Fidêncio _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list