Don't use X11-only functions when not using X11 in wxGTK.
See #16688. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -849,28 +849,31 @@ wxTranslateGTKKeyEventToWx(wxKeyEvent& event,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GDK_WINDOWING_X11
|
#ifdef GDK_WINDOWING_X11
|
||||||
// we want to always get the same key code when the same key is
|
if (GDK_IS_X11_DISPLAY(gdk_window_get_display(gdk_event->window)))
|
||||||
// pressed regardless of the state of the modifiers, i.e. on a
|
{
|
||||||
// standard US keyboard pressing '5' or '%' ('5' key with
|
// we want to always get the same key code when the same key is
|
||||||
// Shift) should result in the same key code in OnKeyDown():
|
// pressed regardless of the state of the modifiers, i.e. on a
|
||||||
// '5' (although OnChar() will get either '5' or '%').
|
// standard US keyboard pressing '5' or '%' ('5' key with
|
||||||
//
|
// Shift) should result in the same key code in OnKeyDown():
|
||||||
// to do it we first translate keysym to keycode (== scan code)
|
// '5' (although OnChar() will get either '5' or '%').
|
||||||
// and then back but always using the lower register
|
//
|
||||||
Display *dpy = (Display *)wxGetDisplay();
|
// to do it we first translate keysym to keycode (== scan code)
|
||||||
KeyCode keycode = XKeysymToKeycode(dpy, keysym);
|
// and then back but always using the lower register
|
||||||
|
Display *dpy = (Display *)wxGetDisplay();
|
||||||
|
KeyCode keycode = XKeysymToKeycode(dpy, keysym);
|
||||||
|
|
||||||
wxLogTrace(TRACE_KEYS, wxT("\t-> keycode %d"), keycode);
|
wxLogTrace(TRACE_KEYS, wxT("\t-> keycode %d"), keycode);
|
||||||
|
|
||||||
#ifdef HAVE_X11_XKBLIB_H
|
#ifdef HAVE_X11_XKBLIB_H
|
||||||
KeySym keysymNormalized = XkbKeycodeToKeysym(dpy, keycode, 0, 0);
|
KeySym keysymNormalized = XkbKeycodeToKeysym(dpy, keycode, 0, 0);
|
||||||
#else
|
#else
|
||||||
KeySym keysymNormalized = XKeycodeToKeysym(dpy, keycode, 0);
|
KeySym keysymNormalized = XKeycodeToKeysym(dpy, keycode, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// use the normalized, i.e. lower register, keysym if we've
|
// use the normalized, i.e. lower register, keysym if we've
|
||||||
// got one
|
// got one
|
||||||
key_code = keysymNormalized ? keysymNormalized : keysym;
|
key_code = keysymNormalized ? keysymNormalized : keysym;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
key_code = keysym;
|
key_code = keysym;
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user