From: Olivier Fourdan Date: Tue, 17 Apr 2018 11:32:21 +0000 (+0200) Subject: clutter/evdev: ignore injected events from IM X-Git-Tag: archive/raspbian/3.28.2-3+rpi1^2~25 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=86a9039bccf3cb6d90b68435af21dd11b3c8cf6c;p=mutter.git clutter/evdev: ignore injected events from IM Input method can inject key events, which leads to multiple reported key press/release events for a single user action. Ignore those events as this confuses keyboard accessibility. (cherry picked from commit c01b099dbdfee4b2a98864bc76bfa1b96a55c8fb) Origin: upstream, 3.28.3, commit:c7a38c31398871d2461b66963756816d268f524e Gbp-Pq: Name clutter-evdev-ignore-injected-events-from-IM.patch --- diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c b/clutter/clutter/evdev/clutter-input-device-evdev.c index 6c52361..e5dee65 100644 --- a/clutter/clutter/evdev/clutter-input-device-evdev.c +++ b/clutter/clutter/evdev/clutter-input-device-evdev.c @@ -1122,6 +1122,10 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent *e { ClutterInputDeviceEvdev *device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (device); + /* Ignore key events injected from IM */ + if (event->key.flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) + goto emit_event; + if (!device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED) goto emit_event;