_e_keyrouter_send_key_events_release(int type, Ecore_Event_Key *ev, E_Device *dev)
{
E_Keyrouter_Key_List_NodePtr key_node_data;
- Eina_Bool res_hook = EINA_TRUE;
+ Eina_Bool res = EINA_TRUE;
E_Keyrouter_Event_Data *key_data = NULL;
Eina_List *press_ptr_list = NULL;
{
if (key_node_data->focused == EINA_TRUE)
{
- res_hook = e_keyrouter_intercept_hook_call(E_KEYROUTER_INTERCEPT_HOOK_DELIVER_FOCUS, type, ev);
- key_data = (E_Keyrouter_Event_Data *)ev->data;
-
- if (res_hook)
+ res = e_keyrouter_intercept_hook_call(E_KEYROUTER_INTERCEPT_HOOK_DELIVER_FOCUS, type, ev);
+ if (!res)
{
- if (key_data->ignored)
- {
- E_FREE(key_node_data);
- continue;
- }
- if (key_data->surface || key_data->client)
- {
- _e_keyrouter_send_key_event(type, key_data->surface, key_data->client, ev, dev,
- EINA_FALSE);
-
- _e_keyrouter_log_key_event(KEY_EVENT_LOG_TYPE_RELEASE_HOOK, "PRESSED",
- ev->keycode,
- key_node_data->focused,
- key_node_data->status,
- key_node_data->surface,
- key_node_data->wc);
+ E_FREE(key_node_data);
+ continue;
+ }
- E_FREE(key_node_data);
+ key_data = (E_Keyrouter_Event_Data *)ev->data;
- continue;
- }
+ if (key_data->ignored)
+ {
+ E_FREE(key_node_data);
+ continue;
+ }
+ if (key_data->surface || key_data->client)
+ {
+ _e_keyrouter_send_key_event(type, key_data->surface, key_data->client, ev, dev,
+ EINA_FALSE);
+
+ _e_keyrouter_log_key_event(KEY_EVENT_LOG_TYPE_RELEASE_HOOK, "PRESSED",
+ ev->keycode,
+ EINA_FALSE,
+ E_KRT_CSTAT_ALIVE,
+ key_data->surface,
+ key_data->client);
+
+ E_FREE(key_node_data);
+ continue;
}
- }
- if (!res_hook)
- {
- E_FREE(key_node_data);
- continue;
}
if (key_node_data->status == E_KRT_CSTAT_ALIVE)
_e_keyrouter_log_key_event(key_event_log_type, "TOPMOST (TOP_POSITION)",
ev->keycode,
- key_node_data->focused,
- key_node_data->status,
- key_node_data->surface,
- key_node_data->wc);
+ top_key_node_data->focused,
+ top_key_node_data->status,
+ top_key_node_data->surface,
+ top_key_node_data->wc);
g_rec_mutex_unlock(&krt->grab_key_mutex);
}
static Eina_Bool
-_e_keyrouter_send_key_events_focus(int type, struct wl_resource *surface_focus, Ecore_Event_Key *ev, E_Device *dev, struct wl_resource **delivered_surface)
+_e_keyrouter_send_key_events_focus(int type, struct wl_resource *surface_focus, Ecore_Event_Key *ev, E_Device *dev, struct wl_resource **delivered_surface)
{
E_Keyrouter_Event_Data *key_data;
Eina_Bool res = EINA_TRUE;
ev = (Ecore_Event_Key *)event;
- TRACE_INPUT_BEGIN(_e_keyrouter_cb_key_down:KEY_RELEASE(%d), ev->keycode);
+ TRACE_INPUT_BEGIN(_e_keyrouter_cb_key_up:KEY_RELEASE(%d), ev->keycode);
TRACE_INPUT_END();
return _e_keyrouter_event_process(event, (E_Device *)ev->dev, type);