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
 | 
			
		||||
qk_ucis_state_t qk_ucis_state;
 | 
			
		||||
 | 
			
		||||
void qk_ucis_start(void) {
 | 
			
		||||
  qk_ucis_state.count = 0;
 | 
			
		||||
  qk_ucis_state.in_progress = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue