Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This portal is aimed at allowing applications to capture input from physical devices, the prime use case is the server component of an InputLeap (a Synergy fork) setup where local devices are used to control a remote display. The general flow for the InputCapture session is: - application queries the "zones" available (usually representing the desktop) - application sets up "pointer barriers" - application provides a libei-compatible handle for the actual input events - when a cursor moves against/across a pointer barrier, the compositor notifies the client and re-routes input events from libinput to libei instead of controlling the local cursor Notable: the actual input events are not part of the portal here, they're handled by the direct libei connection between compositor and application. This portal has no direct dependencies on libei itself. The compositor is in charge of everything - it can restrict some screens from showing up in the regions, it can deny pointer barriers at locations, it decides when a pointer barrier is crossed, it can stop capturing (or filter events) at any time, etc.
- Loading branch information