g_rec_mutex_unlock(&krt->grab_key_mutex);
}
-EINTERN void
-e_keyrouter_keycancel_send(struct wl_client *client, struct wl_resource *surface, unsigned int key)
-{
- Eina_List *l;
- struct wl_resource *resource = NULL;
- struct wl_client *wc = NULL;
- E_Keyrouter_Key_List_NodePtr data;
- Eina_List *press_ptr_list = NULL;
-
- if (surface) wc = wl_resource_get_client(surface);
- else wc = client;
-
- EINA_SAFETY_ON_NULL_RETURN(wc);
-
- g_rec_mutex_lock(&krt->grab_key_mutex);
- press_ptr_list = krt->HardKeys[key].press_ptr;
- EINA_LIST_FOREACH(press_ptr_list, l, data)
- {
- if (surface)
- {
- if (surface == data->surface)
- {
- EINA_LIST_FOREACH(g_tizen_keyrouter->resources, l, resource)
- {
- if (wl_resource_get_client(resource) != wc) continue;
-
- tizen_keyrouter_send_key_cancel(resource, key-8);
- }
- }
- }
- else if (client == data->wc)
- {
- EINA_LIST_FOREACH(g_tizen_keyrouter->resources, l, resource)
- {
- if (wl_resource_get_client(resource) != wc) continue;
-
- tizen_keyrouter_send_key_cancel(resource, key-8);
- }
- }
- }
- g_rec_mutex_unlock(&krt->grab_key_mutex);
-}
-
static int
_e_keyrouter_wl_array_length(const struct wl_array *array)
{
EINTERN int e_keyrouter_wl_add_client_destroy_listener(struct wl_client *client);
EINTERN int e_keyrouter_wl_add_surface_destroy_listener(struct wl_resource *surface);
EINTERN Eina_Bool e_keyrouter_wl_key_send(Ecore_Event_Key *ev, E_Device *dev, Eina_Bool pressed, struct wl_client *client, struct wl_resource *surface, Eina_Bool focused);
-EINTERN void e_keyrouter_keycancel_send(struct wl_client *client, struct wl_resource *surface, unsigned int key);
EINTERN void e_keyrouter_surface_keycancel_send(struct wl_resource *surface, unsigned int key);
EINTERN void e_keyrouter_client_keycancel_send(struct wl_client *client, unsigned int key);
EINTERN void e_keyrouter_wl_event_surface_send(struct wl_resource *surface, int key, int mode);