keymap.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifndef MC__KEYMAP_H
  2. #define MC__KEYMAP_H
  3. #include "lib/event.h"
  4. /*** typedefs(not structures) and defined constants **********************************************/
  5. typedef struct
  6. {
  7. const char *name;
  8. const char *event_group;
  9. const char *event_name;
  10. } mc_keymap_event_init_group_t;
  11. typedef struct
  12. {
  13. const char *group;
  14. const mc_keymap_event_init_group_t *keymap_events;
  15. } mc_keymap_event_init_t;
  16. /*** enums ***************************************************************************************/
  17. /*** structures declarations (and typedefs of structures)*****************************************/
  18. /*** global variables defined in .c file *********************************************************/
  19. /*** declarations of public functions ************************************************************/
  20. gboolean mc_keymap_init (GError ** error);
  21. gboolean mc_keymap_deinit (GError ** error);
  22. gboolean mc_keymap_bind_keycode (const char *group, const char *name, const char *pressed_keynames,
  23. gboolean isDeleteOld, GError ** error);
  24. gboolean mc_keymap_bind_event (const char *group, const char *name, const char *event_group,
  25. const char *event_name, GError ** error);
  26. gboolean mc_keymap_mass_bind_event (const mc_keymap_event_init_t *, GError ** error);
  27. gboolean mc_keymap_bind_switch_event (const char *group, const char *name, const char *switch_group,
  28. GError ** error);
  29. gboolean mc_keymap_process_group (const char *group, long pressed_keycode, void *data,
  30. event_return_t * ret, GError ** error);
  31. const char *mc_keymap_get_key_name_by_code (const char *group, long pressed_keycode,
  32. GError ** error);
  33. /*** inline functions ****************************************************************************/
  34. #endif /* MC__KEYMAP_H */