diff --git a/osu.Framework.iOS/IOSGameHost.cs b/osu.Framework.iOS/IOSGameHost.cs index 813d6133e6..91c3401a0a 100644 --- a/osu.Framework.iOS/IOSGameHost.cs +++ b/osu.Framework.iOS/IOSGameHost.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.IO; using Foundation; +using GameController; using osu.Framework.Configuration; using osu.Framework.Extensions; using osu.Framework.Extensions.ObjectExtensions; @@ -38,7 +39,7 @@ protected override void SetupConfig(IDictionary defaul base.SetupConfig(defaultOverrides); } - public override bool OnScreenKeyboardOverlapsGameWindow => true; + public override bool OnScreenKeyboardOverlapsGameWindow => !OperatingSystem.IsIOSVersionAtLeast(14) || GCKeyboard.CoalescedKeyboard == null; public override bool CanExit => false; diff --git a/osu.Framework/Platform/GameHost.cs b/osu.Framework/Platform/GameHost.cs index e5ed5aa6b5..4eab59a416 100644 --- a/osu.Framework/Platform/GameHost.cs +++ b/osu.Framework/Platform/GameHost.cs @@ -122,7 +122,8 @@ public abstract class GameHost : IIpcHost, IDisposable public event Func MessageReceived; /// - /// Whether the on screen keyboard covers a portion of the game window when presented to the user. + /// Whether the on-screen keyboard covers a portion of the game window when presented to the user. + /// This is usually true on mobile platforms, but may change to false if a hardware keyboard is connected. /// public virtual bool OnScreenKeyboardOverlapsGameWindow => false;