mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Keyboard Input modifiers do not block actions.
This means, if you press "F" while holding "shift" and there is and action registered for "F" that action should be pressed. This commit restore this behaviour, lost when implementing is_action_just_pressed. If you want "blocking modifiers" you should code it via script. Fixes 6826
This commit is contained in:
		
							parent
							
								
									ae258e2679
								
							
						
					
					
						commit
						9100db7b94
					
				
					 3 changed files with 16 additions and 13 deletions
				
			
		|  | @ -381,15 +381,12 @@ void InputDefault::parse_input_event(const InputEvent& p_event) { | |||
| 	if (!p_event.is_echo()) { | ||||
| 		for (const Map<StringName,InputMap::Action>::Element *E=InputMap::get_singleton()->get_action_map().front();E;E=E->next()) { | ||||
| 
 | ||||
| 			if (InputMap::get_singleton()->event_is_action(p_event,E->key())) { | ||||
| 
 | ||||
| 				if(is_action_pressed(E->key()) != p_event.is_pressed()) { | ||||
| 					Action action; | ||||
| 					action.fixed_frame=Engine::get_singleton()->get_fixed_frames(); | ||||
| 					action.idle_frame=Engine::get_singleton()->get_idle_frames(); | ||||
| 					action.pressed=p_event.is_pressed(); | ||||
| 					action_state[E->key()]=action; | ||||
| 				} | ||||
| 			if (InputMap::get_singleton()->event_is_action(p_event,E->key()) && is_action_pressed(E->key()) != p_event.is_pressed()) { | ||||
| 				Action action; | ||||
| 				action.fixed_frame=Engine::get_singleton()->get_fixed_frames(); | ||||
| 				action.idle_frame=Engine::get_singleton()->get_idle_frames(); | ||||
| 				action.pressed=p_event.is_pressed(); | ||||
| 				action_state[E->key()]=action; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Fabio Alessandrelli
						Fabio Alessandrelli