diff --git a/src/core/events.c b/src/core/events.c index 8b09ec893..43efe1d9d 100644 --- a/src/core/events.c +++ b/src/core/events.c @@ -161,6 +161,7 @@ meta_display_handle_event (MetaDisplay *display, G_GNUC_UNUSED gboolean bypass_wayland = FALSE; MetaGestureTracker *tracker; ClutterEventSequence *sequence; + ClutterInputDevice *source; sequence = clutter_event_get_event_sequence (event); @@ -179,6 +180,14 @@ meta_display_handle_event (MetaDisplay *display, } #endif + source = clutter_event_get_source_device (event); + + if (source) + { + meta_backend_update_last_device (meta_get_backend (), + clutter_input_device_get_device_id (source)); + } + if (meta_is_wayland_compositor () && event->type == CLUTTER_MOTION) { MetaCursorTracker *tracker = meta_cursor_tracker_get_for_screen (NULL);