mc/lib/keymap.h
Slava Zanko 785144d625 Added new keymap implementation
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2015-04-06 12:25:16 +03:00

52 lines
1.9 KiB
C

#ifndef MC__KEYMAP_H
#define MC__KEYMAP_H
#include "lib/event.h"
/*** typedefs(not structures) and defined constants **********************************************/
typedef struct
{
const char *name;
const char *event_group;
const char *event_name;
} mc_keymap_event_init_group_t;
typedef struct
{
const char *group;
const mc_keymap_event_init_group_t *keymap_events;
} mc_keymap_event_init_t;
/*** enums ***************************************************************************************/
/*** structures declarations (and typedefs of structures)*****************************************/
/*** global variables defined in .c file *********************************************************/
/*** declarations of public functions ************************************************************/
gboolean mc_keymap_init (GError ** error);
gboolean mc_keymap_deinit (GError ** error);
gboolean mc_keymap_bind_keycode (const char *group, const char *name, const char *pressed_keynames,
gboolean isDeleteOld, GError ** error);
gboolean mc_keymap_bind_event (const char *group, const char *name, const char *event_group,
const char *event_name, GError ** error);
gboolean mc_keymap_mass_bind_event (const mc_keymap_event_init_t *, GError ** error);
gboolean mc_keymap_bind_switch_event (const char *group, const char *name, const char *switch_group,
GError ** error);
gboolean mc_keymap_process_group (const char *group, long pressed_keycode, void *data,
event_return_t * ret, GError ** error);
const char *mc_keymap_get_key_name_by_code (const char *group, long pressed_keycode,
GError ** error);
/*** inline functions ****************************************************************************/
#endif /* MC__KEYMAP_H */