From 5b1de54e8155a299ae716ef10a786726a43e71d0 Mon Sep 17 00:00:00 2001 From: Benedikt Stebner Date: Thu, 21 Sep 2023 09:53:32 +0200 Subject: [PATCH] Don't handle the input event and instead work with CompositionEnd and KeyDow, KeyUp --- src/Browser/Avalonia.Browser/AvaloniaView.cs | 18 +++++++----------- .../Avalonia.Browser/Interop/InputHelper.cs | 2 -- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/Browser/Avalonia.Browser/AvaloniaView.cs b/src/Browser/Avalonia.Browser/AvaloniaView.cs index a70bbdb765..dde4746394 100644 --- a/src/Browser/Avalonia.Browser/AvaloniaView.cs +++ b/src/Browser/Avalonia.Browser/AvaloniaView.cs @@ -101,7 +101,6 @@ namespace Avalonia.Browser InputHelper.SubscribeTextEvents( _inputElement, OnBeforeInput, - OnTextInput, OnCompositionStart, OnCompositionUpdate, OnCompositionEnd); @@ -368,16 +367,6 @@ namespace Avalonia.Browser return _topLevelImpl.RawKeyboardEvent(RawKeyEventType.KeyUp, code, key, (RawInputModifiers)modifier); } - private bool OnTextInput (string type, string? data) - { - if(data == null || IsComposing) - { - return false; - } - - return _topLevelImpl.RawTextEvent(data); - } - private bool OnBeforeInput(JSObject arg, int start, int end) { var type = arg.GetPropertyAsString("inputType"); @@ -432,6 +421,13 @@ namespace Avalonia.Browser _client.SetPreeditText(null); + var text = args.GetPropertyAsString("data"); + + if(text != null) + { + return _topLevelImpl.RawTextEvent(text); + } + return false; } diff --git a/src/Browser/Avalonia.Browser/Interop/InputHelper.cs b/src/Browser/Avalonia.Browser/Interop/InputHelper.cs index 181bfabbe8..76dac84bca 100644 --- a/src/Browser/Avalonia.Browser/Interop/InputHelper.cs +++ b/src/Browser/Avalonia.Browser/Interop/InputHelper.cs @@ -20,8 +20,6 @@ internal static partial class InputHelper JSObject htmlElement, [JSMarshalAs>] Func onBeforeInput, - [JSMarshalAs>] - Func onInput, [JSMarshalAs>] Func onCompositionStart, [JSMarshalAs>]