Removes the surface listeners. Idempotent (§83: teardown paths must not
have to test first).
There is no per-key state to clear — unlike a pointer, a key has no
gesture: keydown and keyup are complete in themselves, and the platform
owns which keys are held. That is also why this class has no analogue of
PointerInput's tracked-pointer map, and so cannot leak one (A-9's whole
class of defect is absent by construction).
Listeners registered on nodes by the application are not touched, since
this object never added them.
Removes the surface listeners. Idempotent (§83: teardown paths must not have to test first).
There is no per-key state to clear — unlike a pointer, a key has no gesture:
keydownandkeyupare complete in themselves, and the platform owns which keys are held. That is also why this class has no analogue ofPointerInput's tracked-pointer map, and so cannot leak one (A-9's whole class of defect is absent by construction).Listeners registered on nodes by the application are not touched, since this object never added them.