1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 20:03:22 +08:00

Fix autopilot not working as expected on touch devices

Closes https://github.com/ppy/osu/issues/12731.

I haven't tested this, but quite confident it should work. Will test
later today unless someone else beats me.
This commit is contained in:
Dean Herbert 2021-12-10 19:14:33 +09:00
parent 3633494509
commit 5a953f3811

View File

@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.Events;
using osu.Framework.Input.StateChanges.Events;
using osu.Game.Rulesets.UI;
namespace osu.Game.Rulesets.Osu
@ -39,6 +40,17 @@ namespace osu.Game.Rulesets.Osu
return base.Handle(e);
}
protected override bool HandleMouseTouchStateChange(TouchStateChangeEvent e)
{
if (!AllowUserCursorMovement)
{
// Still allow for forwarding of the "touch" part, but block the positional data.
e = new TouchStateChangeEvent(e.State, e.Input, e.Touch, false, null);
}
return base.HandleMouseTouchStateChange(e);
}
private class OsuKeyBindingContainer : RulesetKeyBindingContainer
{
public bool AllowUserPresses = true;