3 typedef enum _E_Binding_Context
5 E_BINDING_CONTEXT_NONE,
6 E_BINDING_CONTEXT_UNKNOWN,
7 E_BINDING_CONTEXT_WINDOW,
8 E_BINDING_CONTEXT_ZONE,
9 E_BINDING_CONTEXT_CONTAINER,
10 E_BINDING_CONTEXT_MANAGER,
11 E_BINDING_CONTEXT_MENU,
12 E_BINDING_CONTEXT_WINLIST,
13 E_BINDING_CONTEXT_POPUP,
17 /* why do we do this? config stored bindings must be fixed. x's modifier masks
18 * may change from time to time, xserver to xserver - so we can't do a
19 * simple match without translating to fixed values
21 typedef enum _E_Binding_Modifier
23 E_BINDING_MODIFIER_NONE = 0,
24 E_BINDING_MODIFIER_SHIFT = (1 << 0),
25 E_BINDING_MODIFIER_CTRL = (1 << 1),
26 E_BINDING_MODIFIER_ALT = (1 << 2),
27 E_BINDING_MODIFIER_WIN = (1 << 3)
30 typedef struct _E_Binding_Mouse E_Binding_Mouse;
31 typedef struct _E_Binding_Key E_Binding_Key;
32 typedef struct _E_Binding_Edge E_Binding_Edge;
33 typedef struct _E_Binding_Signal E_Binding_Signal;
34 typedef struct _E_Binding_Wheel E_Binding_Wheel;
35 typedef struct _E_Binding_Acpi E_Binding_Acpi;
41 struct _E_Binding_Mouse
43 E_Binding_Context ctxt;
45 E_Binding_Modifier mod;
46 unsigned char any_mod : 1;
53 E_Binding_Context ctxt;
55 E_Binding_Modifier mod;
56 unsigned char any_mod : 1;
61 struct _E_Binding_Edge
63 E_Binding_Context ctxt;
65 E_Binding_Modifier mod;
66 unsigned char any_mod : 1;
74 struct _E_Binding_Signal
76 E_Binding_Context ctxt;
79 E_Binding_Modifier mod;
80 unsigned char any_mod : 1;
85 struct _E_Binding_Wheel
87 E_Binding_Context ctxt;
90 E_Binding_Modifier mod;
91 unsigned char any_mod : 1;
96 struct _E_Binding_Acpi
98 E_Binding_Context ctxt;
100 const char *action, *params;
103 EINTERN int e_bindings_init(void);
104 EINTERN int e_bindings_shutdown(void);
106 EAPI void e_bindings_mouse_reset(void);
107 EAPI void e_bindings_key_reset(void);
108 EAPI void e_bindings_wheel_reset(void);
109 EAPI void e_bindings_edge_reset(void);
110 EAPI void e_bindings_signal_reset(void);
111 EAPI void e_bindings_reset(void);
113 EAPI void e_bindings_mouse_add(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
114 EAPI void e_bindings_mouse_del(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
115 EAPI void e_bindings_mouse_grab(E_Binding_Context ctxt, Ecore_X_Window win);
116 EAPI void e_bindings_mouse_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
117 EAPI E_Action *e_bindings_mouse_down_find(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Button *ev, E_Binding_Mouse **bind_ret);
118 EAPI E_Action *e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Button *ev);
119 EAPI E_Action *e_bindings_mouse_up_find(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Button *ev, E_Binding_Mouse **bind_ret);
120 EAPI E_Action *e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Button *ev);
122 EAPI void e_bindings_key_add(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
123 EAPI void e_bindings_key_del(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
124 EAPI E_Binding_Key *e_bindings_key_get(const char *action);
125 EAPI E_Binding_Key *e_bindings_key_find(const char *key, E_Binding_Modifier mod, int any_mod);
126 EAPI void e_bindings_key_grab(E_Binding_Context ctxt, Ecore_X_Window win);
127 EAPI void e_bindings_key_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
128 EAPI E_Action *e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Key *ev);
129 EAPI E_Action *e_bindings_key_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Key *ev);
130 EAPI E_Action *e_bindings_key_down_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev);
131 EAPI E_Action *e_bindings_key_up_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev);
133 EAPI void e_bindings_edge_add(E_Binding_Context ctxt, E_Zone_Edge edge, E_Binding_Modifier mod, int any_mod, const char *action, const char *params, float delay);
134 EAPI Eina_Bool e_bindings_edge_flippable_get(E_Zone_Edge edge);
135 EAPI Eina_Bool e_bindings_edge_non_flippable_get(E_Zone_Edge edge);
136 EAPI E_Binding_Edge *e_bindings_edge_get(const char *action, E_Zone_Edge edge, int click);
137 EAPI void e_bindings_edge_del(E_Binding_Context ctxt, E_Zone_Edge edge, E_Binding_Modifier mod, int any_mod, const char *action, const char *params, float delay);
138 EAPI E_Action *e_bindings_edge_in_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
139 EAPI E_Action *e_bindings_edge_out_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
140 EAPI E_Action *e_bindings_edge_down_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
141 EAPI E_Action *e_bindings_edge_up_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev);
143 EAPI void e_bindings_signal_add(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
144 EAPI void e_bindings_signal_del(E_Binding_Context ctxt, const char *sig, const char *src, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
145 EAPI E_Action *e_bindings_signal_find(E_Binding_Context ctxt, E_Object *obj, const char *sig, const char *src, E_Binding_Signal **bind_ret);
146 EAPI E_Action *e_bindings_signal_handle(E_Binding_Context ctxt, E_Object *obj, const char *sig, const char *src);
148 EAPI void e_bindings_wheel_add(E_Binding_Context ctxt, int direction, int z, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
149 EAPI void e_bindings_wheel_del(E_Binding_Context ctxt, int direction, int z, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
150 EAPI void e_bindings_wheel_grab(E_Binding_Context ctxt, Ecore_X_Window win);
151 EAPI void e_bindings_wheel_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
152 EAPI E_Action *e_bindings_wheel_find(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Wheel *ev, E_Binding_Wheel **bind_ret);
153 EAPI E_Action *e_bindings_wheel_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Event_Mouse_Wheel *ev);
155 EAPI void e_bindings_acpi_add(E_Binding_Context ctxt, int type, int status, const char *action, const char *params);
156 EAPI void e_bindings_acpi_del(E_Binding_Context ctxt, int type, int status, const char *action, const char *params);
157 EAPI E_Action *e_bindings_acpi_find(E_Binding_Context ctxt, E_Object *obj, E_Event_Acpi *ev, E_Binding_Acpi **bind_ret);
158 EAPI E_Action *e_bindings_acpi_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Acpi *ev);
159 EAPI void e_bindings_mapping_change_enable(Eina_Bool enable);