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 Listeners to Views (via ViewRefs).
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
Registryconsumer 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
ViewReffor aZX_EVENTPAIR_PEER_CLOSEDsignal (see documentation forfuchsia.ui.views.ViewRefControl). - If the request would exceed the simultaneous registration limit,
or when the
ViewRefreceivesZX_EVENTPAIR_PEER_CLOSED, the implementer should dispose oflistener.
Request
| Name | Type |
|---|---|
view_ref |
fuchsia.ui.views/ViewRef
|
is_visible |
bool
|
listener |
server_end:Listener
|