diff options
author | Daniel Stone <daniel@fooishbar.org> | 2008-10-18 20:59:30 +0100 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2009-01-22 15:08:58 +1100 |
commit | f06a9d2e05e13466c115fc706966a90b1fb0518e (patch) | |
tree | abc6377267185b8e02fd81bc3bcc65dd66fa960b /xkb/xkb.c | |
parent | 1d1a0f67eee330a286fbdef17e967ce8ea201548 (diff) |
Input: Clean up keymap change notifications
Keyboard map notifications are always generated from within XKB code,
which also takes care of copying the keysyms, etc. If you need to
mangle the keymap yourself, generate a new core keymap/modmap, and pass
it to XkbApplyMappingChange.
SendMappingNotify is renamed to SendPointerMappingNotify (and ditto its
Device variants), which still only _sends_ the notifications, as opposed
to also doing the copying a la XkbApplyMappingChange.
Also have the modmap change code traverse the device hierachy, rather
than just going off the core keyboard.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Diffstat (limited to 'xkb/xkb.c')
-rw-r--r-- | xkb/xkb.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -5837,8 +5837,7 @@ ProcXkbGetKbdByName(ClientPtr client) (dev->id == inputInfo.keyboard->id && tmpd->key && tmpd->coreEvents)) { if (tmpd != dev) - XkbCopyKeymap(dev->key->xkbInfo->desc, - tmpd->key->xkbInfo->desc, True); + XkbCopyDeviceKeymap(tmpd, dev); XkbUpdateCoreDescription(tmpd, True); if (tmpd->kbdfeed && tmpd->kbdfeed->xkb_sli) { |