public JoystickInfo Read() { var info = new JoystickInfo(); if (_pressedKeys[Keys.W]) { info.Y = 0.5f; } else if (_pressedKeys[Keys.S]) { info.Y = -0.5f; } else { info.Y = 0; } if (_pressedKeys[Keys.A]) { info.Rot = -0.5f; } else if (_pressedKeys[Keys.D]) { info.Rot = 0.5f; } else { info.Rot = 0; } return(info); }
private void DrawJoystick(JoystickInfo info) { joystickDrawer.Throttle = info.Throttle; joystickDrawer.Rot = info.Rot; joystickDrawer.X = info.X; joystickDrawer.Y = info.Y; joystickDrawer.Invalidate(); }
public JoystickInfo Read() { joyGetPosEx(_uJoyID, ref _info); JoystickInfo info = new JoystickInfo() { X = (_info.dwXpos - 32768) / 65536.0f, Y = (-_info.dwYpos + 32768) / 65536.0f, Rot = (_info.dwRpos - 32768) / 65536.0f, Throttle = (-_info.dwZpos + 65536) / 65536.0f, POV = (_info.dwPOV == 65535) ? -1 : (_info.dwPOV / 100.0f), Buttons = _info.dwButtons }; return(info); }
private void JoystickControl_JoystickMoved(object sender, Joystick.JoystickInfo e) { float forward = e.Y; float rot = e.Rot; sbyte left, right; int maxPWM = (int)numMaxPWM.Value; left = (sbyte)(2 * forward * maxPWM); right = (sbyte)(2 * forward * maxPWM); left -= (sbyte)(2 * rot * maxPWM); right += (sbyte)(2 * rot * maxPWM); lblLeft.Text = left.ToString(); lblRight.Text = right.ToString(); _sender.Send(left, right); }