diff options
Diffstat (limited to 'hildon')
-rw-r--r-- | hildon/hildon-live-search.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/hildon/hildon-live-search.c b/hildon/hildon-live-search.c index 959fc3a..e79c1f8 100644 --- a/hildon/hildon-live-search.c +++ b/hildon/hildon-live-search.c @@ -465,11 +465,15 @@ on_key_press_event (GtkWidget *widget, if (GTK_WIDGET_VISIBLE (priv->kb_focus_widget)) { /* If the live search is hidden, Ctrl+whatever is always - * passed to the focus widget */ + * passed to the focus widget, with the exception of + * Ctrl + Space, which is given to the entry, so that the input method + * is allowed to switch the keyboard layout. */ if (GTK_WIDGET_VISIBLE (live_search) || !(event->state & GDK_CONTROL_MASK || event->keyval == GDK_Control_L || - event->keyval == GDK_Control_R)) { + event->keyval == GDK_Control_R) || + (event->state & GDK_CONTROL_MASK && + event->keyval == GDK_space)) { GdkEvent *new_event; /* If the entry is realized and has focus, it is enough to catch events. |