Skip to content

fix(game-screen): swipe in from the left edge for brightness, or nothing - #9

Open
thewhoareyou wants to merge 6 commits into
SicarioGaming:mainfrom
thewhoareyou:feature/brightness-edge-swipe
Open

thewhoareyou wants to merge 6 commits into
SicarioGaming:mainfrom
thewhoareyou:feature/brightness-edge-swipe

Conversation

@thewhoareyou

Copy link
Copy Markdown

Summary

Closes #3's first complaint — "the brightness bar in the left is annoying and it can not be disabled" — by porting Moonlight X's own solution, taken with git cherry-pick -x:

  • Left-edge tap is replaced by a left-edge swipe. A finger has to start at the edge and travel 60dp in, mostly sideways, within 500 ms. Taps on the edge now reach the game.
  • New "Left edge swipe action" setting (Settings → Overlay menu): overlay menu, brightness, or off. Brightness is the default — the gesture can be fully disabled.
  • Brightness tile in the stream menu. It opens the slider focused for a gamepad or remote: up/down step 5%, A/B/centre/Enter/Back close it. It's not offered on Android TV.
  • The slider hides a couple of seconds after it was last changed, however it was opened; a touch on the stream closes it sooner.

Upstream commits: d9b439c0, fcc1e48f, 102bc5da, 3e6665e7. 82e820f8 was skipped — it's 102bc5da's parent (suppressing the old tap under on-screen controls) and the swipe commit deliberately removed that gate, since a real swipe can't come from an OSC button.

Port notes: upstream's jitter-buffer menu tile was dropped from the conflicts (Starwire has jitter as a per-game setting, not a menu tile), and the Brightness tile was mapped onto Starwire's tile-grid menu. The swipe's shape check is extracted as Game.edgeSwipeComplete for unit tests.

Test plan

  • Unit: GameRulesTest 9/9, including new swipe-geometry coverage (tap ≠ swipe, vertical scroll ≠ swipe, density scaling); 316-test suite otherwise clean apart from the known macOS CustomVulkanDriverImportTest path failures
  • lintNonRootDebug clean, assembleNonRootDebug builds
  • Device-tested on a Samsung Tab S9+: edge tap ignored, edge swipe opens the slider, menu tile works, "off" disables the gesture, slider auto-hides after a change

Generated with Devin

MoreOrLessSoftware and others added 6 commits November 3, 2026 19:58
…to trackpad mode

The brightness slider could only be opened by touching the left edge of
the screen, which took that strip away from the game even when touches go
to the host where they land. The edge now opens it only with the
touchscreen as a trackpad.

The overlay menu has a Brightness button instead, which closes the menu
and opens the slider focused for a gamepad or remote: up and down (d-pad,
hat or left stick, repeating when held) step the brightness to the next
multiple of 5%, touch still moves it by 1%, and A, B, centre, Enter or
Back close it. The key that closes it is taken on release too, and no
other input reaches the stream while it's up. It stays up until closed,
or until the stream is touched, and focus goes back to the stream after.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit d9b439c)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit fcc1e48)
…menu settings

A swipe in from the left edge opens the overlay menu or the brightness
slider, or does nothing, as the new Left edge swipe action setting says
(brightness by default). Unlike the tap it replaces, it works in direct
touch mode and with the on-screen controls, since it only triggers once
the finger has swiped in. The 3-finger tap still opens the overlay menu.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 102bc5d)
The timer only starts once the brightness has been changed, and now runs
when the slider was opened from the overlay menu too. Until then it stays
up; a touch on the stream closes it, however it was opened.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 3e6665e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

User experience improvement

1 participant