mirror of
https://github.com/gwm17/glfw.git
synced 2024-11-27 04:28:52 -05:00
Added use of XkbKeycodeToKeysym when Xkb is available.
This commit is contained in:
parent
c90f5d6b65
commit
7e0ca6705b
|
@ -79,7 +79,11 @@ static int keyCodeToGLFWKeyCode(int keyCode)
|
||||||
// Note: This way we always force "NumLock = ON", which is intentional
|
// Note: This way we always force "NumLock = ON", which is intentional
|
||||||
// since the returned key code should correspond to a physical
|
// since the returned key code should correspond to a physical
|
||||||
// location.
|
// location.
|
||||||
|
#if defined(_GLFW_HAS_XKB)
|
||||||
|
keySym = XkbKeycodeToKeysym(_glfwLibrary.X11.display, keyCode, 1, 0);
|
||||||
|
#else
|
||||||
keySym = XKeycodeToKeysym(_glfwLibrary.X11.display, keyCode, 1);
|
keySym = XKeycodeToKeysym(_glfwLibrary.X11.display, keyCode, 1);
|
||||||
|
#endif
|
||||||
switch (keySym)
|
switch (keySym)
|
||||||
{
|
{
|
||||||
case XK_KP_0: return GLFW_KEY_KP_0;
|
case XK_KP_0: return GLFW_KEY_KP_0;
|
||||||
|
@ -102,7 +106,12 @@ static int keyCodeToGLFWKeyCode(int keyCode)
|
||||||
// Now try pimary keysym for function keys (non-printable keys). These
|
// Now try pimary keysym for function keys (non-printable keys). These
|
||||||
// should not be layout dependent (i.e. US layout and international
|
// should not be layout dependent (i.e. US layout and international
|
||||||
// layouts should give the same result).
|
// layouts should give the same result).
|
||||||
|
#if defined(_GLFW_HAS_XKB)
|
||||||
|
keySym = XkbKeycodeToKeysym(_glfwLibrary.X11.display, keyCode, 0, 0);
|
||||||
|
#else
|
||||||
keySym = XKeycodeToKeysym(_glfwLibrary.X11.display, keyCode, 0);
|
keySym = XKeycodeToKeysym(_glfwLibrary.X11.display, keyCode, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (keySym)
|
switch (keySym)
|
||||||
{
|
{
|
||||||
case XK_Escape: return GLFW_KEY_ESCAPE;
|
case XK_Escape: return GLFW_KEY_ESCAPE;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user