3 typedef struct _E_Keyrouter_Intercept_Hook E_Keyrouter_Intercept_Hook;
4 typedef struct _E_Keyrouter_Info E_Keyrouter_Info;
5 typedef struct _E_Keyrouter_Key_List_Node E_Keyrouter_Key_List_Node;
6 typedef struct _E_Keyrouter_Key_List_Node* E_Keyrouter_Key_List_NodePtr;
7 typedef struct _E_Keyrouter_Tizen_HWKey E_Keyrouter_Tizen_HWKey;
8 typedef struct _E_Keyrouter_Grabbed_Key E_Keyrouter_Grabbed_Key;
9 typedef struct _E_Keyrouter_Registered_Window_Info E_Keyrouter_Registered_Window_Info;
10 typedef struct _E_Keyrouter_Event_Data E_Keyrouter_Event_Data;
12 typedef enum _E_Keyrouter_Intercept_Hook_Point
14 E_KEYROUTER_INTERCEPT_HOOK_BEFORE_KEYROUTING,
15 E_KEYROUTER_INTERCEPT_HOOK_DELIVER_FOCUS,
16 E_KEYROUTER_INTERCEPT_HOOK_LAST
17 } E_Keyrouter_Intercept_Hook_Point;
19 typedef enum _E_Keyrouter_Client_Status
24 } E_Keyrouter_Client_Status;
26 typedef Eina_Bool (*E_Keyrouter_Intercept_Hook_Cb) (void *data, int type, Ecore_Event_Key *event);
32 extern E_API E_Keyrouter_Info e_keyrouter;
34 struct _E_Keyrouter_Intercept_Hook
37 E_Keyrouter_Intercept_Hook_Point hookpoint;
38 E_Keyrouter_Intercept_Hook_Cb func;
40 unsigned char delete_me : 1;
43 struct _E_Keyrouter_Info
45 void *(*keygrab_list_get)(void);
46 int (*max_keycode_get)(void);
49 struct _E_Keyrouter_Registered_Window_Info
51 struct wl_resource *surface;
55 struct _E_Keyrouter_Key_List_Node
57 struct wl_resource *surface;
60 E_Keyrouter_Client_Status status;
63 struct _E_Keyrouter_Tizen_HWKey
71 struct _E_Keyrouter_Grabbed_Key
75 Eina_Bool no_privcheck;
79 Eina_List *or_excl_ptr;
81 Eina_List *shared_ptr;
83 Eina_List *pic_off_ptr;
86 struct _E_Keyrouter_Event_Data
88 struct wl_client *client;
89 struct wl_resource *surface;
98 E_API E_Keyrouter_Intercept_Hook *e_keyrouter_intercept_hook_add(E_Keyrouter_Intercept_Hook_Point hookpoint, E_Keyrouter_Intercept_Hook_Cb func, const void *data);
99 E_API void e_keyrouter_intercept_hook_del(E_Keyrouter_Intercept_Hook *ch);
100 E_API Eina_Bool e_keyrouter_intercept_hook_call(E_Keyrouter_Intercept_Hook_Point hookpoint, int type, Ecore_Event_Key *event);
102 E_API int e_keyrouter_init(void);
103 E_API int e_keyrouter_shutdown(void);