Only ignore ctrl+shift for press, not release

This commit is contained in:
def 2020-10-04 12:14:16 +02:00
parent 6990cf3a0d
commit 6507b1b802

View file

@ -143,11 +143,11 @@ bool CBinds::OnInput(IInput::CEvent e)
} }
} }
// shift for emoticons works while moving through map // Shift for emoticons works while moving through map
// When ctrl+shift are pressed (ctrl+shift binds and also the hard-coded ctrl+shift+d, ctrl+shift+g, ctrl+shift+e), ignore other +xxx binds if(m_aapKeyBindings[0][e.m_Key] && (!ret || m_aapKeyBindings[0][e.m_Key][0] == '+'))
if(m_aapKeyBindings[0][e.m_Key] && Mask != ((1 << MODIFIER_CTRL) | (1 << MODIFIER_SHIFT)) && (!ret || m_aapKeyBindings[0][e.m_Key][0] == '+'))
{ {
if(e.m_Flags & IInput::FLAG_PRESS) // When ctrl+shift are pressed (ctrl+shift binds and also the hard-coded ctrl+shift+d, ctrl+shift+g, ctrl+shift+e), ignore other +xxx binds
if(e.m_Flags & IInput::FLAG_PRESS && Mask != ((1 << MODIFIER_CTRL) | (1 << MODIFIER_SHIFT)))
Console()->ExecuteLineStroked(1, m_aapKeyBindings[0][e.m_Key]); Console()->ExecuteLineStroked(1, m_aapKeyBindings[0][e.m_Key]);
if(e.m_Flags & IInput::FLAG_RELEASE) if(e.m_Flags & IInput::FLAG_RELEASE)
Console()->ExecuteLineStroked(0, m_aapKeyBindings[0][e.m_Key]); Console()->ExecuteLineStroked(0, m_aapKeyBindings[0][e.m_Key]);