From c9b7e5663583777cc7b1e084160fc62207fe413e Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 19 Aug 2012 03:06:46 +0000 Subject: [PATCH] also tell xkb to refresh mappings. :) SVN revision: 75422 --- legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c index 797d8c92f8..fc08923176 100644 --- a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c +++ b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_events.c @@ -2510,7 +2510,16 @@ _ecore_x_event_handle_xkb(XEvent *xevent) e->group = xkbev->state.group; if (xkbev->any.xkb_type == XkbStateNotify) ecore_event_add(ECORE_X_EVENT_XKB_STATE_NOTIFY, e, NULL, NULL); - else if (xkbev->any.xkb_type == XkbNewKeyboardNotify) - ecore_event_add(ECORE_X_EVENT_XKB_NEWKBD_NOTIFY, e, NULL, NULL); + else if ((xkbev->any.xkb_type == XkbNewKeyboardNotify) || + (xkbev->any.xkb_type == XkbMapNotify)) + { + if (xkbev->any.xkb_type == XkbMapNotify) + { + XkbMapNotifyEvent *xkbmapping = xkbev; + + XkbRefreshKeyboardMapping(xkbmapping); + } + ecore_event_add(ECORE_X_EVENT_XKB_NEWKBD_NOTIFY, e, NULL, NULL); + } } #endif /* ifdef ECORE_XKB */