summaryrefslogtreecommitdiff
path: root/Xi/queryst.c
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2008-10-18 20:26:00 +0100
committerDaniel Stone <daniel@fooishbar.org>2009-01-22 15:08:59 +1100
commit4fa3872dc2bcfd6d1fc88d0a94c7071683eea899 (patch)
tree0585901468faf3fac862bf6cb667dc2b302ced91 /Xi/queryst.c
parentbc909f71367a02297e725bb5769c2bcadab22395 (diff)
Input: Remove core keysyms from KeyClassRec
Instead of always keeping two copies of the keymap, only generate the core keymap from the XKB keymap when we really need to, and use the XKB keymap as the canonical keymap. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'Xi/queryst.c')
-rw-r--r--Xi/queryst.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Xi/queryst.c b/Xi/queryst.c
index 6553aa88e..2b20837d1 100644
--- a/Xi/queryst.c
+++ b/Xi/queryst.c
@@ -42,6 +42,8 @@ from The Open Group.
#include <X11/extensions/XIproto.h>
#include "exevents.h"
#include "exglobals.h"
+#include "xkbsrv.h"
+#include "xkbstr.h"
#include "queryst.h"
@@ -126,7 +128,8 @@ ProcXQueryDeviceState(ClientPtr client)
tk = (xKeyState *) buf;
tk->class = KeyClass;
tk->length = sizeof(xKeyState);
- tk->num_keys = k->curKeySyms.maxKeyCode - k->curKeySyms.minKeyCode + 1;
+ tk->num_keys = k->xkbInfo->desc->max_key_code -
+ k->xkbInfo->desc->min_key_code + 1;
for (i = 0; i < 32; i++)
tk->keys[i] = k->down[i];
buf += sizeof(xKeyState);