// Joystick update time private void timer1_Tick(object sender, EventArgs e) { var cmd = _joystick.Read(); JoystickMoved?.Invoke(this, cmd); DrawJoystick(cmd); }
// Key pressed (key press/up can handle only form) public void KeyChanged(Keys key, bool pressed) { if (_mode == Mode.KEYBOARD) { var cmd = _keyboardJoystick.SetKeyState(key, pressed); JoystickMoved?.Invoke(this, cmd); DrawJoystick(cmd); } }
private void SetMode(Mode mode) { _mode = mode; if (mode == Mode.JOYSTICK) { btnJoystick.BackColor = Color.LightSkyBlue; btnKeyboard.BackColor = SystemColors.Control; gboxJoystick.Visible = true; gboxKeyboard.Visible = false; joystickUpdateTimer.Enabled = true; } else { btnJoystick.BackColor = SystemColors.Control; btnKeyboard.BackColor = Color.LightSkyBlue; gboxJoystick.Visible = false; gboxKeyboard.Visible = true; joystickUpdateTimer.Enabled = false; var cmd = _keyboardJoystick.Read(); JoystickMoved?.Invoke(this, cmd); DrawJoystick(cmd); } }
/// <summary> /// Protected overridable handler that raises JoystickMoved event. /// </summary> protected virtual void OnJoystickMoved(JoystickMoveEventArgs args) { JoystickMoved?.Invoke(this, args); }