private void UpdateBasicOptions(bool usesBasic) { if (usesBasic && (Basic == null)) { Basic = BasicOptions.First(c => c.Flags == (uint)KeyboardComponentFeatures.BasicTolerated); } }
private void UpdateCompatibility(KeyboardComponentFeatures compatibility) { EnableFeatureEditing = compatibility.HasFlag(KeyboardComponentFeatures.Enhances); EnableCassetteOptionSelection = EnableFeatureEditing && UsesCassette; if (!EnableFeatureEditing) { UsesCassette = false; UsesPrinter = false; UsesMicrophone = false; Basic = null; } else { if (Basic == null) { Basic = BasicOptions.First(b => b.Flags == (uint)KeyboardComponentFeatures.BasicTolerated); } if (compatibility == KeyboardComponentFeatures.Enhances) { if ((Basic != null) && (Basic.Flags == (uint)KeyboardComponentFeatures.BasicRequired)) { Basic = BasicOptions.First(b => b.Flags == (uint)KeyboardComponentFeatures.BasicTolerated); } if ((Cassette != null) && (Cassette.Flags == (uint)KeyboardComponentFeatures.TapeRequired)) { Cassette = CassetteOptions.First(c => c.Flags == (uint)KeyboardComponentFeatures.TapeOptional); } } } }