|  |  |  | @ -43,24 +43,17 @@ static struct cmd_handler input_config_handlers[] = { | 
			
		
	
		
			
				
					|  |  |  |  |  * Re-translate keysyms if a change in the input config could affect them. | 
			
		
	
		
			
				
					|  |  |  |  |  */ | 
			
		
	
		
			
				
					|  |  |  |  | static void retranslate_keysyms(struct input_config *input_config) { | 
			
		
	
		
			
				
					|  |  |  |  | 	bool matched = false; | 
			
		
	
		
			
				
					|  |  |  |  | 	for (int i = 0; i < config->input_configs->length; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  | 		struct input_config *ic = config->input_configs->items[i]; | 
			
		
	
		
			
				
					|  |  |  |  | 		matched |= ic->identifier == input_config->identifier; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		// the first configured xkb_layout
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (ic->xkb_layout) { | 
			
		
	
		
			
				
					|  |  |  |  | 			if (matched) { | 
			
		
	
		
			
				
					|  |  |  |  | 			// this is the first config with xkb_layout
 | 
			
		
	
		
			
				
					|  |  |  |  | 			if (ic->identifier == input_config->identifier) { | 
			
		
	
		
			
				
					|  |  |  |  | 				translate_keysyms(ic->xkb_layout); | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			// nothing has changed
 | 
			
		
	
		
			
				
					|  |  |  |  | 			return; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// no xkb_layout has been set, restore the default
 | 
			
		
	
		
			
				
					|  |  |  |  | 	translate_keysyms(getenv("XKB_DEFAULT_LAYOUT")); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | struct cmd_results *cmd_input(int argc, char **argv) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |