public string GetKeyPressForLoggingPurposes(MultiPanelKnob multiPanelKnob)
        {
            var result = "";

            foreach (var knobBinding in _knobBindings)
            {
                if (knobBinding.DialPosition == _pz70DialPosition && knobBinding.OSKeyPress != null && knobBinding.MultiPanelPZ70Knob == multiPanelKnob.MultiPanelPZ70Knob && knobBinding.WhenTurnedOn == multiPanelKnob.IsOn)
                {
                    result = knobBinding.OSKeyPress.GetNonFunctioningVirtualKeyCodesAsString();
                }
            }
            return(result);
        }
        private void LCDDialChangesHandle(MultiPanelKnob multiPanelKnob)
        {
            if (SkipCurrentLcdKnobChangeLCD(true))
            {
                return;
            }

            bool increase = multiPanelKnob.MultiPanelPZ70Knob == MultiPanelPZ70Knobs.LCD_WHEEL_INC;

            switch (_pz70DialPosition)
            {
            case PZ70DialPosition.ALT:
            {
                _altLCDKeyEmulatorValueChangeMonitor.Click();
                if (_altLCDKeyEmulatorValueChangeMonitor.ClickThresholdReached())
                {
                    if (increase)
                    {
                        ChangeAltLCDValue(500);
                    }
                    else
                    {
                        ChangeAltLCDValue(-500);
                    }
                }
                else
                {
                    if (increase)
                    {
                        ChangeAltLCDValue(100);
                    }
                    else
                    {
                        ChangeAltLCDValue(-100);
                    }
                }
                break;
            }

            case PZ70DialPosition.VS:
            {
                _vsLCDKeyEmulatorValueChangeMonitor.Click();
                if (_vsLCDKeyEmulatorValueChangeMonitor.ClickThresholdReached())
                {
                    if (increase)
                    {
                        ChangeVsLCDValue(100);
                    }
                    else
                    {
                        ChangeVsLCDValue(-100);
                    }
                }
                else
                {
                    if (increase)
                    {
                        ChangeVsLCDValue(10);
                    }
                    else
                    {
                        ChangeVsLCDValue(-10);
                    }
                }
                break;
            }

            case PZ70DialPosition.IAS:
            {
                _iasLCDKeyEmulatorValueChangeMonitor.Click();
                if (_iasLCDKeyEmulatorValueChangeMonitor.ClickThresholdReached())
                {
                    if (increase)
                    {
                        ChangeIasLCDValue(50);
                    }
                    else
                    {
                        ChangeIasLCDValue(-50);
                    }
                }
                else
                {
                    if (increase)
                    {
                        ChangeIasLCDValue(5);
                    }
                    else
                    {
                        ChangeIasLCDValue(-5);
                    }
                }
                break;
            }

            case PZ70DialPosition.HDG:
            {
                _hdgLCDKeyEmulatorValueChangeMonitor.Click();
                if (_hdgLCDKeyEmulatorValueChangeMonitor.ClickThresholdReached())
                {
                    if (increase)
                    {
                        ChangeHdgLCDValue(5);
                    }
                    else
                    {
                        ChangeHdgLCDValue(-5);
                    }
                }
                else
                {
                    if (increase)
                    {
                        ChangeHdgLCDValue(1);
                    }
                    else
                    {
                        ChangeHdgLCDValue(-1);
                    }
                }
                break;
            }

            case PZ70DialPosition.CRS:
            {
                _crsLCDKeyEmulatorValueChangeMonitor.Click();
                if (_crsLCDKeyEmulatorValueChangeMonitor.ClickThresholdReached())
                {
                    if (increase)
                    {
                        ChangeCrsLCDValue(5);
                    }
                    else
                    {
                        ChangeCrsLCDValue(-5);
                    }
                }
                else
                {
                    if (increase)
                    {
                        ChangeCrsLCDValue(1);
                    }
                    else
                    {
                        ChangeCrsLCDValue(-1);
                    }
                }
                break;
            }
            }
        }
 private void CreateMultiKnobs()
 {
     SaitekPanelKnobs = MultiPanelKnob.GetMultiPanelKnobs();
 }