imgui: Fix char input handling
This commit is contained in:
parent
cb8677b310
commit
478032ad28
2 changed files with 10 additions and 7 deletions
|
@ -5231,8 +5231,8 @@ void GLCanvas3D::on_char(wxKeyEvent& evt)
|
||||||
#if ENABLE_IMGUI
|
#if ENABLE_IMGUI
|
||||||
auto imgui = wxGetApp().imgui();
|
auto imgui = wxGetApp().imgui();
|
||||||
if (imgui->update_key_data(evt)) {
|
if (imgui->update_key_data(evt)) {
|
||||||
return;
|
|
||||||
render();
|
render();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
#endif // ENABLE_IMGUI
|
#endif // ENABLE_IMGUI
|
||||||
|
|
||||||
|
|
|
@ -124,6 +124,9 @@ bool ImGuiWrapper::update_key_data(wxKeyEvent &evt)
|
||||||
if (key != 0) {
|
if (key != 0) {
|
||||||
io.AddInputCharacter(key);
|
io.AddInputCharacter(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
new_frame();
|
||||||
|
return want_keyboard() || want_text_input();
|
||||||
} else {
|
} else {
|
||||||
// Key up/down event
|
// Key up/down event
|
||||||
int key = evt.GetKeyCode();
|
int key = evt.GetKeyCode();
|
||||||
|
@ -134,13 +137,13 @@ bool ImGuiWrapper::update_key_data(wxKeyEvent &evt)
|
||||||
io.KeyCtrl = evt.ControlDown();
|
io.KeyCtrl = evt.ControlDown();
|
||||||
io.KeyAlt = evt.AltDown();
|
io.KeyAlt = evt.AltDown();
|
||||||
io.KeySuper = evt.MetaDown();
|
io.KeySuper = evt.MetaDown();
|
||||||
}
|
|
||||||
|
|
||||||
// XXX: Unfortunatelly this seems broken due to some interference with wxWidgets,
|
// XXX: Unfortunatelly this seems broken due to some interference with wxWidgets,
|
||||||
// we have to return true always (perform re-render).
|
// we have to return true always (perform re-render).
|
||||||
// new_frame();
|
// new_frame();
|
||||||
// return want_keyboard() || want_text_input();
|
// return want_keyboard() || want_text_input();
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImGuiWrapper::new_frame()
|
void ImGuiWrapper::new_frame()
|
||||||
|
|
Loading…
Add table
Reference in a new issue