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 |