libkeymap  2.0.4
Library to manage the Linux keymaps
src/libkeymap/keymap/kmap.h
Go to the documentation of this file.
00001 
00005 #ifndef LK_KMAP_H
00006 #define LK_KMAP_H
00007 
00008 #include <keymap/context.h>
00009 #include <keymap/findfile.h>
00010 
00011 int lk_add_map(struct lk_ctx *ctx, unsigned int k_table);
00012 int lk_map_exists(struct lk_ctx *ctx, unsigned int k_table);
00013 
00014 int lk_get_keys_total(struct lk_ctx *ctx, unsigned int k_table);
00015 
00016 int lk_add_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index, int keycode);
00017 int lk_del_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
00018 int lk_get_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
00019 int lk_key_exists(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
00020 
00021 /* Functions for key string manipulations */
00022 int lk_get_func(struct lk_ctx *ctx, struct kbsentry *kbs);
00023 int lk_add_func(struct lk_ctx *ctx, struct kbsentry *kbs);
00024 int lk_del_func(struct lk_ctx *ctx, unsigned int index);
00025 int lk_func_exists(struct lk_ctx *ctx, unsigned int index);
00026 
00027 /* Functions for manipulations with diacritical table */
00028 int lk_get_diacr(struct lk_ctx *ctx, unsigned int index, struct lk_kbdiacr *dcr);
00029 int lk_add_diacr(struct lk_ctx *ctx, unsigned int index, struct lk_kbdiacr *dcr);
00030 int lk_del_diacr(struct lk_ctx *ctx, unsigned int index);
00031 int lk_diacr_exists(struct lk_ctx *ctx, unsigned int index);
00032 int lk_append_diacr(struct lk_ctx *ctx, struct lk_kbdiacr *dcr);
00033 int lk_append_compose(struct lk_ctx *ctx, struct lk_kbdiacr *dcr);
00034 
00035 int lk_add_constants(struct lk_ctx *ctx);
00036 
00037 int lk_parse_keymap(struct lk_ctx *ctx, lkfile_t *f);
00038 int lk_load_keymap(struct lk_ctx *ctx, int fd, int kbd_mode);
00039 
00040 #endif /* LK_KMAP_H */