|  |  |  | @ -12,7 +12,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | /**
 | 
			
		
	
		
			
				
					|  |  |  |  |  * Update the shortcut model state in response to new input | 
			
		
	
		
			
				
					|  |  |  |  |  */ | 
			
		
	
		
			
				
					|  |  |  |  | static void update_shortcut_model(struct sway_shortcut_state *state, | 
			
		
	
		
			
				
					|  |  |  |  | static void update_shortcut_state(struct sway_shortcut_state *state, | 
			
		
	
		
			
				
					|  |  |  |  | 		struct wlr_event_keyboard_key *event, uint32_t new_key, | 
			
		
	
		
			
				
					|  |  |  |  | 		bool last_key_was_a_modifier) { | 
			
		
	
		
			
				
					|  |  |  |  | 	if (event->state == WLR_KEY_PRESSED) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -213,16 +213,16 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) { | 
			
		
	
		
			
				
					|  |  |  |  | 	bool last_key_was_a_modifier = code_modifiers != keyboard->last_modifiers; | 
			
		
	
		
			
				
					|  |  |  |  | 	keyboard->last_modifiers = code_modifiers; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// Update shortcut models
 | 
			
		
	
		
			
				
					|  |  |  |  | 	update_shortcut_model(&keyboard->state_keycodes, event, | 
			
		
	
		
			
				
					|  |  |  |  | 	// Update shortcut model state
 | 
			
		
	
		
			
				
					|  |  |  |  | 	update_shortcut_state(&keyboard->state_keycodes, event, | 
			
		
	
		
			
				
					|  |  |  |  | 			(uint32_t)keycode, last_key_was_a_modifier); | 
			
		
	
		
			
				
					|  |  |  |  | 	for (size_t i = 0; i < translated_keysyms_len; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  | 		update_shortcut_model(&keyboard->state_keysyms_translated, | 
			
		
	
		
			
				
					|  |  |  |  | 		update_shortcut_state(&keyboard->state_keysyms_translated, | 
			
		
	
		
			
				
					|  |  |  |  | 				event, (uint32_t)translated_keysyms[i], | 
			
		
	
		
			
				
					|  |  |  |  | 				last_key_was_a_modifier); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	for (size_t i = 0; i < raw_keysyms_len; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  | 		update_shortcut_model(&keyboard->state_keysyms_raw, | 
			
		
	
		
			
				
					|  |  |  |  | 		update_shortcut_state(&keyboard->state_keysyms_raw, | 
			
		
	
		
			
				
					|  |  |  |  | 				event, (uint32_t)raw_keysyms[i], | 
			
		
	
		
			
				
					|  |  |  |  | 				last_key_was_a_modifier); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
	
		
			
				
					|  |  |  | 
 |