public void RefreshButtonContents() { Log.Debug("AdvancedMappingsPage.RefreshButtonContents IN"); Log.Debug("AdvancedMappingsPage.RefreshButtonContents Button Count " + UITools.FindVisualChildren <Button>(this).Count()); foreach (Button button in UITools.FindVisualChildren <Button>(this)) { // assume unmapped first button.Content = "set mapping"; button.Opacity = OpacityUnMappedButton; if (button != null && button.Tag != null) { StackPanel parentStackPanel = (StackPanel)button.Parent; if (parentStackPanel != null && parentStackPanel.Tag != null) { VirtualKey vk = (VirtualKey)parentStackPanel.Tag; if (Settings.Mappings != null && Settings.MappingsContainsKey(vk)) { PhysicalKeyGroup pkg = Settings.Mappings[vk]; if (pkg.PhysicalKeys != null) { int index = (int)button.Tag; if (index < pkg.PhysicalKeys.Count) { PhysicalKey pk = pkg.PhysicalKeys[index]; if (pk != null) { button.Content = pk.ToString(); button.Opacity = 1; } } } } } } } Log.Debug("AdvancedMappingsPage.RefreshButtonContents OUT"); }
private bool IsVirtualKeyPressed(VirtualKey key) { if (key == VirtualKey.NULL) { return(false); } PhysicalKeyGroup pkg = UserSettings.Mappings[key]; if (pkg == null || pkg.PhysicalKeys == null) { return(false); } foreach (PhysicalKey pk in pkg.PhysicalKeys) { if (IsPhysicalKeyPressed(pk)) { return(true); } } return(false); }