blob: e0064491d09d15a33cdc39c201ec97e43373f3b9 [file] [log] [blame]
/**
* @file kmap.h
* @brief Functions for keymaps manipulation (add/delete keys).
*/
#ifndef LK_KMAP_H
#define LK_KMAP_H
#include <keymap/context.h>
#include <keymap/findfile.h>
int lk_add_map(struct lk_ctx *ctx, unsigned int k_table);
int lk_map_exists(struct lk_ctx *ctx, unsigned int k_table);
int lk_get_keys_total(struct lk_ctx *ctx, unsigned int k_table);
int lk_add_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index, int keycode);
int lk_del_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
int lk_get_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
int lk_key_exists(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
/* Functions for key string manipulations */
int lk_get_func(struct lk_ctx *ctx, struct kbsentry *kbs);
int lk_add_func(struct lk_ctx *ctx, struct kbsentry *kbs);
int lk_del_func(struct lk_ctx *ctx, unsigned int index);
int lk_func_exists(struct lk_ctx *ctx, unsigned int index);
/* Functions for manipulations with diacritical table */
int lk_get_diacr(struct lk_ctx *ctx, unsigned int index, struct lk_kbdiacr *dcr);
int lk_add_diacr(struct lk_ctx *ctx, unsigned int index, struct lk_kbdiacr *dcr);
int lk_del_diacr(struct lk_ctx *ctx, unsigned int index);
int lk_diacr_exists(struct lk_ctx *ctx, unsigned int index);
int lk_append_diacr(struct lk_ctx *ctx, struct lk_kbdiacr *dcr);
int lk_append_compose(struct lk_ctx *ctx, struct lk_kbdiacr *dcr);
int lk_add_constants(struct lk_ctx *ctx);
int lk_parse_keymap(struct lk_ctx *ctx, lkfile_t *f);
int lk_load_keymap(struct lk_ctx *ctx, int fd, int kbd_mode);
#endif /* LK_KMAP_H */