[libhandy] examples: Translate keyval properly for Ctrl+Q



commit ae3b50155f611f29f34577fad518f8da5abafdc1
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Fri Aug 14 17:31:36 2020 +0500

    examples: Translate keyval properly for Ctrl+Q
    
    See the previous commit.
    
    Signed-off-by: Alexander Mikhaylenko <alexm gnome org>

 examples/hdy-demo-window.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/examples/hdy-demo-window.c b/examples/hdy-demo-window.c
index 55c872f2..ffcab9a1 100644
--- a/examples/hdy-demo-window.c
+++ b/examples/hdy-demo-window.c
@@ -70,10 +70,19 @@ hdy_demo_window_key_pressed_cb (GtkWidget     *sender,
   GdkModifierType default_modifiers = gtk_accelerator_get_default_mod_mask ();
   guint keyval;
   GdkModifierType state;
+  GdkKeymap *keymap;
+  GdkEventKey *key_event = (GdkEventKey *) event;
 
-  gdk_event_get_keyval (event, &keyval);
   gdk_event_get_state (event, &state);
 
+  keymap = gdk_keymap_get_for_display (gtk_widget_get_display (sender));
+
+  gdk_keymap_translate_keyboard_state (keymap,
+                                       key_event->hardware_keycode,
+                                       state,
+                                       key_event->group,
+                                       &keyval, NULL, NULL, NULL);
+
   if ((keyval == GDK_KEY_q || keyval == GDK_KEY_Q) &&
       (state & default_modifiers) == GDK_CONTROL_MASK) {
     gtk_widget_destroy (GTK_WIDGET (self));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]