From d147c9ce70d382d8a0030aabdb0b8d3e172a061d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Tue, 15 Jul 2025 11:27:36 -0700 Subject: [PATCH 1/2] MainWindow: forward space key from popover to search entry --- src/MainWindow.vala | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 310b28b..870c30b 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -92,8 +92,6 @@ public class Maps.MainWindow : Adw.ApplicationWindow { }; search_res_popover.set_parent (search_entry); - search_entry.set_key_capture_widget (search_res_popover); - var style_submenu = new Menu (); style_submenu.append (_("System"), "app.color-scheme('%s')".printf (Define.ColorScheme.DEFAULT)); style_submenu.append (_("Light"), "app.color-scheme('%s')".printf (Define.ColorScheme.FORCE_LIGHT)); @@ -154,6 +152,23 @@ public class Maps.MainWindow : Adw.ApplicationWindow { map_widget.go_to_current (); }); + + var search_key_controller = new Gtk.EventControllerKey (); + search_key_controller.key_pressed.connect ((keyval, keycode, state) => { + switch (keyval) { + // Intercept space key so it's not used for list activation: https://github.com/elementary/maps/issues/150 + case Gdk.Key.KP_Space: + case Gdk.Key.space: + search_key_controller.forward (search_entry.get_delegate ()); + return Gdk.EVENT_STOP; + } + + return Gdk.EVENT_PROPAGATE; + }); + ((Gtk.Widget) search_res_popover).add_controller (search_key_controller); + + search_entry.set_key_capture_widget (search_res_popover); + search_entry.search_changed.connect (() => { if (search_entry.text == "") { search_res_popover.popdown (); From cfe25536328a82ff5e4980c7dbf66686e60fbf82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Tue, 15 Jul 2025 14:57:35 -0700 Subject: [PATCH 2/2] Update src/MainWindow.vala Co-authored-by: Ryo Nakano --- src/MainWindow.vala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 1da90b2..2e24024 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -168,6 +168,9 @@ public class Maps.MainWindow : Adw.ApplicationWindow { case Gdk.Key.space: search_key_controller.forward (search_entry.get_delegate ()); return Gdk.EVENT_STOP; + default: + // NOP + break; } return Gdk.EVENT_PROPAGATE;