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; }