|  |  |  | @ -3,6 +3,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | #include "sway/input/seat.h" | 
			
		
	
		
			
				
					|  |  |  |  | #include "sway/input/keyboard.h" | 
			
		
	
		
			
				
					|  |  |  |  | #include "sway/input/input-manager.h" | 
			
		
	
		
			
				
					|  |  |  |  | #include "sway/commands.h" | 
			
		
	
		
			
				
					|  |  |  |  | #include "log.h" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | static size_t pressed_keysyms_length(xkb_keysym_t *pressed_keysyms) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -80,7 +81,7 @@ static bool keyboard_execute_binding(struct sway_keyboard *keyboard, | 
			
		
	
		
			
				
					|  |  |  |  | 		for (int j = 0; j < binding->keys->length; ++j) { | 
			
		
	
		
			
				
					|  |  |  |  | 			match = | 
			
		
	
		
			
				
					|  |  |  |  | 				pressed_keysyms_index(pressed_keysyms, | 
			
		
	
		
			
				
					|  |  |  |  | 					*(int*)binding->keys->items[j]) < 0; | 
			
		
	
		
			
				
					|  |  |  |  | 					*(int*)binding->keys->items[j]) >= 0; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			if (!match) { | 
			
		
	
		
			
				
					|  |  |  |  | 				break; | 
			
		
	
	
		
			
				
					|  |  |  | @ -88,7 +89,13 @@ static bool keyboard_execute_binding(struct sway_keyboard *keyboard, | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (match) { | 
			
		
	
		
			
				
					|  |  |  |  | 			sway_log(L_DEBUG, "TODO: executing binding command: %s", binding->command); | 
			
		
	
		
			
				
					|  |  |  |  | 			sway_log(L_DEBUG, "running command for binding: %s", binding->command); | 
			
		
	
		
			
				
					|  |  |  |  | 			struct cmd_results *results = handle_command(binding->command); | 
			
		
	
		
			
				
					|  |  |  |  | 			if (results->status != CMD_SUCCESS) { | 
			
		
	
		
			
				
					|  |  |  |  | 				sway_log(L_DEBUG, "could not run command for binding: %s", | 
			
		
	
		
			
				
					|  |  |  |  | 					binding->command); | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 			free_cmd_results(results); | 
			
		
	
		
			
				
					|  |  |  |  | 			return true; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
	
		
			
				
					|  |  |  | 
 |