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",