also tell xkb to refresh mappings. :)

SVN revision: 75422
This commit is contained in:
Carsten Haitzler 2012-08-19 03:06:46 +00:00
parent c7a59e832a
commit c9b7e56635
1 changed files with 11 additions and 2 deletions

View File

@ -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 */