[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 03/10] ui/gkt: release all keys on grab-broken-event
From: |
Volker Rümelin |
Subject: |
[PATCH 03/10] ui/gkt: release all keys on grab-broken-event |
Date: |
Sun, 10 May 2020 20:42:57 +0200 |
There is no way to grab the Ctrl-Alt-Del key combination on
Windows. This key combination will leave all three keys in a
stuck condition. This patch uses the grab-broken-event to
release the keys.
Signed-off-by: Volker Rümelin <address@hidden>
---
ui/gtk.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/ui/gtk.c b/ui/gtk.c
index 68c63532b1..5de2a75691 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1132,6 +1132,20 @@ static gboolean gd_key_event(GtkWidget *widget,
GdkEventKey *key, void *opaque)
return TRUE;
}
+static gboolean gd_grab_broken_event(GtkWidget *widget,
+ GdkEventGrabBroken *event, void *opaque)
+{
+#ifdef CONFIG_WIN32
+ if (event->keyboard) {
+ VirtualConsole *vc = opaque;
+ GtkDisplayState *s = vc->s;
+
+ gtk_release_modifiers(s);
+ }
+#endif
+ return TRUE;
+}
+
static gboolean gd_event(GtkWidget *widget, GdkEvent *event, void *opaque)
{
if (event->type == GDK_MOTION_NOTIFY) {
@@ -1910,6 +1924,8 @@ static void gd_connect_vc_gfx_signals(VirtualConsole *vc)
G_CALLBACK(gd_focus_out_event), vc);
g_signal_connect(vc->gfx.drawing_area, "configure-event",
G_CALLBACK(gd_configure), vc);
+ g_signal_connect(vc->gfx.drawing_area, "grab-broken-event",
+ G_CALLBACK(gd_grab_broken_event), vc);
} else {
g_signal_connect(vc->gfx.drawing_area, "key-press-event",
G_CALLBACK(gd_text_key_down), vc);
--
2.26.1
- Patches for ui/gtk and ui/sdl, Volker Rümelin, 2020/05/10
- [PATCH 03/10] ui/gkt: release all keys on grab-broken-event,
Volker Rümelin <=
- [PATCH 02/10] ui/gtk: fix handling of AltGr key on Windows, Volker Rümelin, 2020/05/10
- [PATCH 01/10] ui/win32-kbd-hook: handle AltGr in a hook procedure, Volker Rümelin, 2020/05/10
- [PATCH 05/10] ui/gtk: remove unused variable ignore_keys, Volker Rümelin, 2020/05/10
- [PATCH 06/10] ui/sdl2: fix handling of AltGr key on Windows, Volker Rümelin, 2020/05/10
- [PATCH 04/10] ui/gtk: remove unused code, Volker Rümelin, 2020/05/10