libkeymap
2.0.4
Library to manage the Linux keymaps
|
00001 00005 #ifndef LK_DUMP_H 00006 #define LK_DUMP_H 00007 00008 #include <stdio.h> 00009 00010 #include <keymap/context.h> 00011 00015 typedef enum { 00016 LK_SHAPE_DEFAULT = (1 << 1), 00017 LK_SHAPE_FULL_TABLE = (1 << 2), 00018 LK_SHAPE_SEPARATE_LINES = (1 << 3), 00019 LK_SHAPE_UNTIL_HOLE = (1 << 4) 00020 } lk_table_shape; 00021 00025 struct kmapinfo { 00026 lk_flags flags; 00027 lk_keywords keywords; 00028 size_t keymaps; 00029 size_t keymaps_alloced; 00030 size_t functions; 00031 size_t composes; 00033 size_t keymaps_total; 00034 size_t functions_total; 00035 size_t composes_total; 00036 }; 00037 00045 int lk_dump_bkeymap(struct lk_ctx *ctx, FILE *fd); 00046 00054 int lk_dump_ctable(struct lk_ctx *ctx, FILE *fd); 00055 00064 void lk_dump_keymap(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric); 00065 00073 void lk_dump_keys(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric); 00074 00080 void lk_dump_keymaps(struct lk_ctx *ctx, FILE *fd); 00081 00087 void lk_dump_funcs(struct lk_ctx *ctx, FILE *fd); 00088 00094 void lk_dump_diacs(struct lk_ctx *ctx, FILE *fd); 00095 00103 char *lk_code_to_ksym(struct lk_ctx *ctx, int code); 00104 00105 char *lk_get_sym(struct lk_ctx *ctx, unsigned int ktype, unsigned int index); 00106 00114 int lk_ksym_to_unicode(struct lk_ctx *ctx, const char *code); 00115 00116 int lk_get_kmapinfo(struct lk_ctx *ctx, struct kmapinfo *res); 00117 void lk_dump_summary(struct lk_ctx *ctx, FILE *fd, int console); 00118 void lk_dump_symbols(struct lk_ctx *ctx, FILE *fd); 00119 00120 #endif /* LK_DUMP_H */