git.lucas.co / cce-ui
GPU-accelerated UI toolkit (Vulkan)
git clone https://git.lucas.co/cce-ui.git

commit122c90613fde5d16042e67f2985f8346b89ec311
parentaffc3b76e0
authorLucas Galante <[email protected]>
date2026-06-17 10:57
Close context menu on Escape key press in demo

 src/main.rs | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/main.rs b/src/main.rs
index c592949..e557b41 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1426,6 +1426,19 @@ impl AppState {
             shift: self.shift_pressed,
         };
 
+        if crate::widget::context_menu::is_visible() {
+            if custom_event.state == crate::widget::ElementState::Pressed
+                && custom_event.logical_key == Key::Named(NamedKey::Escape)
+            {
+                crate::widget::context_menu::hide();
+                if let Some(st) = &mut self.state {
+                    st.upload_vertices();
+                }
+                self.redraw = true;
+                return;
+            }
+        }
+
         if state == cce_ui::widget::ElementState::Pressed {
             if is_repeatable_key(&custom_event.logical_key) {
                 self.pressed_key = Some(PressedKey {