public void Reset() { AxisValueProgress.Value = CommonConstants.AXISMIN; axisAssign = (InGameAxAssgn)MainWindow.inGameAxis[whoCalledWindow]; if (axisAssign.GetDeviceNumber() > -1 | axisAssign.GetDeviceNumber() == -2) { status = Status.ShowAxisStatus; Retry.Content = "CLEAR"; Retry.Visibility = Visibility.Visible; if (whoCalledWindow == "Throttle") { SetAB.Visibility = Visibility.Visible; Idle.Visibility = Visibility.Visible; if (((InGameAxAssgn)MainWindow.inGameAxis[whoCalledWindow]).GetDeviceNumber() >= 0) { AB = MainWindow.deviceControl.joyAssign[((InGameAxAssgn)MainWindow.inGameAxis[whoCalledWindow]).GetDeviceNumber()].detentPosition.GetAB(); IDLE = MainWindow.deviceControl.joyAssign[((InGameAxAssgn)MainWindow.inGameAxis[whoCalledWindow]).GetDeviceNumber()].detentPosition.GetIDLE(); } } } Saturation.SelectedIndex = (int)axisAssign.GetSaturation(); DeadZone.SelectedIndex = (int)axisAssign.GetDeadzone(); Invert.IsChecked = axisAssign.GetInvert(); devNumTmp = axisAssign.GetDeviceNumber(); phyAxNumTmp = axisAssign.GetPhysicalNumber(); Joynum = new JoyAxisNeutralValue[MainWindow.deviceControl.joyAssign.Length]; for (int i = 0; i < MainWindow.deviceControl.joyAssign.Length; i++) { Joynum[i] = new JoyAxisNeutralValue(); } for (int i = 0; i < MainWindow.deviceControl.joyAssign.Length; i++) { for (int ii = 0; ii < 8; ii++) { Joynum[i].NeutralValue[ii] = MainWindow.deviceControl.joyAssign[i].JoyAxisState(ii); } } }
public AxisAssignWindow(InGameAxAssgn axisAssign, object sender) { InitializeComponent(); this.axisAssign = axisAssign; whoCalledWindow = ((System.Windows.Controls.Button)sender).Name; devNumTmp = axisAssign.GetDeviceNumber(); phyAxNumTmp = axisAssign.GetPhysicalNumber(); MouseWheel += Detect_MouseWheel; }
/// <summary> /// Callback When clicked "Assign" Button. Opens AxisAssignWindow. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Assign_Click(object sender, RoutedEventArgs e) { AxisMovingTimer.Stop(); NewDeviceDetectTimer.Stop(); string whocalledwindow = ((System.Windows.Controls.Button)sender).Name; InGameAxAssgn axisAssign = AxisAssignWindow.ShowAxisAssignWindow(this, (InGameAxAssgn)inGameAxis[whocalledwindow], sender); // Reset PhysicalAxis previously assigned to same axis // In case of axis has been unassigned and saved. for (int i = 0; i < deviceControl.joyAssign.Length; i++) { deviceControl.joyAssign[i].ResetPreviousAxis(whocalledwindow); } if (deviceControl.mouse.GetMouseAxis().GetAxisName() == whocalledwindow) { deviceControl.mouse.LoadAx(new AxAssgn()); } // When axis has been assigned. if (axisAssign.GetDeviceNumber() > -1) { deviceControl.joyAssign[axisAssign.GetDeviceNumber()].axis[axisAssign.GetPhysicalNumber()] = new AxAssgn(whocalledwindow, axisAssign); } if (axisAssign.GetDeviceNumber() == -2) { wheelValue = 0; deviceControl.mouse.LoadAx(new AxAssgn(whocalledwindow, axisAssign)); } joyAssign_2_inGameAxis(); ResetAssgnWindow(); NewDeviceDetectTimer.Start(); AxisMovingTimer.Start(); }
private void AssignWindow_Loaded(object sender, RoutedEventArgs e) { // YAME 64 VERSION if (MainWindow.FLG_YAME64) { Background = new SolidColorBrush(Color.FromArgb(255, 240, 240, 240)); BackGroundImage.Opacity = 0; } Retry.Visibility = Visibility.Hidden; SetAB.Visibility = Visibility.Hidden; Idle.Visibility = Visibility.Hidden; check_ABIDLE.Visibility = Visibility.Hidden; AxisName.Content = whoCalledWindow.Replace("_", " "); switch (whoCalledWindow) { case "Roll": DirectionDecrease.Content = "Left Wing Down"; DirectionIncrease.Content = "Right Wing Down"; break; case "Trim_Roll": DirectionDecrease.Content = "Left Wing Down"; DirectionIncrease.Content = "Right Wing Down"; break; case "Pitch": DirectionDecrease.Content = "Pitch Down"; DirectionIncrease.Content = "Pitch Up"; break; case "Trim_Pitch": DirectionDecrease.Content = "Pitch Down"; DirectionIncrease.Content = "Pitch Up"; break; case "Yaw": case "Trim_Yaw": DirectionDecrease.Content = "Yaw Left"; DirectionIncrease.Content = "Yaw Right"; break; case "Throttle": case "Throttle_Right": DirectionDecrease.Content = "Afterward"; DirectionIncrease.Content = "Forward"; Invert.Visibility = Visibility.Collapsed; DeadZone.Visibility = Visibility.Collapsed; Label_DeadZone.Visibility = Visibility.Collapsed; break; case "Toe_Brake": case "Toe_Brake_Right": DirectionDecrease.Content = "Release"; DirectionIncrease.Content = "Apply"; DeadZone.Visibility = Visibility.Collapsed; Label_DeadZone.Visibility = Visibility.Collapsed; break; case "Radar_Antenna_Elevation": DirectionDecrease.Content = "Elevation Down"; DirectionIncrease.Content = "Elevation Up"; break; case "Cursor_X": DirectionDecrease.Content = "Cursor Left"; DirectionIncrease.Content = "Cursor Right"; break; case "Cursor_Y": DirectionDecrease.Content = "Cursor Afterward"; DirectionIncrease.Content = "Cursor Forward"; break; case "Range_Knob": DirectionDecrease.Content = "Clock Wise"; DirectionIncrease.Content = "Counter CW"; break; case "HMS_Brightness": case "FLIR_Brightness": case "HUD_Brightness": case "Reticle_Depression": DirectionDecrease.Content = "Dark"; DirectionIncrease.Content = "Bright"; DeadZone.Visibility = Visibility.Collapsed; Label_DeadZone.Visibility = Visibility.Collapsed; break; case "Intercom": case "COMM_Channel_1": case "COMM_Channel_2": case "MSL_Volume": case "Threat_Volume": case "AI_vs_IVC": DirectionDecrease.Content = "Volume Down"; DirectionIncrease.Content = "Volume Up"; DeadZone.Visibility = Visibility.Collapsed; Label_DeadZone.Visibility = Visibility.Collapsed; break; case "FOV": DirectionDecrease.Content = "Narrow"; DirectionIncrease.Content = "Wide"; DeadZone.Visibility = Visibility.Collapsed; Label_DeadZone.Visibility = Visibility.Collapsed; break; case "Camera_Distance": DirectionDecrease.Content = "Close"; DirectionIncrease.Content = "Leave"; DeadZone.Visibility = Visibility.Collapsed; Label_DeadZone.Visibility = Visibility.Collapsed; break; case "HSI_Course_Knob": case "HSI_Heading_Knob": case "Altimeter_Knob": DirectionDecrease.Content = "Decrease"; DirectionIncrease.Content = "Increase"; DeadZone.Visibility = Visibility.Collapsed; Label_DeadZone.Visibility = Visibility.Collapsed; break; } AxisValueProgress.Value = 0; AxisValueProgress.Minimum = 0; AxisValueProgress.Maximum = MAXIN; Saturation.SelectedIndex = (int)axisAssign.GetSaturation(); DeadZone.SelectedIndex = (int)axisAssign.GetDeadzone(); Invert.IsChecked = axisAssign.GetInvert(); if (axisAssign.GetDeviceNumber() > -1 | axisAssign.GetDeviceNumber() == -2) { status = Status.ShowAxisStatus; Retry.Content = "CLEAR"; Retry.Visibility = Visibility.Visible; if (whoCalledWindow == "Throttle" | whoCalledWindow == "Throttle_Right") { SetAB.Visibility = Visibility.Visible; Idle.Visibility = Visibility.Visible; AB = MainWindow.deviceControl.throttlePos.GetAB(); IDLE = MainWindow.deviceControl.throttlePos.GetIDLE(); } } Joynum = new JoyAxisNeutralValue[MainWindow.deviceControl.devList.Count]; for (int i = 0; i < MainWindow.deviceControl.devList.Count; i++) { Joynum[i] = new JoyAxisNeutralValue(); } AxisDetectionTimer.Tick += AxisDetectionTimerCode; AxisDetectionTimer.Interval = new TimeSpan(0, 0, 0, 0, 16); AxisDetectionTimer.Start(); }