diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b22ad94..aa0090fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased +### Changed 🔧 + +* Pressing enter in a single-line `TextEdit` will now surrender keyboard focus for it + ### Fixed 🐛 * Fixed bug where a lost widget could still retain keyboard focus. diff --git a/egui/src/widgets/text_edit.rs b/egui/src/widgets/text_edit.rs index a4d50fda..79edcc28 100644 --- a/egui/src/widgets/text_edit.rs +++ b/egui/src/widgets/text_edit.rs @@ -169,6 +169,10 @@ impl<'t> Widget for TextEdit<'t> { } => { if multiline { insert_text(&mut cursor, text, "\n"); + } else { + // Common to end input with enter + ui.memory().surrender_kb_focus(id); + break; } } Event::Key { @@ -176,6 +180,7 @@ impl<'t> Widget for TextEdit<'t> { pressed: true, } => { ui.memory().surrender_kb_focus(id); + break; } Event::Key { key, pressed: true } => { on_key_press(&mut cursor, text, *key);