message InputEvent
Control plane
message InputEvent
One raw input event, renderer → app.
Field-for-field the shape of canvas::InputEvent, deliberately: the
renderer polls one off GLFW and forwards it without interpreting it. What
x, y, button and mods mean depends on kind — see
InputEventKind in draw_command.hpp, which is the authority for both
sides. Keeping the wire struct congruent with the local one is what makes
"forward it" a field copy rather than a protocol.
FileDrop arrives here like any other event, but its payload does not fit:
the paths are a list, and this struct is fixed-size. The event says a drop
happened and where; TakeDroppedPaths says what was in it.
idl/lava.npidl:901
Fields
button: i32
Not documented.
idl/lava.npidl:909
kind: u32
Not documented.
idl/lava.npidl:906
mods: i32
Not documented.
idl/lava.npidl:910
serial: u32
Monotonic per-subscription. The app echoes it back in InputAck to say
how far it has got, which is the only way the renderer can tell "the app
is idle" from "the app is behind".
idl/lava.npidl:905
x: f32
Not documented.
idl/lava.npidl:907
y: f32
Not documented.
idl/lava.npidl:908