public KeyChar Find(Key key) { KeyChar finded = null; finded = keyChars.Find(keyChar => keyChar.VirtualKey == key); return(finded); }
private void CoreWindow_KeyDown(object sender, KeyEventArgs args) { var xnaKey = KeyTranslate(args.VirtualKey, args.KeyStatus); Keyboard.SetKey(xnaKey); _lastEnqueuedKeyChar = new KeyChar(); _lastEnqueuedKeyChar.Key = xnaKey; TextQueue.Enqueue(_lastEnqueuedKeyChar); }
private void View_KeyLoaded(object sender, KeyboardKeyEventArgs e) { KeyChar keyChar = keyCharsProvider.Find(e.Key); if (keyChar is AlphabeticKey alphabeticKey) { alphabeticKey.UpperCase = e.IsCapsToggled; } view.UpdateKey(e.Key, keyChar.Content); }
public unsafe void Subscribe(GlfwEvents events) { _handle = events.Handle; events.Char += _char = (_, c) => KeyChar?.Invoke(this, (char)c); events.Key += _key = (_, key, code, action, mods) => (action switch { InputAction.Press => KeyDown, InputAction.Release => KeyUp, InputAction.Repeat => null, _ => null })?.Invoke(this, ConvertKey(key), code);
public unsafe void DoEvent(Event @event) { switch ((EventType)@event.Type) { case EventType.Keydown: { if (@event.Key.Repeat != 1 && _keyMap.TryGetValue((KeyCode)@event.Key.Keysym.Sym, out var key)) { _keysDown.Add(key); KeyDown?.Invoke(this, key, (int)@event.Key.Keysym.Scancode); } break; } case EventType.Keyup: { if (@event.Key.Repeat != 1 && _keyMap.TryGetValue((KeyCode)@event.Key.Keysym.Sym, out var key)) { _keysDown.Remove(key); KeyUp?.Invoke(this, key, (int)@event.Key.Keysym.Scancode); } break; } case EventType.Textediting: { break; } case EventType.Textinput: { for (int i = 0; i < 32; i++) { var @char = @event.Text.Text[i]; if (@char == 0) { break; } KeyChar?.Invoke(this, (char)@char); } break; } case EventType.Keymapchanged: break; } }
private void View_KeyboardKeyUp(object sender, KeyboardKeyEventArgs e) { KeyChar pressedKey = keyCharsProvider.Find(e.Key); if (e.Key == Key.CapsLock) { ChangeAlphabeticKeyRegister(e.IsCapsToggled); } else if (e.Key == Key.LeftShift || e.Key == Key.RightShift) { ChangeAlphabeticKeyRegister(e.IsCapsToggled); ChangeSymbolKeys(false); } else if (pressedKey is SymbolKey || pressedKey is AlphabeticKey) { CheckInput(pressedKey); } }
private void CheckInput(KeyChar key) { if (Convert.ToChar(key.Content) == sourceString.Next) { sourceString.Move(); view.UpdateInputString(sourceString.PassedSubstring); view.UpdateLeftedString(sourceString.LeftedSubString); if (!sourceString.HasNext) { view.UpdateLeftedString(null); view.Finish(); timer.Stop(); } speedCalculator.ActionDone(); } else { view.Fails = ++view.Fails; } }
/// <summary> /// Raises the OnChar event. Override this method to add code to handle when a WM_CHAR message is received /// </summary> /// <param name="e">InputEventCKB for the OnChar event</param> private void invokeChar(InputEventKeyboard e) { KeyChar?.Invoke(e); }
public void FireKeyChar(KeyCharEventArgs e) { KeyChar?.Invoke(this, e); }
public void RaiseCharEvent(char c) { KeyChar?.Invoke(this, c); }
public override int GetHashCode() => KeyChar.HasValue ? KeyChar.GetHashCode() : KeyType.GetHashCode();
//====== override: Object public override string ToString() => "Key: " + (KeyChar.HasValue ? KeyChar.ToString() : KeyType.ToString());