diff --git a/src/widgets/wxTextCtrlWrapper.h b/src/widgets/wxTextCtrlWrapper.h index d651f44e3..4dec434ec 100644 --- a/src/widgets/wxTextCtrlWrapper.h +++ b/src/widgets/wxTextCtrlWrapper.h @@ -33,17 +33,19 @@ public: { mReadOnly = false; - Bind(wxEVT_CHAR, [&](wxKeyEvent &event) + Bind(wxEVT_KEY_DOWN, [&](wxKeyEvent &event) { - auto keyCode = event.GetUnicodeKey(); - if (!mReadOnly || keyCode < WXK_SPACE || keyCode == WXK_DELETE) + auto keyCode = event.GetKeyCode(); + if (mReadOnly) { - event.Skip(); - } - else - { - event.Skip(false); + if (keyCode >= WXK_SPACE || keyCode == WXK_DELETE || keyCode == WXK_BACK) + { + event.Skip(false); + return; + } } + + event.Skip(); }); };