From abfb2ed4629eb910fc6dd2cde682eb01df32ded1 Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Wed, 26 Jan 2022 13:11:03 +0000 Subject: [PATCH 1/2] Trigger control inspection on key up --- src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs b/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs index 50082acca6..81865f7daf 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs @@ -27,7 +27,7 @@ namespace Avalonia.Diagnostics.Views _keySubscription = InputManager.Instance?.Process .OfType() - .Where(x => x.Type == RawKeyEventType.KeyDown) + .Where(x => x.Type == RawKeyEventType.KeyUp) .Subscribe(RawKeyDown); _frozenPopupStates = new Dictionary(); From 280eef2d239dcac0d8252712bdbc7d0d258ef35c Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Wed, 26 Jan 2022 16:41:20 +0000 Subject: [PATCH 2/2] maintain key down event, add extra cases to handle shift and control modifiers --- .../Diagnostics/Views/MainWindow.xaml.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs b/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs index 81865f7daf..7a894d96fb 100644 --- a/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs +++ b/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs @@ -27,7 +27,7 @@ namespace Avalonia.Diagnostics.Views _keySubscription = InputManager.Instance?.Process .OfType() - .Where(x => x.Type == RawKeyEventType.KeyUp) + .Where(x => x.Type == RawKeyEventType.KeyDown) .Subscribe(RawKeyDown); _frozenPopupStates = new Dictionary(); @@ -169,7 +169,9 @@ namespace Avalonia.Diagnostics.Views switch (e.Modifiers) { - case RawInputModifiers.Control | RawInputModifiers.Shift: + case RawInputModifiers.Control when (e.Key == Key.LeftShift || e.Key == Key.RightShift): + case RawInputModifiers.Shift when (e.Key == Key.LeftCtrl || e.Key == Key.RightCtrl): + case RawInputModifiers.Shift | RawInputModifiers.Control: { IControl? control = null;