diff options
author | wurstsalat <mailtrash@posteo.de> | 2023-12-03 15:12:58 +0300 |
---|---|---|
committer | wurstsalat <mailtrash@posteo.de> | 2023-12-03 15:12:58 +0300 |
commit | 25466559bd811c15626714cc69928fabf0b241d4 (patch) | |
tree | c1516da610d32fe87caebf7a07694fcbdb58b3a0 | |
parent | 6069d5a67872b12032091a324dff62d0d26b738c (diff) |
fix: Shortcuts: Fix focus issues with Ctrl+ shortcuts for Windows and Linux
-rw-r--r-- | gajim/gtk/main.py | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/gajim/gtk/main.py b/gajim/gtk/main.py index 4dfe3e089..97b5236a5 100644 --- a/gajim/gtk/main.py +++ b/gajim/gtk/main.py @@ -256,21 +256,19 @@ class MainWindow(Gtk.ApplicationWindow, EventHelper): _window: MainWindow, event: Gdk.EventKey ) -> bool: - + # Filter out modifier not used for shortcuts like Numlock (MOD2) modifier = event.get_state() & Gtk.accelerator_get_default_mod_mask() + accel_name = Gtk.accelerator_name(event.keyval, modifier) - if not modifier: - if event.keyval in ( - Gdk.KEY_Control_L, - Gdk.KEY_Control_R, - Gdk.KEY_Alt_L, - Gdk.KEY_Alt_R, - ): - return False + log.warning('Captured key pressed: %s', accel_name) - if modifier == Gdk.ModifierType.CONTROL_MASK: - if event.keyval == Gdk.KEY_C: - return False + if event.keyval in ( + Gdk.KEY_Control_L, + Gdk.KEY_Control_R, + Gdk.KEY_Alt_L, + Gdk.KEY_Alt_R, + ): + return False focused_widget = self.get_focus() if (isinstance(focused_widget, Gtk.TextView) |