X11: Query and keep track of Xkb group index

For users with multiple keyboard layouts configured, glfwGetKeyName
works fine only with the primary layout.  Switching layouts results in
changing the group index.  This commit querries the current group index
when initializing keyboard input and keeps track of any change to it.

As a result the scancode -> keyname mapping may change while the program
is running (needs to be documented).

Fixes #1462.
Closes #1528.
This commit is contained in:
Denis Bernard
2019-05-30 00:37:26 +02:00
committed by Camilla Löwy
parent c6b95e3b07
commit 36f90800d8
3 changed files with 28 additions and 10 deletions

View File

@@ -323,13 +323,14 @@ typedef struct _GLFWlibraryX11
} randr;
struct {
GLFWbool available;
GLFWbool detectable;
int majorOpcode;
int eventBase;
int errorBase;
int major;
int minor;
GLFWbool available;
GLFWbool detectable;
int majorOpcode;
int eventBase;
int errorBase;
int major;
int minor;
unsigned int group;
} xkb;
struct {