PROTOCOLS
Listener
Defined in fuchsia.accessibility.virtualkeyboard/virtual_keyboard.fidl
Provides the ability to inform an interested party ("listener") of changes in virtual keyboard state (e.g. visibility).
Roles
This protocol will typically be:
- Implemented by platform components which implement accessibility. For example, a11y_manager.
- Consumed by components which provide a GUI affordance for text input.
Notes
When the consumer of this protocol observes that the channel is closed,
it (the protocol consumer) should retry Registry.Register()
, applying
back-off logic to avoid tight loops.
OnVisibilityChanged
Informs the Listener
of a change in keyboard visibility.
Consumers of this protocol should wait for each call to be acknowledged before calling again, to avoid queueing large numbers of updates.
Request
Name | Type |
---|---|
updated_visibility |
bool
|
Response
<EMPTY>
Registry
Defined in fuchsia.accessibility.virtualkeyboard/virtual_keyboard.fidl
Provides the ability to register a virtual keyboard.
This protocol exists to bind Listener
s to View
s (via ViewRef
s).
The binding allows, e.g., the accessibility subsystem determine if an
interaction with the View
should result in a focus transfer.
Roles
This protocol will typically be:
- Implemented by platform components which implement accessibility. For example, a11y_manager.
- Consumed by components which provide a GUI affordance for text input.
Register
Registers the View
referenced by view_ref
as a View
which may contain a virtual keyboard.
The presence or absence of a virtual keyboard within the View
may change dynamically.
- The initial state is indicated by
is_visible
. - The
Registry
consumer will update state by invoking methods on the providedserver_end:Listener
.
Notes
- The implementer may limit the number of simultaneous registrations allowed (e.g. only allowing a single registration at a time).
- The implementer should monitor the provided
ViewRef
for aZX_EVENTPAIR_PEER_CLOSED
signal (see documentation forfuchsia.ui.views.ViewRefControl
). - If the request would exceed the simultaneous registration limit,
or when the
ViewRef
receivesZX_EVENTPAIR_PEER_CLOSED
, the implementer should dispose oflistener
.
Request
Name | Type |
---|---|
view_ref |
fuchsia.ui.views/ViewRef
|
is_visible |
bool
|
listener |
server_end:Listener
|