Skip to content
Merged
Show file tree
Hide file tree
Changes from 67 commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
26d6366
Update framework
peppy May 13, 2026
ba15798
Change editor grid slider adjustments to be relative to centre (#37737)
peppy May 13, 2026
a22c2ea
Add small indicator for last stand (#37747)
smoogipoo May 15, 2026
c8bfb34
Use truncation to 2dp of star rating in ranked play card to be consis…
bdach May 15, 2026
232926f
Merge ppy/master (star rating truncation, last stand indicator, edito…
Copilot May 16, 2026
df587d7
perf: guard invalidation in ParticleSpewer, ParticleExplosion, LogoVi…
Copilot May 16, 2026
43aeb8f
perf: span overloads in Parsing, allocation-free SplitKeyVal, .Any() …
Copilot May 16, 2026
3d0e186
perf: GhostIcon IsPresent guard, ModAdaptiveSpeed alloc-free, Ruleset…
Copilot May 16, 2026
7185d36
perf: address code-review comments – span-trim in SplitKeyVal, array-…
Copilot May 16, 2026
7aed9ff
fix: CI errors - ModTimeRamp indexed access replaces FirstOrDefault, …
Copilot May 16, 2026
ade68dd
Add experimental banner to ranked play queue screen (#37767)
smoogipoo May 16, 2026
ee58b57
fix: probe all fallback filenames in OptimisedMediaResourceStore; use…
Copilot May 16, 2026
7567e34
fix: restore skin-first texture lookup in DrawableStoryboardSprite (f…
Copilot May 16, 2026
c019e70
fix: re-apply null pointer icon on window focus change and config cha…
Copilot May 16, 2026
d9e70ef
fix(android): SensorLandscape for both rotation sides; fix DeX S Pen …
Copilot May 16, 2026
d583fb9
feat(android): add mouse sensitivity, high-precision mode, and settin…
Copilot May 16, 2026
314df4f
perf: skip storyboard parse in Player when ShowStoryboard=false
Copilot May 16, 2026
a049bc0
perf: skip background GPU draw when DimLevel is at maximum
Copilot May 16, 2026
ea612a0
perf: guard ArgonSongProgressBar depth change to fire only on orderin…
Copilot May 16, 2026
bbcc7ae
fix: bump framework to 2026.516.1, fix CS8764/CS8609 nullability in O…
Copilot May 16, 2026
6ac9a99
fix: remove (int) casts in AndroidMouseHandler for Axis API change, a…
Copilot May 16, 2026
a753fbb
Update resources
peppy May 16, 2026
60db6dd
chore: bump framework to 2026.516.2 (pack run #50, commit 5275713aa2b7)
Copilot May 16, 2026
89ba653
Fix compilation errors from osu-framework Vector2 migration to System…
Copilot May 16, 2026
2107a4d
fix: update FlowContainerWithOrigin.OriginPosition to System.Numerics…
Copilot May 16, 2026
5149771
Fix osuTK.Vector2 → System.Numerics.Vector2 conflicts across osu.Game
Copilot May 17, 2026
42b59df
fix: remove erroneous osuTK.Vector2 aliases from slider/timing compon…
Copilot May 17, 2026
7e43e17
fix: restore osuTK using in BezierConverter.cs to fix Vector2d CS0246…
Copilot May 17, 2026
2212d97
fix: remove extra blank line in ExpandableSlider.cs
Copilot May 17, 2026
745dea0
Fix Vector2 API migration compilation errors
Copilot May 17, 2026
bba3692
Merge remote-tracking branch 'ppy/master' into copilot/fix-draw-call-…
Copilot May 17, 2026
411a957
fix: restore ppy ScreenQueue.cs experimental banner with System.Numer…
Copilot May 17, 2026
c86d077
fix: restore missing using osu.Game.Rulesets in PlaylistsSongSelect.c…
Copilot May 17, 2026
8046387
fix: resolve 3 CI build errors from System.Numerics migration
Copilot May 17, 2026
63ba3b5
fix: migrate remaining Vector2 API call sites to System.Numerics in r…
Copilot May 17, 2026
d31333a
chore: bump framework to 2026.517.1 and continue Vector2 numerics mig…
Copilot May 17, 2026
86cf333
feat: full osuTK→System.Numerics+Colour4 migration (1173 files)
Copilot May 17, 2026
64418ba
fix: resolve CI compile failures after Colour4 migration
Copilot May 17, 2026
99db0f3
fix: resolve all CI errors - remove unused Color4Extensions usings, f…
Copilot May 17, 2026
fdde3b1
chore: remove final osuTK references from banned symbols list
Copilot May 17, 2026
8ae8a34
fix: resolve CI style and vector migration build failures
Copilot May 17, 2026
d2aac52
fix: add missing System.Numerics usings for CI compile errors
Copilot May 17, 2026
92eb2ee
Add using System.Numerics to 48 files missing Vector2 namespace
Copilot May 17, 2026
3e7197d
Fix Vector2 API migration: Length(), LengthSquared(), Normalize, Perp…
Copilot May 17, 2026
e44d34e
Add using System.Numerics to 365 more files (proactive - all files us…
Copilot May 17, 2026
7c47e70
Fix CI errors: Colour4.FromHSV, using System, using osu.Framework.Input
Copilot May 17, 2026
c03af59
Fix CI analyzer errors and Taiko test compile issue
Copilot May 17, 2026
a1a5deb
Fix CI generic math compile errors from missing System.Numerics imports
Copilot May 17, 2026
add89a5
Fix CI failure in LabelledSliderBar generic math constraints
Copilot May 17, 2026
3eace9c
Fix CI compile errors from missing using directives in osu ruleset files
Copilot May 17, 2026
35a42bc
Fix CI CS0103 DifficultyRating errors in osu ruleset checks
Copilot May 17, 2026
6a32e72
Fix CheckTimeDistanceEquality borderline severity classification
Copilot May 17, 2026
5560444
Fix hyper-dash fruit colour test: revert AddUntilStep back to AddAssert
Copilot May 18, 2026
28050a2
Fix hyper-dash fruit colour tests: revert AddUntilStep to AddAssert; …
Copilot May 18, 2026
ba3035b
fix: restore DelayedLoadWrapper for RankedPlayMatchPanel; fix catch h…
Copilot May 18, 2026
0898f10
fix: flaky multiplayer playlist tests, spectate fix, UI scale for ran…
Copilot May 18, 2026
2ff9223
feat: merge ppy #37740 - Ranked Play damage breakdown and individual …
Copilot May 18, 2026
9393ca6
fix: ColourInfo.R/G/B → ColourInfo.Colour.R/G/B in TestSceneHyperDash…
Copilot May 18, 2026
cb66fbd
fix: flaky TestDiscardCardsStage - replace AddWaitStep with AddUntilS…
Copilot May 18, 2026
108d9cb
fix: ColourInfo.Colour → ColourInfo.TopLeft.SRGB in TestSceneHyperDas…
Copilot May 18, 2026
8114fe2
fix: CI errors/warnings - remove redundant usings, fix test assertion…
Copilot May 18, 2026
e48d801
fix: revert assertPosition to AddAssert, fix InspectCode warnings (bl…
Copilot May 18, 2026
cb33306
fix: storyboard visibility (don't fade bg when storyboard replaces), …
Copilot May 18, 2026
9bd0972
fix: add missing opening brace in ScrollContainer constructor
Copilot May 18, 2026
190ea4d
fix: restore RGB colour comparison for TestFruitColourFallback; rever…
Copilot May 18, 2026
2580321
fix: revert colour comparison to direct equality; revert playlist ord…
Copilot May 18, 2026
e606d22
fix: resolve all InspectCode warnings and notes from CI
Copilot May 18, 2026
186e99e
fix: resolve IDE0059/IDE0005 build errors and TestFruitColourFallback…
Copilot May 18, 2026
89f8752
fix: resolve InspectCode warnings - redundant qualifiers, blank lines…
Copilot May 18, 2026
374ce22
fix: restore type arguments in nameof() to resolve CS0305 build errors
Copilot May 19, 2026
c852893
fix: address InspectCode CI errors, warnings, and notes
Copilot May 19, 2026
d988cc5
fix: address InspectCode CI errors, warnings, and notes (second batch)
Copilot May 19, 2026
a0a23aa
fix: apply field keyword and with expression for remaining InspectCod…
Copilot May 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions CodeAnalysis/BannedSymbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ M:Humanizer.InflectorExtensions.Pascalize(System.String);Humanizer's .Pascalize(
M:Humanizer.InflectorExtensions.Camelize(System.String);Humanizer's .Camelize() extension method changes behaviour depending on CultureInfo.CurrentCulture. Use StringDehumanizeExtensions.ToCamelCase() instead.
M:Humanizer.InflectorExtensions.Underscore(System.String);Humanizer's .Underscore() extension method changes behaviour depending on CultureInfo.CurrentCulture. Use StringDehumanizeExtensions.ToSnakeCase() instead.
M:Humanizer.InflectorExtensions.Kebaberize(System.String);Humanizer's .Kebaberize() extension method changes behaviour depending on CultureInfo.CurrentCulture. Use StringDehumanizeExtensions.ToKebabCase() instead.
M:osuTK.MathHelper.Clamp(System.Int32,System.Int32,System.Int32)~System.Int32;Use Math.Clamp() instead.
M:osuTK.MathHelper.Clamp(System.Single,System.Single,System.Single)~System.Single;This osuTK helper has unsafe semantics when one of the bounds provided is NaN. Use Math.Clamp() instead.
M:osuTK.MathHelper.Clamp(System.Double,System.Double,System.Double)~System.Double;This osuTK helper has unsafe semantics when one of the bounds provided is NaN. Use Math.Clamp() instead.
M:TagLib.File.Create(System.String);TagLib's MIME type detection changes behaviour depending on CultureInfo.CurrentCulture. Use TagLibUtils.GetTagLibFile() instead.
M:TagLib.File.Create(TagLib.File.IFileAbstraction);TagLib's MIME type detection changes behaviour depending on CultureInfo.CurrentCulture. Use TagLibUtils.GetTagLibFile() instead.
M:TagLib.File.Create(System.String,TagLib.ReadStyle);TagLib's MIME type detection changes behaviour depending on CultureInfo.CurrentCulture. Use TagLibUtils.GetTagLibFile() instead.
Expand Down
3 changes: 3 additions & 0 deletions CodeAnalysis/osu.globalconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ dotnet_diagnostic.IDE0004.severity = warning
# IDE0005: Remove unnecessary imports
dotnet_diagnostic.IDE0005.severity = warning

# IDE0032: Use auto property
dotnet_diagnostic.IDE0032.severity = suggestion

# IDE0034: Simplify default literal
dotnet_diagnostic.IDE0034.severity = warning

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Game.Tests.Visual;
using osuTK.Graphics;

namespace osu.Game.Rulesets.EmptyFreeform.Tests
{
Expand All @@ -19,7 +18,7 @@ private void load()
new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Color4.Black,
Colour = Colour4.Black,
},
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
Expand All @@ -7,7 +7,7 @@
using osu.Game.Rulesets.EmptyFreeform.Objects;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Types;
using osuTK;
using System.Numerics;

namespace osu.Game.Rulesets.EmptyFreeform.Beatmaps
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System;
Expand All @@ -16,8 +16,7 @@
using osu.Game.Rulesets.EmptyFreeform.UI;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.UI;
using osuTK;
using osuTK.Graphics;
using Vector2 = System.Numerics.Vector2;

namespace osu.Game.Rulesets.EmptyFreeform
{
Expand Down Expand Up @@ -65,7 +64,7 @@ public Icon(char c)
new Circle
{
Size = new Vector2(20),
Colour = Color4.White,
Colour = Colour4.White,
},
new SpriteText
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using osu.Framework.Graphics;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Scoring;
using osuTK;
using osuTK.Graphics;
using Vector2 = System.Numerics.Vector2;

namespace osu.Game.Rulesets.EmptyFreeform.Objects.Drawables
{
Expand Down Expand Up @@ -40,7 +39,7 @@ protected override void UpdateHitStateTransforms(ArmedState state)
break;

case ArmedState.Miss:
this.FadeColour(Color4.Red, duration);
this.FadeColour(Colour4.Red, duration);
this.FadeOut(duration, Easing.InQuint).Expire();
break;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Types;
using osuTK;
using System.Numerics;

namespace osu.Game.Rulesets.EmptyFreeform.Objects
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using osu.Game.Rulesets.Replays;
using osuTK;

namespace osu.Game.Rulesets.EmptyFreeform.Replays
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Game.Tests.Visual;
using osuTK.Graphics;

namespace osu.Game.Rulesets.Pippidon.Tests
{
Expand All @@ -19,7 +18,7 @@ private void load()
new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Color4.Black,
Colour = Colour4.Black,
},
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Numerics;
using osu.Game.Beatmaps;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Types;
using osu.Game.Rulesets.Pippidon.Objects;
using osuTK;

namespace osu.Game.Rulesets.Pippidon.Beatmaps
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using System.Numerics;
using osu.Framework.Allocation;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
using osu.Game.Audio;
using osu.Game.Rulesets.Objects.Drawables;
using osuTK;
using osuTK.Graphics;

namespace osu.Game.Rulesets.Pippidon.Objects.Drawables
{
Expand Down Expand Up @@ -73,7 +72,7 @@ protected override void UpdateHitStateTransforms(ArmedState state)

this.ScaleTo(0.8f, duration, Easing.OutQuint);
this.MoveToOffset(new Vector2(0, 10), duration, Easing.In);
this.FadeColour(Color4.Red.Opacity(0.5f), duration / 2, Easing.OutQuint).Then().FadeOut(duration / 2, Easing.InQuint).Expire();
this.FadeColour(Colour4.Red.Opacity(0.5f), duration / 2, Easing.OutQuint).Then().FadeOut(duration / 2, Easing.InQuint).Expire();
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Types;
using osuTK;
using System.Numerics;

namespace osu.Game.Rulesets.Pippidon.Objects
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using osu.Game.Rulesets.Replays;
using osuTK;
using System.Numerics;

namespace osu.Game.Rulesets.Pippidon.Replays
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Numerics;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
using osu.Game.Rulesets.UI;
using osuTK;

namespace osu.Game.Rulesets.Pippidon.UI
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Numerics;
using osu.Framework.Graphics;
using osu.Game.Rulesets.UI;
using osuTK;

namespace osu.Game.Rulesets.Pippidon.UI
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Game.Tests.Visual;
using osuTK.Graphics;

namespace osu.Game.Rulesets.EmptyScrolling.Tests
{
Expand All @@ -19,7 +18,7 @@ private void load()
new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Color4.Black,
Colour = Colour4.Black,
},
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using osu.Framework.Graphics;
using osu.Game.Rulesets.Objects.Drawables;
using osuTK;
using osuTK.Graphics;
using Vector2 = System.Numerics.Vector2;

namespace osu.Game.Rulesets.EmptyScrolling.Objects.Drawables
{
Expand Down Expand Up @@ -38,7 +37,7 @@ protected override void UpdateHitStateTransforms(ArmedState state)

case ArmedState.Miss:

this.FadeColour(Color4.Red, duration);
this.FadeColour(Colour4.Red, duration);
this.FadeOut(duration, Easing.InQuint).Expire();
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Game.Tests.Visual;
using osuTK.Graphics;

namespace osu.Game.Rulesets.Pippidon.Tests
{
Expand All @@ -19,7 +18,7 @@ private void load()
new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Color4.Black,
Colour = Colour4.Black,
},
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
Expand All @@ -10,8 +10,7 @@
using osu.Game.Audio;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Pippidon.UI;
using osuTK;
using osuTK.Graphics;
using Vector2 = System.Numerics.Vector2;

namespace osu.Game.Rulesets.Pippidon.Objects.Drawables
{
Expand Down Expand Up @@ -70,7 +69,7 @@ protected override void UpdateHitStateTransforms(ArmedState state)

this.ScaleTo(0.8f, duration, Easing.OutQuint);
this.MoveToOffset(new Vector2(0, 10), duration, Easing.In);
this.FadeColour(Color4.Red, duration / 2, Easing.OutQuint).Then().FadeOut(duration / 2, Easing.InQuint).Expire();
this.FadeColour(Colour4.Red, duration / 2, Easing.OutQuint).Then().FadeOut(duration / 2, Easing.InQuint).Expire();
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
using osu.Framework.Input.Events;
using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Graphics.Containers;
using osuTK;
using System.Numerics;

namespace osu.Game.Rulesets.Pippidon.UI
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Rulesets.UI.Scrolling;
using osuTK.Graphics;

namespace osu.Game.Rulesets.Pippidon.UI
{
Expand Down Expand Up @@ -107,7 +106,7 @@ public Lane()
{
new Box
{
Colour = Color4.White,
Colour = Colour4.White,
RelativeSizeAxes = Axes.Both,
Anchor = Anchor.CentreLeft,
Origin = Anchor.CentreLeft,
Expand Down
4 changes: 2 additions & 2 deletions osu.Android.props
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project>
<Project>
<PropertyGroup>
<SupportedOSPlatformVersion>33.0</SupportedOSPlatformVersion>
<!-- arm64-v8a only. Modern Android devices are 99%+ arm64; 32-bit arm32 (armeabi-v7a)
Expand Down Expand Up @@ -52,7 +52,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ppy.osu.Framework.Android" Version="2026.511.1" />
<PackageReference Include="ppy.osu.Framework.Android" Version="2026.517.1" />
<!-- `ppy.osu.Framework.NativeLibs` is a transitive dependency of `ppy.osu.Framework`
that ships desktop-only natives (Linux/macOS/Windows) under `runtimes/<rid>/native/`
— including a bare Linux `libbass.so`/`libbass_fx.so`/`libbassmix.so` for linux-arm64.
Expand Down
2 changes: 1 addition & 1 deletion osu.Android/Input/AndroidKeyboardHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using osu.Framework.Input.Handlers;
using osu.Framework.Input.StateChanges;
using osu.Framework.Platform;
using osuTK.Input;
using osu.Framework.Input;

namespace osu.Android.Input
{
Expand Down
Loading
Loading