Change to a KEY_DOWN event instead of CHAR event

This should prevent pasting and backspace as well.
This commit is contained in:
Leland Lucius 2021-04-01 20:29:35 -05:00
parent e47f27b106
commit 988e90ea54
1 changed files with 10 additions and 8 deletions

View File

@ -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();
});
};