Skip to content

fix(gui): use Fyne black screen for controller flow#10

Open
ioerrors wants to merge 1 commit into
Lucaber:masterfrom
ioerrors:pr/fyne-blackscreen
Open

fix(gui): use Fyne black screen for controller flow#10
ioerrors wants to merge 1 commit into
Lucaber:masterfrom
ioerrors:pr/fyne-blackscreen

Conversation

@ioerrors
Copy link
Copy Markdown

This PR keeps black-screen behavior in the main Fyne window when entered from the main menu, instead of routing that path through the SDL input window.

Why:

  • In gaming-mode controller-first use, opening the SDL input window for black screen can be counterproductive.
  • It can change touch behavior and interfere with controller passthrough expectations.
  • Controller-first black screen is conceptually a simple UI state change, so Fyne is a better fit for that entry path.

What changed:

  • Main-menu Black Screen now swaps to a Fyne full-screen black view.
  • Tap restores the previous main content.
  • Cursor hiding/transition behavior is handled in the Fyne path for cleaner UX. (I use cursor hiding on button hover so no cursor lingers)

What did not change:

  • SDL keyboard/mouse workflow remains intact.
  • No protocol/daemon/auth changes in this PR.

Testing:

  • Built and tested on Steam Deck in gaming mode (non-Steam app launch).
  • Verified controller-first black screen entry/exit behavior is stable.

Notes:

  • This is intended as one half of a split approach:
  • SDL black screen for keyboard path
  • Fyne black screen for controller-first path

@Lucaber
Copy link
Copy Markdown
Owner

Lucaber commented Apr 26, 2026

Did you enable touch support in SteamInput: https://github.com/Lucaber/deckjoy#steam-input

@ioerrors
Copy link
Copy Markdown
Author

ioerrors commented May 7, 2026

I did not mess with any SteamInput settings; my goal with my PRs on this project was to reduce friction as much as possible, but perhaps a bit tunnel visioned on my use case (controller mode no keyboard, non-steam app launch from gaming mode, for use with games like cyberpunk2077).

It's possible the issue I saw with SDL based path entering black screen from main UI black screen option came from not changing any SteamInput settings. This fyne implementation works for my workflow b/c it requires no steps to setup, but maybe for games that require the touchscreen or if you're using the keyboard in the touchscreen SDL is the right path?

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.

2 participants