internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (KeyBinding)"); } if (settings.StartsWith("SwitchPanelKey{")) { //SwitchPanelKey{1KNOB_ENGINE_LEFT}\o/OSKeyPress{[FiftyMilliSec,RCONTROL + RSHIFT + VK_R][FiftyMilliSec,RCONTROL + RSHIFT + VK_W]}\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} var parameters = settings.Split(new[] { Constants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); //SwitchPanelKey{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Trim().Substring(15); //1KNOB_ENGINE_LEFT} param0 = param0.Remove(param0.Length - 1, 1); //1KNOB_ENGINE_LEFT WhenTurnedOn = (param0.Substring(0, 1) == "1"); param0 = param0.Substring(1); _switchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), param0); //OSKeyPress{[FiftyMilliSec,RCONTROL + RSHIFT + VK_R][FiftyMilliSec,RCONTROL + RSHIFT + VK_W]} OSKeyPress = new KeyPress(); OSKeyPress.ImportString(parameters[1]); } }
public SwitchPanelKey(int group, int mask, bool isOn, SwitchPanelPZ55Keys switchPanelPZ55Key) { Group = group; Mask = mask; IsOn = isOn; SwitchPanelPZ55Key = switchPanelPZ55Key; }
private void RemoveSwitchPanelKeyFromList(int list, SwitchPanelPZ55Keys switchPanelPZ55Key, bool whenTurnedOn = true) { switch (list) { case 1: { foreach (var keyBindingPZ55 in _keyBindings) { if (keyBindingPZ55.SwitchPanelPZ55Key == switchPanelPZ55Key && keyBindingPZ55.WhenTurnedOn == whenTurnedOn) { keyBindingPZ55.OSKeyPress = null; } break; } break; } case 2: { foreach (var dcsBiosBinding in _dcsBiosBindings) { if (dcsBiosBinding.SwitchPanelPZ55Key == switchPanelPZ55Key && dcsBiosBinding.WhenTurnedOn == whenTurnedOn) { dcsBiosBinding.DCSBIOSInputs.Clear(); } break; } break; } } }
public override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (BIPLinkPZ55)"); } if (settings.StartsWith("SwitchPanelBIPLink{")) { //SwitchPanelBIPLink{1KNOB_ENGINE_LEFT}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/Description["Set Engines On"]\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} // 0 1 2 3 var parameters = settings.Split(new[] { Constants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); //SwitchPanelBIPLink{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Replace("SwitchPanelBIPLink{", "").Replace("}", "").Trim(); //1KNOB_ENGINE_LEFT WhenOnTurnedOn = param0.Substring(0, 1) == "1"; param0 = param0.Substring(1); _switchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), param0); for (int i = 1; i < parameters.Length - 1; i++) { if (parameters[i].StartsWith("BIPLight")) { var tmpBipLight = new BIPLight(); _bipLights.Add(GetNewKeyValue(), tmpBipLight); tmpBipLight.ImportSettings(parameters[i]); } if (parameters[i].StartsWith("Description[")) { var tmp = parameters[i].Replace("Description[", "").Replace("]", ""); _description = tmp; } } } }
public void AddOrUpdateDCSBIOSBinding(SwitchPanelPZ55Keys switchPanelPZ55Key, List <DCSBIOSInput> dcsbiosInputs, string description, bool whenTurnedOn = true) { //!!!!!!! //If all DCS-BIOS commands has been deleted then provide a empty list, not null object!!! //This must accept lists var found = false; RemoveSwitchPanelKeyFromList(1, switchPanelPZ55Key, whenTurnedOn); foreach (var dcsBiosBinding in _dcsBiosBindings) { if (dcsBiosBinding.SwitchPanelPZ55Key == switchPanelPZ55Key && dcsBiosBinding.WhenTurnedOn == whenTurnedOn) { dcsBiosBinding.DCSBIOSInputs = dcsbiosInputs; dcsBiosBinding.WhenTurnedOn = whenTurnedOn; dcsBiosBinding.Description = description; found = true; break; } } if (!found) { var dcsBiosBinding = new DCSBIOSBindingPZ55(); dcsBiosBinding.SwitchPanelPZ55Key = switchPanelPZ55Key; dcsBiosBinding.DCSBIOSInputs = dcsbiosInputs; dcsBiosBinding.WhenTurnedOn = whenTurnedOn; dcsBiosBinding.Description = description; _dcsBiosBindings.Add(dcsBiosBinding); } IsDirtyMethod(); }
public void AddOrUpdateSequencedKeyBinding(string information, SwitchPanelPZ55Keys switchPanelPZ55Key, SortedList <int, KeyPressInfo> sortedList, bool whenTurnedOn = true) { //This must accept lists var found = false; RemoveSwitchPanelKeyFromList(2, switchPanelPZ55Key, whenTurnedOn); foreach (var keyBinding in _keyBindings) { if (keyBinding.SwitchPanelPZ55Key == switchPanelPZ55Key && keyBinding.WhenTurnedOn == whenTurnedOn) { if (sortedList.Count == 0) { keyBinding.OSKeyPress = null; } else { keyBinding.OSKeyPress = new OSKeyPress(information, sortedList); keyBinding.WhenTurnedOn = whenTurnedOn; } found = true; break; } } if (!found && sortedList.Count > 0) { var keyBinding = new KeyBindingPZ55(); keyBinding.SwitchPanelPZ55Key = switchPanelPZ55Key; keyBinding.OSKeyPress = new OSKeyPress(information, sortedList); keyBinding.WhenTurnedOn = whenTurnedOn; _keyBindings.Add(keyBinding); } IsDirtyMethod(); }
internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (WindowsBinding)"); } if (settings.StartsWith("SwitchPanelOSPZ55{")) { // SwitchPanelOSPZ55{1KNOB_ENGINE_LEFT}\o/OSCommand{FILE\o/ARGUMENTS\o/NAME}\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); // SwitchPanelOSPZ55{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Replace("SwitchPanelOSPZ55{", string.Empty).Replace("}", string.Empty); // 1KNOB_ENGINE_LEFT WhenTurnedOn = param0.Substring(0, 1) == "1"; param0 = param0.Substring(1); _switchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), param0); // OSCommand{FILE\o/ARGUMENTS\o/NAME} OSCommandObject = new OSCommand(); OSCommandObject.ImportString(parameters[1]); } }
public void Clear(SwitchPanelPZ55Keys switchPanelPZ55Key) { foreach (var keyBinding in _keyBindings) { if (keyBinding.SwitchPanelPZ55Key == switchPanelPZ55Key) { keyBinding.OSKeyPress = null; } } IsDirtyMethod(); }
internal override void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSBindingPZ55)"); } if (settings.StartsWith("SwitchPanelDCSBIOSControl{")) { // SwitchPanelDCSBIOSControl{1KNOB_ENGINE_OFF}\o/DCSBIOSInput{AAP_STEER|SET_STATE|2}\o/DCSBIOSInput{BAT_PWR|INC|2}\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); // SwitchPanelDCSBIOSControl{1KNOB_ENGINE_LEFT} var param0 = parameters[0].Substring(parameters[0].IndexOf("{", StringComparison.InvariantCulture) + 1); // 1KNOB_ENGINE_LEFT} param0 = param0.Remove(param0.Length - 1, 1); // 1KNOB_ENGINE_LEFT WhenOnTurnedOn = (param0.Substring(0, 1) == "1"); if (param0.Contains("|")) { // 1KNOB_ALT|Landing gear up and blablabla description param0 = param0.Substring(1); // KNOB_ALT|Landing gear up and blablabla description var stringArray = param0.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _switchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), stringArray[0]); Description = stringArray[1]; } else { param0 = param0.Substring(1); _switchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), param0); } // The rest of the array besides last entry are DCSBIOSInput // DCSBIOSInput{AAP_EGIPWR|FIXED_STEP|INC} DCSBIOSInputs = new List <DCSBIOSInput>(); for (var i = 0; i < parameters.Length; i++) { if (parameters[i].StartsWith("DCSBIOSInput{")) { var dcsbiosInput = new DCSBIOSInput(); dcsbiosInput.ImportString(parameters[i]); DCSBIOSInputs.Add(dcsbiosInput); } } } }
public void ImportString(string str) { if (string.IsNullOrEmpty(str)) { throw new ArgumentException("Import string empty. (PanelSwitchKey)"); } if (!str.StartsWith("SwitchPanelKey{") || !str.EndsWith("}")) { throw new ArgumentException("Import string format exception. (PanelSwitchKey) >" + str + "<"); } //SwitchPanelKey{SWITCHKEY_MASTER_ALT} var dataString = str.Remove(0, 15); //SWITCHKEY_MASTER_ALT} dataString = dataString.Remove(dataString.Length - 1, 1); //SWITCHKEY_MASTER_ALT SwitchPanelPZ55Key = (SwitchPanelPZ55Keys)Enum.Parse(typeof(SwitchPanelPZ55Keys), dataString.Trim()); }
public void AddOrUpdateSingleKeyBinding(SwitchPanelPZ55Keys switchPanelPZ55Key, string keys, KeyPressLength keyPressLength, bool whenTurnedOn = true) { if (string.IsNullOrEmpty(keys)) { var tmp = new SwitchPanelPZ55KeyOnOff(switchPanelPZ55Key, whenTurnedOn); ClearAllBindings(tmp); return; } var found = false; foreach (var keyBinding in _keyBindings) { if (keyBinding.SwitchPanelPZ55Key == switchPanelPZ55Key && keyBinding.WhenTurnedOn == whenTurnedOn) { if (string.IsNullOrEmpty(keys)) { keyBinding.OSKeyPress = null; } else { keyBinding.OSKeyPress = new OSKeyPress(keys, keyPressLength); keyBinding.WhenTurnedOn = whenTurnedOn; } found = true; } } if (!found && !string.IsNullOrEmpty(keys)) { var keyBinding = new KeyBindingPZ55(); keyBinding.SwitchPanelPZ55Key = switchPanelPZ55Key; keyBinding.OSKeyPress = new OSKeyPress(keys, keyPressLength); keyBinding.WhenTurnedOn = whenTurnedOn; _keyBindings.Add(keyBinding); } Common.DebugP("SwitchPanelPZ55 _keyBindings : " + _keyBindings.Count); IsDirtyMethod(); }
public SwitchPanelPZ55KeyOnOff(SwitchPanelPZ55Keys switchPanelPZ55Key, bool buttonState) { _switchPanelPZ55Key = switchPanelPZ55Key; ButtonState = buttonState; }
public SwitchPanelPZ55KeyOnOff(SwitchPanelPZ55Keys switchPanelPZ55Key, bool on) { _switchPanelPZ55Key = switchPanelPZ55Key; _on = @on; }