[libhandy] examples: Translate keyval properly for Ctrl+Q
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libhandy] examples: Translate keyval properly for Ctrl+Q
- Date: Mon, 24 Aug 2020 16:05:52 +0000 (UTC)
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]