public static bool IsDown(Key key) { KeyDownData p = _pressed[key]; bool ret = p.PressTime != 0; if (ret) { p.PressChecked = true; } return(ret); }
public static void OnKeyDown(Avalonia.Input.KeyEventArgs e, bool down) { Key key; switch (e.Key) { case Avalonia.Input.Key.Q: key = Key.L; break; case Avalonia.Input.Key.W: key = Key.R; break; case Avalonia.Input.Key.A: key = Key.X; break; case Avalonia.Input.Key.S: key = Key.Y; break; case Avalonia.Input.Key.Z: key = Key.B; break; case Avalonia.Input.Key.X: key = Key.A; break; case Avalonia.Input.Key.Left: key = Key.Left; break; case Avalonia.Input.Key.Right: key = Key.Right; break; case Avalonia.Input.Key.Down: key = Key.Down; break; case Avalonia.Input.Key.Up: key = Key.Up; break; case Avalonia.Input.Key.Enter: key = Key.Start; break; case Avalonia.Input.Key.RightShift: key = Key.Select; break; default: return; } KeyDownData p = _pressed[key]; if (down) { p.PressTime++; } else { p.PressChecked = false; p.PressTime = 0; } e.Handled = true; }