Keyboard sequence monitoring upgraded not to react on modifier keys, canceling multi-key sequences when non-first key modifier pressed
This commit is contained in:
parent
834743c7dd
commit
426b7a6227
@ -54,13 +54,14 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
|
|||||||
{
|
{
|
||||||
if (event.GetEventType() == wxEVT_KEY_DOWN) {
|
if (event.GetEventType() == wxEVT_KEY_DOWN) {
|
||||||
// The character event occured.
|
// The character event occured.
|
||||||
|
wxKeyEvent &e = (wxKeyEvent&)event;
|
||||||
|
if (e.GetUnicodeKey() || !e.HasAnyModifiers()) {
|
||||||
ZRCola::keyseq_db::indexKey::size_type start, end;
|
ZRCola::keyseq_db::indexKey::size_type start, end;
|
||||||
bool found;
|
bool found;
|
||||||
wxFrame *pFrame = wxDynamicCast(wxTheApp->GetTopWindow(), wxFrame);
|
wxFrame *pFrame = wxDynamicCast(wxTheApp->GetTopWindow(), wxFrame);
|
||||||
|
|
||||||
{
|
{
|
||||||
// Parse key event and save it at the end of the key sequence.
|
// Parse key event and save it at the end of the key sequence.
|
||||||
wxKeyEvent &e = (wxKeyEvent&)event;
|
|
||||||
ZRCola::keyseq_db::keyseq::key_t key;
|
ZRCola::keyseq_db::keyseq::key_t key;
|
||||||
key.key = e.GetKeyCode(); //wxToupper(e.m_uniChar);
|
key.key = e.GetKeyCode(); //wxToupper(e.m_uniChar);
|
||||||
key.modifiers =
|
key.modifiers =
|
||||||
@ -112,6 +113,7 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
|
|||||||
pFrame->SetStatusText(wxEmptyString);
|
pFrame->SetStatusText(wxEmptyString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return wxEvtHandler::ProcessEvent(event);
|
return wxEvtHandler::ProcessEvent(event);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user