Repository navigation
Preserve fractional GCMouse scroll deltas - #97
Conversation
|
Ill only take the fractional accumulator on the GameController scroll, the rest I can't take, the momentum is in your first commit and gone in the second so the PR doesn't do what the title says You default natural scrolling to on which flips the direction for everyone with a mouse the day they update, you need to consider the experience from the user's perspective, not just pump out lines... same with your other changes... If you can cut it down to the accumulator on the existing setting, I can merge it |
|
Thanks @SandiyosDev for the feedback. I've narrowed this to fractional accumulation in the existing GCMouse callbacks, as requested. The PR now changes only Verification: 18 assertions pass in a temporary Swift harness executing the actual registered callbacks with test doubles; the unsigned Release iOS build, Release static analysis, and I appreciate the clear guidance on keeping this focused. |
|
Device test update, keeping the scope guidance above in mind: Test environment
Results
Remaining feel feedback, for separate discussion The skipping is fixed, but the Magic Keyboard trackpad still feels different from touchscreen scrolling and the expected MacBook trackpad experience. There are two distinct aspects:
Fractional accumulation addresses small deltas being discarded; acceleration and inertia are separate behaviors. Given the request to keep #97 limited to the accumulator, I am reporting these as separate user-experience feedback rather than adding them back to this PR. Discrete mouse-wheel validation is still pending. |
|
thanks for cutting things down to the accumulator |
|
thanks for the review and merge, @SandiyosDev! |
Summary
GameController scroll callbacks currently convert each
Floatdelta directly toInt32, so sub-tick movements are discarded. This PR retains the fractional remainder between callbacks and emits whole wheel ticks as they accumulate.GameController.swift. The earlier setting/UI, UIKit scroll recognizer, source-selection policy, and sensitivity changes have been removed.Verification
git diff --checkpassed.Device validation
Physical Magic Keyboard trackpad testing was reported on 2026-10-16 using an iPad Air (5th generation,
iPad13,17), iPadOS 26.6 (23G71), and OpenParsec 1.4.0 build 223 (main + this PR). The tester reported that the previous jumpy/skipping behavior appeared resolved.The existing scroll sensitivity and reverse-direction controls still had no effect on the GCMouse path in build 223. A separate local settings-only follow-up (build 224) was tested and the tester confirmed that issue was fixed; that follow-up is not included in this PR.
There is separate device feedback about scroll acceleration/velocity response during a gesture and inertial deceleration after release. Those are distinct from fractional accumulation and are not part of this PR. Discrete mouse-wheel validation is still pending.
Addresses the scope feedback in #97 (comment).