[metacity] keybindings: use XGetKeyboardMapping to get KeySym from Keycode



commit ab8c187da6ea28a8b49e09e1f9b1f61fb46d49ff
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Wed Jun 3 23:48:21 2015 +0300

    keybindings: use XGetKeyboardMapping to get KeySym from Keycode

 src/core/keybindings.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index ac3fa28..e05fe93 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -263,14 +263,18 @@ static KeySym
 keycode_to_keysym (MetaDisplay *display,
                    guint        keycode)
 {
+  int keysyms_return;
+  KeySym *keysyms;
+  KeySym keysym;
+
   if (keycode == meta_display_get_above_tab_keycode (display))
     return META_KEY_ABOVE_TAB;
 
-#ifdef HAVE_XKB
-  return XkbKeycodeToKeysym (display->xdisplay, keycode, 0, 0);
-#else
-  return XKeycodeToKeysym (display->xdisplay, keycode, 0);
-#endif
+  keysyms = XGetKeyboardMapping (display->xdisplay, keycode, 1, &keysyms_return);
+  keysym = keysyms[0];
+  XFree (keysyms);
+
+  return keysym;
 }
 
 static void


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