private void OnKeyDown(InputKeyboardEvent e) { if (_lastKey == SDL_Keycode.SDLK_LCTRL && e.KeyCode == SDL_Keycode.SDLK_v) { OnTextInput(new InputKeyboardEvent(KeyboardEvent.TextInput, SDL_Keycode.SDLK_UNKNOWN, 0, SDL_Keymod.KMOD_NONE) { KeyChar = SDL_GetClipboardText() }); } else { if (_lastKey == e.KeyCode && _lastKey != SDL_Keycode.SDLK_UNKNOWN || e.EventType == KeyboardEvent.Down) { AddEvent(new InputKeyboardEvent(KeyboardEvent.Press, e)); } _lastKey = e.KeyCode; AddEvent(e); } }
public InputKeyboardEvent(KeyboardEvent eventtype, InputKeyboardEvent parent) : base(parent) { EventType = eventtype; KeyCode = parent.KeyCode; _keyDataExtra = parent._keyDataExtra; }
private void OnTextInput(InputKeyboardEvent e) { AddEvent(e); }
private void OnKeyUp(InputKeyboardEvent e) { _lastKey = SDL_Keycode.SDLK_UNKNOWN; AddEvent(e); }