Add surface filters to input interfaces (wl_pointer, wl_keyboard, wl_touch)
Submitted by Daniel Stone
Assigned to Daniel Stone
All input interfaces (pointer/keyboard/touch) created by a particular client are currently active for all surfaces created by that client. This is undesirable if different components of the client are creating and handling different surfaces, e.g. a web browser which embeds media, or anything embedding GL.
We could fix this by adding a surface filter to a newer version of the input interfaces, which will only send events to those objects for specified surfaces.