private void CalibrateJoystick(bool cStick) { GameCubeController controller; GetActivePort(out controller); var nonCalibrated = new NintrollerLib.Joystick(); var curCalibrated = new NintrollerLib.Joystick(); if (cStick) { _calibrationTarget = "cStk"; nonCalibrated = Calibrations.None.GameCubeControllerRaw.cStick; curCalibrated = controller.cStick; } else { _calibrationTarget = "joy"; nonCalibrated = Calibrations.None.GameCubeControllerRaw.joystick; curCalibrated = controller.joystick; } Windows.JoyCalibrationWindow joyCal = new Windows.JoyCalibrationWindow(nonCalibrated, curCalibrated); _openJoyWindow = joyCal; #if DEBUG // Don't use show dialog so dummy values can be modified if (DeviceID?.StartsWith("Dummy") ?? false) { joyCal.Closed += (obj, args) => { if (joyCal.Apply) { OnJoyCalibrated?.Invoke(joyCal.Calibration, _calibrationTarget, joyCal.FileName); } _openJoyWindow = null; }; joyCal.Show(); return; } #endif joyCal.ShowDialog(); if (joyCal.Apply) { OnJoyCalibrated?.Invoke(joyCal.Calibration, _calibrationTarget, joyCal.FileName); } _openJoyWindow = null; joyCal = null; }
protected override void CalibrateInput(string inputName) { _rightJoyOpen = inputName == "proR"; string joyTarget = _rightJoyOpen ? App.CAL_PRO_RJOYSTICK : App.CAL_PRO_LJOYSTICK; var prefs = AppPrefs.Instance.GetDevicePreferences(DeviceID); string filename = ""; prefs?.calibrationFiles.TryGetValue(joyTarget, out filename); Windows.JoyCalibrationWindow joyCal = new Windows.JoyCalibrationWindow( _rightJoyOpen ? Calibrations.None.ProControllerRaw.RJoy : Calibrations.None.ProControllerRaw.LJoy, _rightJoyOpen ? _lastState.RJoy : _lastState.LJoy, filename ?? ""); _openJoyWindow = joyCal; #if DEBUG // This will allow for the dummy device window to retain focus if (DeviceID.StartsWith("Dummy")) { joyCal.Closed += (obj, args) => { if (joyCal.Apply) { OnJoyCalibrated?.Invoke(joyCal.Calibration, joyTarget, joyCal.FileName); } _openJoyWindow = null; }; joyCal.Show(); return; } #endif joyCal.ShowDialog(); if (joyCal.Apply) { OnJoyCalibrated?.Invoke(joyCal.Calibration, joyTarget, joyCal.FileName); } _openJoyWindow = null; joyCal = null; }
private void CalibrateJoystick_Click(object sender, RoutedEventArgs e) { _calibrationTarget = (sender as FrameworkElement).Tag.ToString(); Joystick nonCalibrated = new Joystick(); Joystick curCalibration = new Joystick(); switch (_calibrationTarget) { case App.CAL_NUN_JOYSTICK: nonCalibrated = Calibrations.None.NunchukRaw.joystick; if (_lastState is Nunchuk) { curCalibration = ((Nunchuk)_lastState).joystick; } break; case App.CAL_CC_LJOYSTICK: nonCalibrated = Calibrations.None.ClassicControllerRaw.LJoy; if (_lastState is ClassicController) { curCalibration = ((ClassicController)_lastState).LJoy; } break; case App.CAL_CC_RJOYSTICK: nonCalibrated = Calibrations.None.ClassicControllerRaw.RJoy; if (_lastState is ClassicController) { curCalibration = ((ClassicController)_lastState).RJoy; } break; case App.CAL_CCP_LJOYSTICK: nonCalibrated = Calibrations.None.ClassicControllerProRaw.LJoy; if (_lastState is ClassicControllerPro) { curCalibration = ((ClassicControllerPro)_lastState).LJoy; } break; case App.CAL_CCP_RJOYSTICK: nonCalibrated = Calibrations.None.ClassicControllerProRaw.RJoy; if (_lastState is ClassicControllerPro) { curCalibration = ((ClassicControllerPro)_lastState).RJoy; } break; case App.CAL_GUT_JOYSTICK: nonCalibrated = Calibrations.None.GuitarRaw.joystick; if (_lastState is Guitar) { curCalibration = ((Guitar)_lastState).joystick; } break; default: return; } Windows.JoyCalibrationWindow joyCal = new Windows.JoyCalibrationWindow(nonCalibrated, curCalibration); _openJoyWindow = joyCal; #if DEBUG // This will allow for the dummy device window to retain focus if (DeviceID.StartsWith("Dummy")) { joyCal.Closed += (obj, args) => { if (joyCal.Apply) { OnJoystickCalibrated?.Invoke(joyCal.Calibration, _calibrationTarget, joyCal.FileName); } _openJoyWindow = null; }; joyCal.Show(); return; } #endif joyCal.ShowDialog(); if (joyCal.Apply) { OnJoystickCalibrated?.Invoke(joyCal.Calibration, _calibrationTarget, joyCal.FileName); } _openJoyWindow = null; }