Terminal emulator with all the bells and whistles https://www.enlightenment.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.3 KiB

#ifndef _KEYIN_H__
#define _KEYIN_H__ 1
typedef struct _Keys_Handler Keys_Handler;
struct _Keys_Handler
Ecore_IMF_Context *imf;
unsigned int last_keyup;
Eina_List *seq;
unsigned char composing : 1;
keyin_handle_key_to_pty(Termpty *ty, const Evas_Event_Key_Down *ev,
const int alt, const int shift, const int ctrl);
termpty_can_handle_key(const Termpty *ty,
const Keys_Handler *khdl,
const Evas_Event_Key_Down *ev);
void keyin_compose_seq_reset(Keys_Handler *khdl);
Eina_Bool key_is_modifier(const char *key);
keyin_handle_key_binding(Evas_Object *termio, const Evas_Event_Key_Down *ev,
Eina_Bool ctrl, Eina_Bool alt, Eina_Bool shift,
Eina_Bool win, Eina_Bool meta, Eina_Bool hyper);
void keyin_handle_up(Keys_Handler *khdl, Evas_Event_Key_Up *ev);
typedef Eina_Bool (*Key_Binding_Cb)(Evas_Object *term);
typedef struct _Shortcut_Action Shortcut_Action;
struct _Shortcut_Action
const char *action;
const char *description;
Key_Binding_Cb cb;
const Shortcut_Action *shortcut_actions_get(void);
int key_bindings_load(Config *config);
6 years ago
int keyin_add_config(const Config_Keys *cfg_key);
int keyin_remove_config(const Config_Keys *cfg_key);
void key_bindings_shutdown(void);