protonscr

[General] - Titles can invoke the keyboard while the Steam or Quick-Access Menu are open stealing focus and breaking rendering.

steamopen Steam clientoverlayDistro Family: SteamOS
ValveSoftware/steam-for-linux#11404 · opened 2024-10-29 by ZereoX · updated 2024-10-29 · 0 comments · github
ZZereoX 2024-10-29 github

Your system information

  • Steam client version (build number or date): 1726683985 (Stable) / 1729917543 (Beta)
  • Distribution (e.g. Ubuntu): SteamOS 3.6.19 / 3.7.0 (Deck) and Manjaro w/ Gnome 46 (Desktop)
  • Opted into Steam client beta?: Issue is present on both Stable and Beta
  • Have you checked for system updates?: Yes
  • Steam Logs: steam-logs.tar.gz
  • GPU: AMD Van Gogh RDNA 2.0 (Steam Deck) and RX 7800XT (Desktop)

Please describe your issue in as much detail as possible:

Titles which ceaselessly re-invoke the on-screen keyboard when a text input is present will break rendering and steal input away for Steam if you attempt to open the Steam or Quick-Access Menu.

This issue is most notable on Ren'Py visual novels as the engine provides an option to re-invoke the on-screen keyboard when dismissed (https://github.com/renpy/steam-deck-guide?tab=readme-ov-file#renpy-750-or-later). This leads to Steam failing to close the on-screen keyboard when opening the Steam or Quick-Access Menu.

Video

https://github.com/user-attachments/assets/d0beca7c-31a4-48af-a5df-bf2b0e658f52

Steps for reproducing this issue:

  1. Launch Alison Fall of the Apple.
  2. Select Start.
  3. Skip the next few dialogues and select "I confirm that [...]".
  4. Once prompted for "What is your name?", the on-screen keyboard should open.
  5. Press Steam or ... to open the Steam or Quick-Access Menu.

With any Ren'Py title that opens the on-screen keyboard automatically:

  1. Navigate to <game-install-directory>/renpy/common/.
  2. Open 00steam.py and edit the value of keyboard_mode to "always".
  3. Launch the title and proceed into game until you are prompted for input.
  4. Once prompted for input, the on-screen keyboard should open.
  5. Press Steam or ... to open the Steam or Quick-Access Menu.

With any title (artificial reproduction):

  1. Launch the Devkit Management Tool (steam://install/943760) and select your device.
  2. Select Remote Shell.
  3. Run the following command: while :; do steam steam://open/keyboard; sleep 0.5; done.
  4. Launch any game and wait for the on-screen keyboard to open.
  5. Press Steam or ... to open the Steam or Quick-Access Menu.

Reproduction Rate: 5/5

Affected Platforms

  • LCD: Yes
  • OLED: Yes
  • Desktop Deck-like session (gamescope -e -- steam -gamepadui -steamdeck): Yes
  • Desktop: No (OSK does not appear in Big Picture Mode for Ren'Py titles)

Actual result

  • Opening the Steam or Quick-Access Menu while a title is actively attempting to invoke the on-screen keyboard will 1) break rendering of the Steam user interface 2) steal gamepad focus away from Steam making it impossible to navigate.

Expected result

  • Title should be unable to re-invoke the on-screen keyboard after being dismissed by the Steam or Quick-Access Menu. This would match the current behaviour of using the Show Keyboard shortcut (Steam + X) where it only works if you are actively in-game.

Notes

Nothing extracted yet.