clutter: Give the ClutterTextInputFocus a first stab at handling key events
Actor keybindings were dispatched in an earlier return path, which means the IM doesn't get to see certain key events. Flip the order around so the IM has an opportunity to handle all keypresses. https://gitlab.gnome.org/GNOME/mutter/issues/65 Closes: #65
This commit is contained in:
parent
bf5ac39d46
commit
481e87032c
@ -2224,6 +2224,11 @@ clutter_text_key_press (ClutterActor *actor,
|
|||||||
pool = clutter_binding_pool_find (g_type_name (CLUTTER_TYPE_TEXT));
|
pool = clutter_binding_pool_find (g_type_name (CLUTTER_TYPE_TEXT));
|
||||||
g_assert (pool != NULL);
|
g_assert (pool != NULL);
|
||||||
|
|
||||||
|
if (!(event->flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) &&
|
||||||
|
clutter_input_focus_is_focused (priv->input_focus) &&
|
||||||
|
clutter_input_focus_filter_key_event (priv->input_focus, event))
|
||||||
|
return CLUTTER_EVENT_STOP;
|
||||||
|
|
||||||
/* we allow passing synthetic events that only contain
|
/* we allow passing synthetic events that only contain
|
||||||
* the Unicode value and not the key symbol, unless they
|
* the Unicode value and not the key symbol, unless they
|
||||||
* contain the input method flag.
|
* contain the input method flag.
|
||||||
@ -2247,10 +2252,6 @@ clutter_text_key_press (ClutterActor *actor,
|
|||||||
{
|
{
|
||||||
gunichar key_unichar;
|
gunichar key_unichar;
|
||||||
|
|
||||||
if (clutter_input_focus_is_focused (priv->input_focus) &&
|
|
||||||
clutter_input_focus_filter_key_event (priv->input_focus, event))
|
|
||||||
return CLUTTER_EVENT_STOP;
|
|
||||||
|
|
||||||
/* Skip keys when control is pressed */
|
/* Skip keys when control is pressed */
|
||||||
key_unichar = clutter_event_get_key_unicode ((ClutterEvent *) event);
|
key_unichar = clutter_event_get_key_unicode ((ClutterEvent *) event);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user