libinput devices are assigned to a struct libinput_seat that is immutable.
The seat consists of physical seat (e.g. "seat0", i.e. ID_SEAT) and a
logical seat ("default", WL_SEAT if available).The physical seat is used as filter whether a device is added at all, the logical seat effectively corresponds to a wl_seat or to a XI2 master device pair in xorg. This patch enables a caller to change the logical seat name, implemented as effectively removing the device from the current seat as if unplugged, then adding it to the new seat. Why is this needed? libinput provides a couple of functions that are seat-related. For example, libinput_event_pointer_get_seat_button_count() returns the number of devices within that seat that have a specific button down. This obviously only works if the device is assigned to the right seat, if a compositor moves the device to a new wl_seat at runtime this function becomes useless and libinput's view of which seat the device is in is off. That again matters for things like disable-while-typing etc. Cheers, Peter _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
