From 8fce3aa4e4f1265b9e02580b6b0d3d4295f124c4 Mon Sep 17 00:00:00 2001 From: dieuminhs Date: Wed, 17 Apr 2024 09:35:24 +0700 Subject: [PATCH] Fix unable to type cultural character (#15394) Check KeySymbol before return null in TryCreateRawKeyEventArgs to prevent skipping cultural character. Co-authored-by: CKPhong --- src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs index 76970dd57b..5a9d6363e0 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs @@ -1191,12 +1191,11 @@ namespace Avalonia.Win32 var keyData = ToInt32(lParam); var key = KeyInterop.KeyFromVirtualKey(virtualKey, keyData); var physicalKey = KeyInterop.PhysicalKeyFromVirtualKey(virtualKey, keyData); + var keySymbol = KeyInterop.GetKeySymbol(virtualKey, keyData); - if (key == Key.None && physicalKey == PhysicalKey.None) + if (key == Key.None && physicalKey == PhysicalKey.None && string.IsNullOrWhiteSpace(keySymbol)) return null; - var keySymbol = KeyInterop.GetKeySymbol(virtualKey, keyData); - return new RawKeyEventArgs( WindowsKeyboardDevice.Instance, timestamp,