A survey of Enlightenment code shows that it is always done there.
Change-Id: I6b8792f8b5b49a9135ae6b50b10adf3ff7ed4e62
int _get_keycode_from_string(const char *key)
{
xkb_keysym_t keysym = xkb_keysym_from_name(key, XKB_KEYSYM_NO_FLAGS);
- struct xkb_keymap *keymap = e_comp_wl->xkb.keymap;
keycode_map_entry pair = {keysym, 0};
- xkb_keymap_key_for_each(keymap, _find_keycode, &pair);
+
+ g_mutex_lock(&e_comp_wl->xkb.keymap_mutex);
+ xkb_keymap_key_for_each(e_comp_wl->xkb.keymap, _find_keycode, &pair);
+ g_mutex_unlock(&e_comp_wl->xkb.keymap_mutex);
return pair.keycode;
}