diff --git a/src/gui/app.rs b/src/gui/app.rs index f5988acd..bf9ac714 100755 --- a/src/gui/app.rs +++ b/src/gui/app.rs @@ -75,11 +75,14 @@ impl App { self.first_draw = false; } - // Handle Esc keyboard key event and platform Back button key event. + // Handle Esc keyboard key event. let back_pressed = BACK_BUTTON_PRESSED.load(Ordering::Relaxed); if back_pressed || ctx.input_mut(|i| i.consume_key(Modifiers::NONE, egui::Key::Escape)) { - // Pass event to content. - self.content.on_back(&self.platform); + if Modal::on_back() { + self.content.on_back(&self.platform); + } else if KeyboardContent::window_showing() { + KeyboardContent::hide(); + } if back_pressed { BACK_BUTTON_PRESSED.store(false, Ordering::Relaxed); } diff --git a/src/gui/views/content.rs b/src/gui/views/content.rs index a5cedd15..23019d14 100644 --- a/src/gui/views/content.rs +++ b/src/gui/views/content.rs @@ -239,10 +239,8 @@ impl Content { /// Handle Back key event. pub fn on_back(&mut self, cb: &dyn PlatformCallbacks) { - if Modal::on_back() { - if self.wallets.on_back(cb) { - Self::show_exit_modal() - } + if self.wallets.on_back(cb) { + Self::show_exit_modal() } }