ELOGF("INPUT", "wl_keyboard_send_key:%s:%s|B|", NULL, (state ? "PRESS" : "RELEASE"), ev->keyname);
}
+ if (focused)
+ g_mutex_lock(&e_comp_wl->kbd.focused_mutex);
+ else
+ g_mutex_lock(&e_comp_wl->kbd.resource_mutex);
+
EINA_LIST_FOREACH(key_list, l, res)
{
wc = wl_resource_get_client(res);
TRACE_INPUT_END();
}
+ if (focused)
+ g_mutex_unlock(&e_comp_wl->kbd.focused_mutex);
+ else
+ g_mutex_unlock(&e_comp_wl->kbd.resource_mutex);
+
if (e_config->key_input_ttrace_enable)
{
TRACE_INPUT_END();
if (!focused)
{
- g_mutex_lock(&e_comp_wl->kbd.resource_mutex);
_e_keyrouter_wl_key_send(ev, dev, state, e_comp_wl->kbd.resources, EINA_FALSE, client, surface);
- g_mutex_unlock(&e_comp_wl->kbd.resource_mutex);
return EINA_FALSE;
}
struct wl_resource *surface = e_comp_wl_client_surface_get(ec);
if (surface)
{
- g_mutex_lock(&e_comp_wl->kbd.focused_mutex);
if (e_comp_wl->kbd.focused)
{
wc = wl_resource_get_client(surface);
_e_keyrouter_wl_key_send(ev, dev, state, e_comp_wl->kbd.focused, EINA_TRUE, wc, surface);
}
- g_mutex_unlock(&e_comp_wl->kbd.focused_mutex);
}
/* update modifier state */