private bool TryCalibrate(FinchChirality chirality, bool swap) { FinchController mainController = chirality == FinchChirality.Left ? FinchController.Left : FinchController.Right; FinchController additionalController = chirality == FinchChirality.Left ? FinchController.Right : FinchController.Left; bool leftCalibrate = leftPressDown && FinchController.Left.GetPressTime(FinchControllerElement.HomeButton) > FinchCalibration.Settings.TimePressingToCallCalibration; bool rightCalibrate = rightPressDown && FinchController.Right.GetPressTime(FinchControllerElement.HomeButton) > FinchCalibration.Settings.TimePressingToCallCalibration; bool mainCalibrate = chirality == FinchChirality.Left ? leftCalibrate : rightCalibrate; bool additionalCalibrate = chirality == FinchChirality.Left ? rightCalibrate : leftCalibrate; if (mainCalibrate || additionalCalibrate && swap) { if (mainCalibrate) { mainController.HapticPulse(FinchCalibration.Settings.HapticTime); mainController.Calibrate(); } else { additionalController.HapticPulse(FinchCalibration.Settings.HapticTime); additionalController.Calibrate(); FinchCore.SwapNodes(FinchNodeType.LeftHand, FinchNodeType.RightHand); FinchCore.Interop.FinchSwapCalibrations(1, 0); } } return(mainCalibrate || additionalCalibrate && swap); }
private void FastCalibrate(FinchController controller) { controller.HapticPulse(Settings.HapticTime); controller.Calibrate(); }