class InputOwnership
Defined at line 37 of file fidling/gen/sdk/fidl/fuchsia.ui.input.internal/fuchsia.ui.input.internal/cpp/fidl/fuchsia.ui.input.internal/cpp/markers.h
Get information about ownership of input (replaces `DisplayOwnership`).
By default, user input is handled by the platform input pipeline
(`SceneManager`) and delivered to applications via standard UI protocols
(e.g. `fuchsia.ui.pointer.TouchSource`).
Low-level components (such as Starnix or Virtcon) that require direct access
to hardware input devices via `fuchsia.input.report.Service` must observe this
event to pause or resume reading from direct driver streams, preventing
duplicate processing or input leakage.
This protocol intentionally assumes a system-wide singleton direct-client
model where only one direct client or the platform pipeline consumes input
at any given time.
During ownership transitions (e.g. switching display ownership or view
focus), an intermediate state may occur where neither the direct client nor
the platform pipeline owns input. During any unowned or transition state, all
consumers (both direct clients and the platform pipeline) must pause reading
and processing hardware input reports until their respective ownership signal
is asserted.
Security note:
A `ViewRef` is a duplicable identity token rather than proof of view ownership,
and any caller with access to this protocol can replace the registered `ViewRef`.
Therefore, `InputOwnership` must only be routed to trusted system components.
Public Members
static Openness kOpenness
static const char[] kDiscoverableName