On Thu, Jul 17, 2014 at 03:37:41PM +0200, Stefanos A. wrote: > 2014-07-17 14:57 GMT+02:00 Jasper St. Pierre <[email protected]>: > > > I don't see a benefit for running directly on a Linux console. > > > > I don't have any examples of using udev on me at the moment, but Weston > > should have a few. > > > > Thanks for your help so far. > > The benefit applies to applications running on limited hardware such as > Raspberry Pi; specialized media applications that do not require a desktop > environment, such as XMBC; and applications that can benefit from tighter > timing, such as emulators. It's not generally useful, but there is interest > in making this work. > > I am currently reading the documentation on multiseat on freedesktop.org > <http://www.freedesktop.org/wiki/Software/systemd/multiseat/> and trying to > understand how that applies to my use case. > > "loginctl list-seats" returns a single seat ("seat0") no matter how many I > keyboards I have connected (internal, internal + external, internal + 2 > external). Same thing happens with mice - it appears that all input devices > are assigned to seat0 by default. > > According to the documentation, "Assignment of hardware devices to seats is > managed inside the udev database, via settings on the devices." IF I > understand correctly, this means that only the system administrator can > change the device-seat assignments. This makes perfect sense in a > multi-user / multi-seat environment, but I don't think it actually covers > my use-case which is a single-user system where two people want to play a > game together for half an hour. > > When reading through libinput.h, I see references to "physical seats", > which I understand to be seat names as seen in loginctl, and "logical > seats" which sounds very close to the way I am treating input devices > inside my library. However, although I can retrieve the name of a logical > seat, I don't see how I would go about assigning devices to logical seats: > (a) there is not "libinput_assign_device_to_logical_seat" API; (b) even if > there was, I am back to the original problem, namely how to decide which > devices to assign to each logical seat. > > As far as I can tell, libinput *does* take my use case into account. I > think what I am missing is a key piece of information on how to make > everything fit together. I'll check the weston source again, maybe there is > something hiding there. (Or maybe someone has an idea on how to make this > work?)
ok, wrote the other email too soon :) the missing piece is: assing the WL_SEAT tag through udev rules to the devices to split them up. libinput does not provide dynamic seat reassignment at this point. the current code is a leftover from weston where IIRC it was used in some embedded case where the assignment was static. if there's a case for making this dynamic we can add it, but it's a bit more involved than just a adding a function - we'd have to trigger the device removed/added functions as the device changes seats Cheers, Peter _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
