This is used by TCastleSceneCore to communicate with this key sensor.
Semantics follow TInputPressRelease behavior for EventType = itKey. This means that Key may be K_None (if not representable as TKey) and C may be #0 (if not representable as char), but not both — at least one of Key or C must contains something useful. Also, key presses are affected by the "key repeat" feature of the OS (windowing system actually), so when user holds down a key — we get many key down messages.