aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Gladkov <gladkov.alexey@gmail.com>2022-01-31 15:43:48 +0100
committerAlexey Gladkov <gladkov.alexey@gmail.com>2023-12-14 16:13:36 +0000
commit2fbb4ca5a5b7ae3692b694c99caf789794a5bc42 (patch)
tree1dde155576c80d31f6d8a9704bbe2b89b6e02392
parentd48c3b19ac2a76c2de5f1306bb8c791d30ccaaae (diff)
downloadkbd-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.h11
-rw-r--r--src/libkeymap/ksyms.c15
-rw-r--r--src/libkeymap/ksyms.h8
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);