Follow-up: tested whether this reproduces under gamescope instead of a regular desktop session, on the exact same hardware/OS install described above.
Setup: same machine, same Bazzite build, same Stardew Valley Proton repro. Quit the normal desktop Steam client first (it's single-instance — a second steam invocation while one's already running just IPCs to it and exits immediately, which looked like a gamescope backend problem at first but wasn't), then launched nested via:
gamescope -e -f -- steam -gamepadui -steamdeck
Result: bug does not reproduce under gamescope. Same repro steps (open OSK over the character-naming text field), both the OSK's own input and physical keyboard typed into the field correctly — no lock-out, no phantom grab, exactly as expected/intended.
This is useful for narrowing scope: since gamescope's embedded-compositor architecture handles input/focus fundamentally differently from a generic X11 window manager (KWin here), and the bug is absent there, it points toward the overlay's grab-release logic misbehaving specifically in its interaction with generic X11/XWayland desktop window managers — not something inherent to the overlay's OSK code in general, and not something specific to this machine (same hardware, same OS, same Steam install, different result purely based on compositor). Might also explain why this hasn't been widely reported — it'd only affect desktop-mode users who reach for the in-game OSK instead of a keyboard, a fairly narrow slice of the desktop Linux Steam userbase to begin with.
ge-proton10-34x1 2026-07ge-proton11-3x1 2026-07WINEDEBUGx1 2026-07WINEDEBUG=+key,+win,+event,+focus,+message`**x1 2026-07
Diagnosed with Claude
Summary
When the in-game Steam overlay's on-screen keyboard (OSK) is open over a Proton game, an X11 input grab is established (apparently tied to an invisible proxy window) that is never correctly released or forwarded to the actual game window. As a result:
This reproduces with a Windows/Proton build of a game but not with the same game's native Linux build, run side-by-side on the same system — strongly suggesting the bug is in how the overlay negotiates input grab/focus specifically with a Wine/XWayland window, not a general X11 or KDE issue, and not a game-specific bug.
System Information
44.20260721.07.1.3-ogc5.1.fc44.x86_646.7.3, KWin6.7.31785187029413150) — chosen because it ships both a Proton/Windows build and a native Linux build, allowing a direct side-by-side comparison on identical hardware/sessionSteps to Reproduce
Expected Behavior
Typed text (via OSK or physical keyboard) should appear in the focused game text field, the same way it does for the same game's native Linux build.
Actual Behavior
No text reaches the field, and input is effectively locked away from the game window until the OSK is closed.
Diagnostic Evidence
This was traced down to the X11 protocol level rather than guessed at:
xevattached directly to the game's actual X window (confirmed via matching_NET_WM_PID) shows validKeyPress/KeyReleaseevents with correctXLookupStringcharacter translation arriving at the window when typing on a physical keyboard — ruling out a simple "events never sent" explanation in isolation.WINEDEBUG=+key,+win,+event,+focus,+messageon the Proton build shows the physical keyboard path working perfectly end-to-end:X11DRV_KeyEvent(raw X11 key event) → VK code conversion →WM_KEYDOWN→WM_CHAR→WM_KEYUP, all correctly dispatched to the game's real HWND. In the same capture, the OSK's keypresses never once reachX11DRV_KeyEvent— the only trace of the OSK's key at all is aX11DRV_ToUnicodeExcall againstwindow 0with incrementing keyboard-state arguments, consistent with a layout/character lookup rather than a delivered key event.XGetInputFocus, i.e.xdotool getwindowfocus) is on an invisible 1×1,InputOnly,override-redirectwindow with no name and no_NET_WM_PID— not on the game's window.override-redirectwindows are explicitly excluded from window-manager policy by X11 design, consistent with this being a raw grab/proxy window created by the overlay itself rather than anything KWin manages.Why this may be under-reported
This appears specific to desktop KDE Plasma/XWayland sessions running Proton, as opposed to:
gamescope— a different, Valve-controlled compositor where this grab/focus negotiation may be implemented differently (or not present at all).That would make this a real but narrow intersection (desktop KDE + Proton + attempting keyboard text entry), rather than a universal Proton input bug, which is consistent with it not being a widely-flagged issue despite being 100% reproducible here.
Additional Notes
Happy to provide the full
xevandWINEDEBUGlogs, or run further tests, on request.excerpt_winedebug_stardew.txt
excerpt_xev_stardew.txt