diff options
author | Alexey Gladkov <gladkov.alexey@gmail.com> | 2022-01-31 15:43:48 +0100 |
---|---|---|
committer | Alexey Gladkov <gladkov.alexey@gmail.com> | 2023-12-14 16:13:36 +0000 |
commit | 2fbb4ca5a5b7ae3692b694c99caf789794a5bc42 (patch) | |
tree | 1dde155576c80d31f6d8a9704bbe2b89b6e02392 | |
parent | d48c3b19ac2a76c2de5f1306bb8c791d30ccaaae (diff) | |
download | kbd-2fbb4ca5a5b7ae3692b694c99caf789794a5bc42.tar.gz |
keymap: Export functions to convert the value to kernel code
Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
-rw-r--r-- | src/libkeymap/keymap/context.h | 11 | ||||
-rw-r--r-- | src/libkeymap/ksyms.c | 15 | ||||
-rw-r--r-- | src/libkeymap/ksyms.h | 8 |
3 files changed, 26 insertions, 8 deletions
diff --git a/src/libkeymap/keymap/context.h b/src/libkeymap/keymap/context.h index c353952c..36c4a0f3 100644 --- a/src/libkeymap/keymap/context.h +++ b/src/libkeymap/keymap/context.h @@ -42,4 +42,15 @@ struct lk_kbdiacr { */ struct lk_ctx; +/* Returned by ksymtocode to report an unknown symbol */ +#define CODE_FOR_UNKNOWN_KSYM (-1) + +/* Directions for converting keysyms */ +#define TO_AUTO (-1) /* use LK_FLAG_PREFER_UNICODE */ +#define TO_8BIT 0 +#define TO_UNICODE 1 + +int lk_convert_code(struct lk_ctx *ctx, int code, int direction); +int lk_add_capslock(struct lk_ctx *ctx, int code); + #endif /* LK_CONTEXT_H */ diff --git a/src/libkeymap/ksyms.c b/src/libkeymap/ksyms.c index bc7d1542..ccbc83f5 100644 --- a/src/libkeymap/ksyms.c +++ b/src/libkeymap/ksyms.c @@ -434,3 +434,18 @@ int add_capslock(struct lk_ctx *ctx, int code) else return convert_code(ctx, code, TO_AUTO); } + + +int lk_convert_code(struct lk_ctx *ctx, int code, int direction) +{ + if (!ctx) + return CODE_FOR_UNKNOWN_KSYM; + return convert_code(ctx, code, direction); +} + +int lk_add_capslock(struct lk_ctx *ctx, int code) +{ + if (!ctx) + return CODE_FOR_UNKNOWN_KSYM; + return add_capslock(ctx, code); +} diff --git a/src/libkeymap/ksyms.h b/src/libkeymap/ksyms.h index 08b86b26..ed3d74c9 100644 --- a/src/libkeymap/ksyms.h +++ b/src/libkeymap/ksyms.h @@ -22,14 +22,6 @@ extern struct syn const synonyms[]; extern const int syms_size; extern const int syn_size; -/* Returned by ksymtocode to report an unknown symbol */ -#define CODE_FOR_UNKNOWN_KSYM (-1) - -/* Directions for converting keysyms */ -#define TO_AUTO (-1) /* use LK_FLAG_PREFER_UNICODE */ -#define TO_8BIT 0 -#define TO_UNICODE 1 - const char *get_sym(struct lk_ctx *ctx, int ktype, int index); int get_sym_size(struct lk_ctx *ctx, int ktype); |