protected override void Cleanup()
 {
     if (joystick != null)
     {
         joystick.OnInputChanged -= Joystick_OnInputChanged;
         joystick.Disconnect();
     }
     joystick = null;
     foreach (JoystickControl control in EnumUtil.GetValues <JoystickControl>())
     {
         states[control] = default(int);
     }
     Input = new Twist();
 }