summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-12-06 12:52:19 +0100
committerCarlos Garnacho <carlosg@gnome.org>2018-01-18 16:20:45 +0100
commitf08417b6183b7e8654fab877f467fa95bbfe4557 (patch)
tree0e5e41980cdd898e7377652eb94d7ddfb829eafa
parent62c9713361a23f33c4c9991e7c390a2e57203287 (diff)
downloadmutter-f08417b6183b7e8654fab877f467fa95bbfe4557.tar.gz
wayland: Let IM-processed key events go through MetaWaylandKeyboard
Those have the "synthetic" flag as set by Clutter guts, but should be processed anyway. Perhaps a "key-repeat" flat would make sense...
-rw-r--r--src/wayland/meta-wayland-keyboard.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index f5101ab62..ba77fcc39 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -645,7 +645,8 @@ default_grab_key (MetaWaylandKeyboardGrab *grab,
/* Synthetic key events are for autorepeat. Ignore those, as
* autorepeat in Wayland is done on the client side. */
- if (event->key.flags & CLUTTER_EVENT_FLAG_SYNTHETIC)
+ if ((event->key.flags & CLUTTER_EVENT_FLAG_SYNTHETIC) &&
+ !(event->key.flags & CLUTTER_EVENT_FLAG_INPUT_METHOD))
return FALSE;
#ifdef HAVE_NATIVE_BACKEND
@@ -788,7 +789,8 @@ meta_wayland_keyboard_handle_event (MetaWaylandKeyboard *keyboard,
/* Synthetic key events are for autorepeat. Ignore those, as
* autorepeat in Wayland is done on the client side. */
- if (event->flags & CLUTTER_EVENT_FLAG_SYNTHETIC)
+ if ((event->flags & CLUTTER_EVENT_FLAG_SYNTHETIC) &&
+ !(event->flags & CLUTTER_EVENT_FLAG_INPUT_METHOD))
return FALSE;
meta_verbose ("Handling key %s event code %d\n",