diff options
author | Daniel Stone <daniel@fooishbar.org> | 2008-10-18 20:26:00 +0100 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2009-01-22 15:08:59 +1100 |
commit | 4fa3872dc2bcfd6d1fc88d0a94c7071683eea899 (patch) | |
tree | 0585901468faf3fac862bf6cb667dc2b302ced91 /Xi/listdev.c | |
parent | bc909f71367a02297e725bb5769c2bcadab22395 (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/listdev.c')
-rw-r--r-- | Xi/listdev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Xi/listdev.c b/Xi/listdev.c index 04550e488..9a5a189de 100644 --- a/Xi/listdev.c +++ b/Xi/listdev.c @@ -64,6 +64,8 @@ SOFTWARE. #include "exglobals.h" /* FIXME */ #include "exevents.h" #include "xace.h" +#include "xkbsrv.h" +#include "xkbstr.h" #include "listdev.h" @@ -211,8 +213,8 @@ CopySwapKeyClass(ClientPtr client, KeyClassPtr k, char **buf) k2 = (xKeyInfoPtr) * buf; k2->class = KeyClass; k2->length = sizeof(xKeyInfo); - k2->min_keycode = k->curKeySyms.minKeyCode; - k2->max_keycode = k->curKeySyms.maxKeyCode; + k2->min_keycode = k->xkbInfo->desc->min_key_code; + k2->max_keycode = k->xkbInfo->desc->max_key_code; k2->num_keys = k2->max_keycode - k2->min_keycode + 1; if (client && client->swapped) { swaps(&k2->num_keys, n); |