Termisu::FFI::Conversions
Constants
Class methods
Fully zeroed None event, deterministic across every field. The FFI poll hot path uses write_blank_event instead, which skips the memset.
Writes event into the caller's struct in place, without zeroing it
first. ABI readers dispatch on event_type and only touch that type's
fields (see readEvent in javascript/core/src/structs.ts): event_type and
modifiers are always read; key_, mouse_, resize_, tick_, mode_* and
preedit_* only for their own type, with resize_old_/mode_previous
gated behind their has_ flags. Each writer below sets exactly that
read-set (writing explicit zeros for absent optional fields), so any
other byte in the caller's buffer may keep stale content.
No-event marker (poll timeout): readers only touch event_type and modifiers for a None event; key_char = -1 is kept as the "no char" sentinel blank_event has always guaranteed.