KeyboardBehavior
Base for input behaviors that react to the software keyboard's lifecycle — appearing, hiding, animating, or changing frame — while the field is focused. Subclass to build a reaction: keep the field above the keyboard (KeyboardAvoidanceBehavior), dock a toolbar to the keyboard top, resize a scroll container, dim a backdrop, and so on. Desktop emits no keyboard events, so every subclass is inert there.
Remarks
KeyboardChanged into the per-phase hooks below while the owning editor is focused, and drives OnKeyboardUpdate once per frame. The per-frame tick outlives focus by the tail of a client-side exit animation: while IsAnimating is set after OnFocusLost, ticks keep coming so the reaction can animate back to rest instead of snapping. Subclasses override the hooks they need and add their own serialized fields. Animation has two paths by platform (see OnKeyboardAnimationProgress vs OnKeyboardUpdate); a cross-platform subclass implements both.Derived Types(1)
Types that inherit from KeyboardBehavior.
Whether the reaction is mid client-side animation and still needs OnKeyboardUpdate ticks — including an exit animation started in OnFocusLost that must finish after focus is already gone. The base keeps the per-frame tick alive while this holds, then releases it, so the field animates to rest rather than snapping.
