[PATCH] Save Windows scancode inside GdkEvent
- From: Frediano Ziglio <fziglio redhat com>
- To: gtk-devel-list gnome org
- Subject: [PATCH] Save Windows scancode inside GdkEvent
- Date: Tue, 19 Apr 2016 15:14:37 +0100
Scancode information is not saved inside GdkEvent.
Some application requires that information so provide a way
to retrieve it.
Note that added field in GdkEventKey is in a position to not change
ABI.
Signed-off-by: Frediano Ziglio <fziglio redhat com>
---
 gdk/gdkevents.h             | 3 +++
 gdk/win32/gdkevents-win32.c | 2 ++
 2 files changed, 5 insertions(+)
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index 3e7824f..e92fa93 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -864,6 +864,9 @@ struct _GdkEventKey
   GdkEventType type;
   GdkWindow *window;
   gint8 send_event;
+#if defined(G_OS_WIN32)
+  guint16 hardware_scancode;
+#endif
   guint32 time;
   guint state;
   guint keyval;
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index c6f6a24..a01a9f0 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -2418,6 +2418,8 @@ gdk_event_translate (MSG  *msg,
       if (msg->wParam == VK_MENU)
        event->key.state &= ~GDK_MOD1_MASK;
 
+      /* save original scancode */
+      event->key.hardware_scancode = msg->lParam >> 16;
       _gdk_win32_append_event (event);
 
       return_val = TRUE;
-- 
2.5.5
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]