summaryrefslogtreecommitdiffstats
path: root/quantum/process_keycode
diff options
context:
space:
mode:
authorGergely Nagy <algernon@madhouse-project.org>2016-08-24 15:39:23 +0200
committerGergely Nagy <algernon@madhouse-project.org>2016-08-24 15:39:23 +0200
commita058ae40e268b34ba5db45f5fd5d557d50fa5437 (patch)
tree98cbba5d9b9d304e8bcc9384d418f71a1d2b8f0a /quantum/process_keycode
parenta9205484718ab2a74bc97884a2ea7b95882ed66d (diff)
downloadqmk_firmware-a058ae40e268b34ba5db45f5fd5d557d50fa5437.tar.gz
qmk_firmware-a058ae40e268b34ba5db45f5fd5d557d50fa5437.tar.xz
quantum: Move qk_ucis_state to process_unicode.c
In order to not declare the same variable in multiple objects (which happens when building UCIS-enabled keymap for both the ErgoDox EZ and the ErgoDox Infinity), move the declaration to the .c file, and keep only an extern reference in the header. Many thanks to @fredizzimo for spotting the error in Travis, and suggesting the fix. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Diffstat (limited to 'quantum/process_keycode')
-rw-r--r--quantum/process_keycode/process_unicode.c2
-rw-r--r--quantum/process_keycode/process_unicode.h6
2 files changed, 6 insertions, 2 deletions
diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c
index a1be8d2fc..06c1694f2 100644
--- a/quantum/process_keycode/process_unicode.c
+++ b/quantum/process_keycode/process_unicode.c
@@ -74,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 85364e8eb..02ce3dd7e 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}