Skip to content

Commit 01d9941

Browse files
Reduce PC scroll command distance (#304)
Co-authored-by: Owen McGirr <o.a.mcgirr@gmail.com>
1 parent 623016c commit 01d9941

3 files changed

Lines changed: 17 additions & 5 deletions

File tree

src/SwitchifyPc.Tests/WindowsDesktopInputAdapterTests.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,20 @@ public async Task ScrollsWithNativeDeltaScaling()
4747
FakeNativeInput native = new();
4848
WindowsDesktopInputAdapter adapter = new(native);
4949

50-
await adapter.ScrollMouseAsync(0.1, -3);
50+
await adapter.ScrollMouseAsync(0, -5);
5151

52-
Assert.Equal(new PointerDelta(1, -12), native.Scrolled);
52+
Assert.Equal(new PointerDelta(0, -2), native.Scrolled);
53+
}
54+
55+
[Fact]
56+
public async Task ScrollsSmallNonZeroDeltaByAtLeastOneDetent()
57+
{
58+
FakeNativeInput native = new();
59+
WindowsDesktopInputAdapter adapter = new(native);
60+
61+
await adapter.ScrollMouseAsync(0.1, 0);
62+
63+
Assert.Equal(new PointerDelta(1, 0), native.Scrolled);
5364
}
5465

5566
[Fact]

src/SwitchifyPc.Tests/WindowsPointerMovementTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ public void FallsBackToReferenceShortEdgeForInvalidDisplayData()
4242
[Fact]
4343
public void CalculatesNativeScrollDelta()
4444
{
45-
Assert.Equal(new PointerDelta(0, -12), WindowsPointerMovement.CalculateNativeScrollDelta(new PointerDelta(0, -3)));
45+
Assert.Equal(new PointerDelta(0, -2), WindowsPointerMovement.CalculateNativeScrollDelta(new PointerDelta(0, -5)));
46+
Assert.Equal(new PointerDelta(0, 2), WindowsPointerMovement.CalculateNativeScrollDelta(new PointerDelta(0, 5)));
4647
Assert.Equal(new PointerDelta(1, 0), WindowsPointerMovement.CalculateNativeScrollDelta(new PointerDelta(0.1, 0)));
4748
Assert.Equal(new PointerDelta(0, 1), WindowsPointerMovement.CalculateNativeScrollDelta(new PointerDelta(0, 0.1)));
48-
Assert.Equal(new PointerDelta(0, -3), WindowsPointerMovement.CalculateNativeScrollDelta(new PointerDelta(0, -3), 0));
49+
Assert.Equal(new PointerDelta(0, -5), WindowsPointerMovement.CalculateNativeScrollDelta(new PointerDelta(0, -5), 0));
4950
}
5051
}

src/SwitchifyPc.Windows/Input/WindowsPointerMovement.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public sealed record PointerPosition(double X, double Y);
99

1010
public static class WindowsPointerMovement
1111
{
12-
public const double NativeScrollDeltaMultiplier = 4;
12+
public const double NativeScrollDeltaMultiplier = 0.4;
1313
public const double ReferencePointerShortEdge = 1080;
1414

1515
private static readonly IReadOnlyDictionary<PointerMovementSizeKey, double> BaselinePointerDeltas =

0 commit comments

Comments
 (0)