From ed19f5fc9a17defbf4ce56c77e70c47dc387de9e Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Thu, 10 Mar 2022 00:30:03 +0000 Subject: [PATCH] remove old softkey hack. --- src/iOS/Avalonia.iOS/AvaloniaUIResponder.cs | 6 ++++ src/iOS/Avalonia.iOS/AvaloniaView.Text.cs | 32 --------------------- src/iOS/Avalonia.iOS/Platform.cs | 7 ----- src/iOS/Avalonia.iOS/SoftKeyboardHelper.cs | 24 ---------------- 4 files changed, 6 insertions(+), 63 deletions(-) create mode 100644 src/iOS/Avalonia.iOS/AvaloniaUIResponder.cs delete mode 100644 src/iOS/Avalonia.iOS/AvaloniaView.Text.cs delete mode 100644 src/iOS/Avalonia.iOS/SoftKeyboardHelper.cs diff --git a/src/iOS/Avalonia.iOS/AvaloniaUIResponder.cs b/src/iOS/Avalonia.iOS/AvaloniaUIResponder.cs new file mode 100644 index 0000000000..7cc853312c --- /dev/null +++ b/src/iOS/Avalonia.iOS/AvaloniaUIResponder.cs @@ -0,0 +1,6 @@ +namespace Avalonia.iOS; + +public class AvaloniaUIResponder +{ + +} diff --git a/src/iOS/Avalonia.iOS/AvaloniaView.Text.cs b/src/iOS/Avalonia.iOS/AvaloniaView.Text.cs deleted file mode 100644 index dc963726b0..0000000000 --- a/src/iOS/Avalonia.iOS/AvaloniaView.Text.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Avalonia.Input; -using Avalonia.Input.Raw; -using Foundation; -using ObjCRuntime; -using UIKit; - -namespace Avalonia.iOS -{ - [Adopts("UIKeyInput")] - public partial class AvaloniaView - { - public override bool CanBecomeFirstResponder => true; - - [Export("hasText")] public bool HasText => false; - - [Export("insertText:")] - public void InsertText(string text) => - _topLevelImpl.Input?.Invoke(new RawTextInputEventArgs(KeyboardDevice.Instance, - 0, InputRoot, text)); - - [Export("deleteBackward")] - public void DeleteBackward() - { - // TODO: pass this through IME infrastructure instead of emulating a backspace press - _topLevelImpl.Input?.Invoke(new RawKeyEventArgs(KeyboardDevice.Instance, - 0, InputRoot, RawKeyEventType.KeyDown, Key.Back, RawInputModifiers.None)); - - _topLevelImpl.Input?.Invoke(new RawKeyEventArgs(KeyboardDevice.Instance, - 0, InputRoot, RawKeyEventType.KeyUp, Key.Back, RawInputModifiers.None)); - } - } -} \ No newline at end of file diff --git a/src/iOS/Avalonia.iOS/Platform.cs b/src/iOS/Avalonia.iOS/Platform.cs index f8815e9030..2738e502de 100644 --- a/src/iOS/Avalonia.iOS/Platform.cs +++ b/src/iOS/Avalonia.iOS/Platform.cs @@ -44,7 +44,6 @@ namespace Avalonia.iOS GlFeature ??= new EaglFeature(); Timer ??= new DisplayLinkTimer(); var keyboard = new KeyboardDevice(); - var softKeyboard = new SoftKeyboardHelper(); AvaloniaLocator.CurrentMutable .Bind().ToConstant(GlFeature) @@ -58,12 +57,6 @@ namespace Avalonia.iOS .Bind().ToConstant(Timer) .Bind().ToConstant(new PlatformThreadingInterface()) .Bind().ToConstant(keyboard); - - keyboard.PropertyChanged += (_, changed) => - { - if (changed.PropertyName == nameof(KeyboardDevice.FocusedElement)) - softKeyboard.UpdateKeyboard(keyboard.FocusedElement); - }; } diff --git a/src/iOS/Avalonia.iOS/SoftKeyboardHelper.cs b/src/iOS/Avalonia.iOS/SoftKeyboardHelper.cs deleted file mode 100644 index b05ab280d2..0000000000 --- a/src/iOS/Avalonia.iOS/SoftKeyboardHelper.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Avalonia.Controls; -using Avalonia.Input; - -namespace Avalonia.iOS -{ - public class SoftKeyboardHelper - { - private AvaloniaView _oldView; - - public void UpdateKeyboard(IInputElement focusedElement) - { - if (_oldView?.IsFirstResponder == true) - _oldView?.ResignFirstResponder(); - _oldView = null; - - //TODO: Raise a routed event to determine if any control wants to become the text input handler - if (focusedElement is TextBox) - { - var view = ((focusedElement.VisualRoot as TopLevel)?.PlatformImpl as AvaloniaView.TopLevelImpl)?.View; - view?.BecomeFirstResponder(); - } - } - } -} \ No newline at end of file