2014-01-06 13:29:18 -08:00
|
|
|
#ifndef _KEYIN_H__
|
|
|
|
#define _KEYIN_H__ 1
|
|
|
|
|
2014-08-22 12:54:04 -07:00
|
|
|
typedef struct _Keys_Handler Keys_Handler;
|
|
|
|
|
|
|
|
struct _Keys_Handler
|
|
|
|
{
|
|
|
|
Ecore_IMF_Context *imf;
|
|
|
|
unsigned int last_keyup;
|
|
|
|
Eina_List *seq;
|
2014-08-28 12:04:00 -07:00
|
|
|
unsigned char composing : 1;
|
2014-08-22 12:54:04 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
void keyin_compose_seq_reset(Keys_Handler *khdl);
|
|
|
|
Eina_Bool key_is_modifier(const char *key);
|
|
|
|
Eina_Bool keyin_handle(Keys_Handler *khdl, Termpty *ty, const Evas_Event_Key_Down *ev,
|
2014-08-23 08:01:20 -07:00
|
|
|
Eina_Bool ctrl, Eina_Bool alt, Eina_Bool shift);
|
2014-08-22 12:54:04 -07:00
|
|
|
|
|
|
|
void keyin_handle_up(Keys_Handler *khdl, Evas_Event_Key_Up *ev);
|
|
|
|
|
2014-08-23 08:01:20 -07:00
|
|
|
typedef Eina_Bool (*Key_Binding_Cb)(Evas_Object *term);
|
|
|
|
|
2014-08-24 08:53:18 -07:00
|
|
|
typedef struct _Shortcut_Action Shortcut_Action;
|
2014-08-23 08:01:20 -07:00
|
|
|
|
2014-08-24 08:53:18 -07:00
|
|
|
struct _Shortcut_Action
|
|
|
|
{
|
|
|
|
const char *action;
|
|
|
|
const char *description;
|
2014-08-23 08:01:20 -07:00
|
|
|
Key_Binding_Cb cb;
|
|
|
|
};
|
|
|
|
|
2014-08-24 08:53:18 -07:00
|
|
|
const Shortcut_Action *shortcut_actions_get(void);
|
|
|
|
|
|
|
|
int key_bindings_load(Config *config);
|
2014-08-24 11:47:57 -07:00
|
|
|
int keyin_add_config(Config_Keys *cfg_key);
|
|
|
|
int keyin_remove_config(Config_Keys *cfg_key);
|
2014-08-23 08:01:20 -07:00
|
|
|
void key_bindings_shutdown(void);
|
|
|
|
|
2014-01-06 13:29:18 -08:00
|
|
|
|
|
|
|
#endif
|