diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c b/clutter/clutter/evdev/clutter-input-device-evdev.c index 8caf09572..325881287 100644 --- a/clutter/clutter/evdev/clutter-input-device-evdev.c +++ b/clutter/clutter/evdev/clutter-input-device-evdev.c @@ -676,7 +676,7 @@ stop_toggle_slowkeys (ClutterInputDeviceEvdev *device) } static void -handle_togglekeys_press (ClutterEvent *event, +handle_enablekeys_press (ClutterEvent *event, ClutterInputDeviceEvdev *device) { if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R) @@ -698,7 +698,7 @@ handle_togglekeys_press (ClutterEvent *event, } static void -handle_togglekeys_release (ClutterEvent *event, +handle_enablekeys_release (ClutterEvent *event, ClutterInputDeviceEvdev *device) { if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R) @@ -1135,6 +1135,11 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent *e if (!device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED) goto emit_event; + if (event->type == CLUTTER_KEY_PRESS) + handle_enablekeys_press (event, device_evdev); + else + handle_enablekeys_release (event, device_evdev); + if (device_evdev->a11y_flags & CLUTTER_A11Y_MOUSE_KEYS_ENABLED) { if (event->type == CLUTTER_KEY_PRESS && @@ -1145,14 +1150,6 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent *e return; /* swallow event */ } - if (device_evdev->a11y_flags & CLUTTER_A11Y_TOGGLE_KEYS_ENABLED) - { - if (event->type == CLUTTER_KEY_PRESS) - handle_togglekeys_press (event, device_evdev); - else - handle_togglekeys_release (event, device_evdev); - } - if ((device_evdev->a11y_flags & CLUTTER_A11Y_BOUNCE_KEYS_ENABLED) && (get_debounce_delay (device) != 0)) {