From d2e2d5803d272c889ab2b1fbfaf7dede38a2c025 Mon Sep 17 00:00:00 2001 From: ardocrat Date: Thu, 20 Jul 2023 23:02:14 +0300 Subject: [PATCH] ui: handle esc keys event --- src/gui/app.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/gui/app.rs b/src/gui/app.rs index eeeeada..7970278 100644 --- a/src/gui/app.rs +++ b/src/gui/app.rs @@ -34,6 +34,11 @@ impl PlatformApp { impl eframe::App for PlatformApp { fn update(&mut self, ctx: &Context, frame: &mut eframe::Frame) { + // Handle Esc keyboard key event. + if ctx.input(|i| i.key_pressed(egui::Key::Escape)) { + Root::on_back(); + } + // Show main content. egui::CentralPanel::default() .frame(egui::Frame { @@ -51,5 +56,18 @@ impl eframe::App for PlatformApp { } } +#[allow(dead_code)] +#[cfg(target_os = "android")] +#[allow(non_snake_case)] +#[no_mangle] +/// Handle Back key code event from Android. +pub extern "C" fn Java_mw_gri_android_MainActivity_onBack( + _env: jni::JNIEnv, + _class: jni::objects::JObject, + _activity: jni::objects::JObject, +) { + Root::on_back(); +} +