diff options
| author | Andreas Haas | 2016-09-15 19:30:35 +0200 |
|---|---|---|
| committer | Rémi Verschelde | 2016-10-09 17:16:19 +0200 |
| commit | e788ffff65ca65b6fd8dd84b3822d74e330d68c7 (patch) | |
| tree | 7e02d21c933955802cc263f92a62e6106809389f /core/input_map.cpp | |
| parent | 6a0d47f34cdbbcfcf19eaa79de410814c841ce21 (diff) | |
| download | godot-e788ffff65ca65b6fd8dd84b3822d74e330d68c7.tar.gz godot-e788ffff65ca65b6fd8dd84b3822d74e330d68c7.tar.zst godot-e788ffff65ca65b6fd8dd84b3822d74e330d68c7.zip | |
Fix input action pressed state not changing for quick joystick movements.
fixes #6488
Also removes a bunch of dead code related to checking if a joystick axis is pressed.
(cherry picked from commit 84783fe77b5dfa89a1bcf5a7e60a3b3ab7d876bd)
Diffstat (limited to '')
| -rw-r--r-- | core/input_map.cpp | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/core/input_map.cpp b/core/input_map.cpp index 08ee8138a..37f4a2965 100644 --- a/core/input_map.cpp +++ b/core/input_map.cpp @@ -232,64 +232,6 @@ bool InputMap::event_is_action(const InputEvent& p_event, const StringName& p_ac return _find_event(E->get().inputs,p_event)!=NULL; } -bool InputMap::event_is_joy_motion_action_pressed(const InputEvent& p_event) const { - - ERR_FAIL_COND_V(p_event.type!=InputEvent::JOYSTICK_MOTION,false); - bool pressed=false; - - //this could be optimized by having a separate list of joymotions? - - for (Map<StringName, Action>::Element *A=input_map.front();A;A=A->next()) { - - for (List<InputEvent>::Element *E=A->get().inputs.front();E;E=E->next()) { - - const InputEvent& e=E->get(); - if(e.type!=p_event.type) - continue; - if (e.type!=InputEvent::KEY && e.device!=p_event.device) - continue; - - switch(p_event.type) { - - case InputEvent::KEY: { - - if (e.key.scancode==p_event.key.scancode && e.key.mod == p_event.key.mod) - return e.key.pressed; - - } break; - case InputEvent::JOYSTICK_BUTTON: { - - if (e.joy_button.button_index==p_event.joy_button.button_index) { - return e.joy_button.pressed; - } - - } break; - case InputEvent::MOUSE_BUTTON: { - - if (e.mouse_button.button_index==p_event.mouse_button.button_index) { - return e.mouse_button.pressed; - } - - } break; - case InputEvent::JOYSTICK_MOTION: { - - if (e.joy_motion.axis==p_event.joy_motion.axis) { - if ( - (e.joy_motion.axis_value * p_event.joy_motion.axis_value >0) && //same axis - ABS(e.joy_motion.axis_value)>0.5 && ABS(p_event.joy_motion.axis_value)>0.5 ) - pressed=true; - } - - } break; - } - - } - } - - return pressed; - -} - void InputMap::load_from_globals() { input_map.clear();; |
