private void RefreshJoystickState(Joystick joystick, ZXSpectrum.Joystick zxJoystick) { // Set BufferSize in order to use buffered data. // joystick.Properties.BufferSize = 128; // Poll events from joystick // joystick.Poll(); // var datas = joystick.GetBufferedData(); joystick.Poll(); JoystickState currentState = joystick.GetCurrentState(); ZXSpectrum.JoystickHorizontalPosition newHorizontalPosition = ZXSpectrum.JoystickHorizontalPosition.Center; if (currentState.X < 16383) { newHorizontalPosition = ZXSpectrum.JoystickHorizontalPosition.Left; } else if (currentState.X > 49150) { newHorizontalPosition = ZXSpectrum.JoystickHorizontalPosition.Right; } ZXSpectrum.JoystickVerticalPosition newVerticalPosition = ZXSpectrum.JoystickVerticalPosition.Center; if (currentState.Y < 16383) { newVerticalPosition = ZXSpectrum.JoystickVerticalPosition.Up; } else if (currentState.Y > 49150) { newVerticalPosition = ZXSpectrum.JoystickVerticalPosition.Down; } bool newButtonPressedState = currentState.Buttons[0]; zxJoystick.RefreshCurrentPosition(newVerticalPosition, newHorizontalPosition, newButtonPressedState); }
public JoystickAdapter(ZXSpectrum.Joystick zxJoystick1, ZXSpectrum.Joystick zxJoystick2) { this.zxJoystick1 = zxJoystick1; this.zxJoystick2 = zxJoystick2; }