forked from mirrors/qmk_firmware
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>
This commit is contained in:
parent
a920548471
commit
a058ae40e2
2 changed files with 6 additions and 2 deletions
|
@ -74,6 +74,8 @@ bool process_unicode(uint16_t keycode, keyrecord_t *record) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef UCIS_ENABLE
|
#ifdef UCIS_ENABLE
|
||||||
|
qk_ucis_state_t qk_ucis_state;
|
||||||
|
|
||||||
void qk_ucis_start(void) {
|
void qk_ucis_start(void) {
|
||||||
qk_ucis_state.count = 0;
|
qk_ucis_state.count = 0;
|
||||||
qk_ucis_state.in_progress = true;
|
qk_ucis_state.in_progress = true;
|
||||||
|
|
|
@ -29,11 +29,13 @@ typedef struct {
|
||||||
char *code;
|
char *code;
|
||||||
} qk_ucis_symbol_t;
|
} qk_ucis_symbol_t;
|
||||||
|
|
||||||
struct {
|
typedef struct {
|
||||||
uint8_t count;
|
uint8_t count;
|
||||||
uint16_t codes[UCIS_MAX_SYMBOL_LENGTH];
|
uint16_t codes[UCIS_MAX_SYMBOL_LENGTH];
|
||||||
bool in_progress:1;
|
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_TABLE(...) {__VA_ARGS__, {NULL, NULL}}
|
||||||
#define UCIS_SYM(name, code) {name, #code}
|
#define UCIS_SYM(name, code) {name, #code}
|
||||||
|
|
Loading…
Reference in a new issue