diff --git a/Project-Aurora/Project-Aurora/Controls/Control_AnimationEditor.xaml.cs b/Project-Aurora/Project-Aurora/Controls/Control_AnimationEditor.xaml.cs index b3a057fe9..0b5dbb0f5 100644 --- a/Project-Aurora/Project-Aurora/Controls/Control_AnimationEditor.xaml.cs +++ b/Project-Aurora/Project-Aurora/Controls/Control_AnimationEditor.xaml.cs @@ -67,31 +67,29 @@ private void UserControl_Loaded(object? sender, RoutedEventArgs e) private async void UpdateVirtualKeyboard() { - Grid virtial_kb = await Global.kbLayout.AbstractVirtualKeyboard; + var virtualKb = await Global.kbLayout.AbstractVirtualKeyboard; keyboard_grid.Children.Clear(); - keyboard_grid.Children.Add(virtial_kb); + keyboard_grid.Children.Add(virtualKb); keyboard_grid.Children.Add(new LayerEditor()); - keyboard_grid.Width = virtial_kb.Width; - keyboard_grid.Height = virtial_kb.Height; + keyboard_grid.Width = virtualKb.Width; + keyboard_grid.Height = virtualKb.Height; keyboard_grid.UpdateLayout(); - viewbxAnimationView.MaxWidth = virtial_kb.Width + 50; - viewbxAnimationView.MaxHeight = virtial_kb.Height + 50; + viewbxAnimationView.MaxWidth = virtualKb.Width + 50; + viewbxAnimationView.MaxHeight = virtualKb.Height + 50; viewbxAnimationView.UpdateLayout(); this.UpdateLayout(); //Generate a new mapping - foreach (FrameworkElement Child in virtial_kb.Children) + foreach (FrameworkElement child in virtualKb.Children) { - if (Child is Keycap && (Child as Keycap).GetKey() != DeviceKeys.NONE) - { - Child.PreviewMouseLeftButtonDown += KeyboardKey_PreviewMouseLeftButtonDown; - Child.PreviewMouseRightButtonDown += KeyboardKey_PreviewMouseRightButtonDown; - } + if (child is not Keycap keycap || keycap.GetKey() == DeviceKeys.NONE) continue; + keycap.PreviewMouseLeftButtonDown += KeyboardKey_PreviewMouseLeftButtonDown; + keycap.PreviewMouseRightButtonDown += KeyboardKey_PreviewMouseRightButtonDown; } } diff --git a/Project-Aurora/Project-Aurora/Settings/KeyboardControlGenerator.cs b/Project-Aurora/Project-Aurora/Settings/KeyboardControlGenerator.cs index b5299a67b..68fb4e407 100644 --- a/Project-Aurora/Project-Aurora/Settings/KeyboardControlGenerator.cs +++ b/Project-Aurora/Project-Aurora/Settings/KeyboardControlGenerator.cs @@ -18,7 +18,7 @@ internal class KeyboardControlGenerator( VirtualGroup virtualKeyboardGroup, IDictionary virtualKeyboardMap, string layoutsPath, - Grid virtualKeyboard) + Panel virtualKeyboard) { private double _layoutHeight; private double _layoutWidth; @@ -29,7 +29,7 @@ internal class KeyboardControlGenerator( public double BaselineX { get; private set; } public double BaselineY { get; private set; } - internal async Task Generate() + internal async Task Generate() { var imagesPath = Path.Combine(layoutsPath, "Extra Features", "images"); diff --git a/Project-Aurora/Project-Aurora/Settings/KeyboardLayoutManager.cs b/Project-Aurora/Project-Aurora/Settings/KeyboardLayoutManager.cs index 23eee1c96..1ef76fd05 100644 --- a/Project-Aurora/Project-Aurora/Settings/KeyboardLayoutManager.cs +++ b/Project-Aurora/Project-Aurora/Settings/KeyboardLayoutManager.cs @@ -45,7 +45,7 @@ public class KeyboardLayoutManager public Task VirtualKeyboard { get; } - public Task AbstractVirtualKeyboard => CreateUserControl(true); + public Task AbstractVirtualKeyboard => CreateUserControl(true); private bool _bitmapMapInvalid = true; @@ -491,12 +491,13 @@ private void CalculateBitmap() Global.effengine.SetBitmapping(bitmapMap); } - private async Task CreateUserControl(bool abstractKeycaps = false) + private async Task CreateUserControl(bool abstractKeycaps = false) { if (_virtualKbInvalid && !abstractKeycaps) _virtualKeyboardMap.Clear(); - var kcg = new KeyboardControlGenerator(abstractKeycaps, _virtualKeyboardGroup, _virtualKeyboardMap, _layoutsPath, await VirtualKeyboard); + var virtualKb = abstractKeycaps ? new Grid() : await VirtualKeyboard; + var kcg = new KeyboardControlGenerator(abstractKeycaps, _virtualKeyboardGroup, _virtualKeyboardMap, _layoutsPath, virtualKb); if (!_virtualKbInvalid || abstractKeycaps) return await kcg.Generate();