aboutsummaryrefslogtreecommitdiff
path: root/quantum/process_keycode/process_ucis.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/process_keycode/process_ucis.h')
-rw-r--r--quantum/process_keycode/process_ucis.h24
1 files changed, 14 insertions, 10 deletions
diff --git a/quantum/process_keycode/process_ucis.h b/quantum/process_keycode/process_ucis.h
index b114d839a..0f93a198b 100644
--- a/quantum/process_keycode/process_ucis.h
+++ b/quantum/process_keycode/process_ucis.h
@@ -20,30 +20,34 @@
20#include "process_unicode_common.h" 20#include "process_unicode_common.h"
21 21
22#ifndef UCIS_MAX_SYMBOL_LENGTH 22#ifndef UCIS_MAX_SYMBOL_LENGTH
23#define UCIS_MAX_SYMBOL_LENGTH 32 23# define UCIS_MAX_SYMBOL_LENGTH 32
24#endif 24#endif
25 25
26typedef struct { 26typedef struct {
27 char *symbol; 27 char *symbol;
28 char *code; 28 char *code;
29} qk_ucis_symbol_t; 29} qk_ucis_symbol_t;
30 30
31typedef struct { 31typedef struct {
32 uint8_t count; 32 uint8_t count;
33 uint16_t codes[UCIS_MAX_SYMBOL_LENGTH]; 33 uint16_t codes[UCIS_MAX_SYMBOL_LENGTH];
34 bool in_progress:1; 34 bool in_progress : 1;
35} qk_ucis_state_t; 35} qk_ucis_state_t;
36 36
37extern qk_ucis_state_t qk_ucis_state; 37extern qk_ucis_state_t qk_ucis_state;
38 38
39#define UCIS_TABLE(...) {__VA_ARGS__, {NULL, NULL}} 39#define UCIS_TABLE(...) \
40#define UCIS_SYM(name, code) {name, #code} 40 { \
41 __VA_ARGS__, { NULL, NULL } \
42 }
43#define UCIS_SYM(name, code) \
44 { name, #code }
41 45
42extern const qk_ucis_symbol_t ucis_symbol_table[]; 46extern const qk_ucis_symbol_t ucis_symbol_table[];
43 47
44void qk_ucis_start(void); 48void qk_ucis_start(void);
45void qk_ucis_start_user(void); 49void qk_ucis_start_user(void);
46void qk_ucis_symbol_fallback (void); 50void qk_ucis_symbol_fallback(void);
47void qk_ucis_success(uint8_t symbol_index); 51void qk_ucis_success(uint8_t symbol_index);
48void register_ucis(const char *hex); 52void register_ucis(const char *hex);
49bool process_ucis (uint16_t keycode, keyrecord_t *record); 53bool process_ucis(uint16_t keycode, keyrecord_t *record);