void TextInputReceived(object sender, TextInputEventArgs args) { if (!initialized) { // ignore early events.. return; } var keyEventData = new KeyEventData(KeyEventType.KeyTyped, currentTime, frame, currentFlags, args.Character); typedCharacters.Enqueue(keyEventData); }
void RaiseEvents() { for (var i = 0; i < enumerableKeys.Length; i++) { var key = enumerableKeys[i]; if (currentState.IsKeyDown(key) && previousState.IsKeyUp(key)) { var keyEventData = new KeyEventData(KeyEventType.KeyPressed, currentTime, frame, currentFlags, key); eventSink.PushEvent(keyEventData); } if (currentState.IsKeyUp(key) && previousState.IsKeyDown(key)) { var keyEventData = new KeyEventData(KeyEventType.KeyReleased, currentTime, frame, currentFlags, key); eventSink.PushEvent(keyEventData); } } }