aboutsummaryrefslogtreecommitdiff
path: root/quantum/process_keycode/process_unicode.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/process_keycode/process_unicode.h')
-rw-r--r--quantum/process_keycode/process_unicode.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h
index f719a1226..372ea2f0d 100644
--- a/quantum/process_keycode/process_unicode.h
+++ b/quantum/process_keycode/process_unicode.h
@@ -15,6 +15,33 @@ void register_hex(uint16_t hex);
15 15
16bool process_unicode(uint16_t keycode, keyrecord_t *record); 16bool process_unicode(uint16_t keycode, keyrecord_t *record);
17 17
18#ifdef UCIS_ENABLE
19#ifndef UCIS_MAX_SYMBOL_LENGTH
20#define UCIS_MAX_SYMBOL_LENGTH 32
21#endif
22
23typedef struct {
24 char *symbol;
25 uint16_t codes[4];
26} qk_ucis_symbol_t;
27
28struct {
29 uint8_t count;
30 uint16_t codes[UCIS_MAX_SYMBOL_LENGTH];
31 bool in_progress:1;
32} qk_ucis_state;
33
34#define UCIS_TABLE(...) {__VA_ARGS__, {NULL, {}}}
35#define UCIS_SYM(name, ...) {name, {__VA_ARGS__, 0}}
36
37extern const qk_ucis_symbol_t ucis_symbol_table[];
38
39void qk_ucis_start(void);
40void qk_ucis_symbol_fallback (void);
41bool process_record_ucis (uint16_t keycode, keyrecord_t *record);
42
43#endif
44
18#define UC_BSPC UC(0x0008) 45#define UC_BSPC UC(0x0008)
19 46
20#define UC_SPC UC(0x0020) 47#define UC_SPC UC(0x0020)
@@ -122,4 +149,4 @@ bool process_unicode(uint16_t keycode, keyrecord_t *record);
122#define UC_TILD UC(0x007E) 149#define UC_TILD UC(0x007E)
123#define UC_DEL UC(0x007F) 150#define UC_DEL UC(0x007F)
124 151
125#endif \ No newline at end of file 152#endif