mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-25 10:17:02 -06:00
Hook IMEs recompose by injecting Backspace key events and VK_PACKET characters, which egui surfaces as interleaved Event::Text and Event::Key(Backspace) in one frame. type_text handled text/IME in one pass and left Backspace to a later pass, so within a frame all text was inserted before any delete and the diacritics were eaten (tiếng -> tieng). Take Text, IME and plain Backspace/Delete in a single event-ordered pass, removing handled keys so route_type_input does not repeat them. Modified keys and composing frames are unchanged. Adds two canvas IME tests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>