summaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
Diffstat (limited to 'quantum')
-rw-r--r--quantum/process_keycode/process_unicode.c4
-rw-r--r--quantum/process_keycode/process_unicode.h6
2 files changed, 8 insertions, 2 deletions
diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c
index 72c809c30e..06c1694f2e 100644
--- a/quantum/process_keycode/process_unicode.c
+++ b/quantum/process_keycode/process_unicode.c
@@ -18,6 +18,7 @@ void set_unicode_input_mode(uint8_t os_target)
input_mode = os_target;
}
+__attribute__((weak))
void unicode_input_start (void) {
switch(input_mode) {
case UC_OSX:
@@ -40,6 +41,7 @@ void unicode_input_start (void) {
wait_ms(UNICODE_TYPE_DELAY);
}
+__attribute__((weak))
void unicode_input_finish (void) {
switch(input_mode) {
case UC_OSX:
@@ -72,6 +74,8 @@ bool process_unicode(uint16_t keycode, keyrecord_t *record) {
}
#ifdef UCIS_ENABLE
+qk_ucis_state_t qk_ucis_state;
+
void qk_ucis_start(void) {
qk_ucis_state.count = 0;
qk_ucis_state.in_progress = true;
diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h
index 85364e8eb3..02ce3dd7e0 100644
--- a/quantum/process_keycode/process_unicode.h
+++ b/quantum/process_keycode/process_unicode.h
@@ -29,11 +29,13 @@ typedef struct {
char *code;
} qk_ucis_symbol_t;
-struct {
+typedef struct {
uint8_t count;
uint16_t codes[UCIS_MAX_SYMBOL_LENGTH];
bool in_progress:1;
-} qk_ucis_state;
+} qk_ucis_state_t;
+
+extern qk_ucis_state_t qk_ucis_state;
#define UCIS_TABLE(...) {__VA_ARGS__, {NULL, NULL}}
#define UCIS_SYM(name, code) {name, #code}