diff --git a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp index 566ecbc8f6..381219bdea 100644 --- a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp +++ b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp @@ -263,7 +263,15 @@ void GlyphMapWidget::keydown_event(KeyEvent& event) return; } - if (!event.ctrl() && !event.shift() && event.key() != KeyCode::Key_Delete) { + if (event.key() == KeyCode::Key_Escape) { + m_selection.set_size(1); + m_selection.set_start(m_active_glyph); + if (on_escape_pressed) + on_escape_pressed(); + return; + } + + if (!event.modifiers() && event.is_arrow_key()) { m_selection.set_size(1); m_selection.set_start(m_active_glyph); } diff --git a/Userland/Libraries/LibGUI/GlyphMapWidget.h b/Userland/Libraries/LibGUI/GlyphMapWidget.h index 4dd1134765..0c2746c731 100644 --- a/Userland/Libraries/LibGUI/GlyphMapWidget.h +++ b/Userland/Libraries/LibGUI/GlyphMapWidget.h @@ -73,6 +73,7 @@ public: int rows() const { return m_rows; } int columns() const { return m_columns; } + Function on_escape_pressed; Function on_active_glyph_changed; Function on_glyph_double_clicked; Function on_context_menu_request;