Reviewed on: 2022-03-22
All modules are in the src
directory (parallel to this docs
directory), and are referenced from src/lib.rs
.
input_pipeline.rs
defines the top-level structs needed by components that wish to instantiate an input pipeline. These are input_pipeline::InputPipeline
, and input_pipeline::InputPipelineAssembly
.input_device.rs
defines the types (e.g. struct
s, trait
s, enum
s) which represent input devices and input events within the library.binding
s define the struct
s that read from input devices exposed by /dev/class/input-report
. Each binding reads fuchsia.input.report.InputReport
FIDL messages, and translates the Input Reports into input_device::InputEvent
s.focus_listener
module receives focus change notifications from Scenic, and dispatches relevant updates to FIDL peers (e.g. the shortcut manager) that need to know which fuchsia.ui.views.View
has keyboard focus. Note: This is work-in-progress. See https://fxbug.dev/95901.InputEvent
s, possibly decorating them, interpreting them, and/or transforming them to fuchsia.input.InputEvent
s. In the last case, the stage typically sends the message to a FIDL peer.InputHandler
trait are called handlers.stages
folder.