Quick answer: Steam Deck native builds showing Xbox button glyphs instead of Steam Deck’s? Steam Input API exposes the controller type — query it and load Deck glyphs.
Game ships on Deck with Xbox glyphs as fallback. Steam Input reports a Steam Deck controller but the UI hard-codes Xbox glyphs.
Steam Input Glyph API
EInputActionOrigin origin = SteamInput()->GetActionOriginFromXboxOrigin(controller, EXboxOrigin_A);
const char* path = SteamInput()->GetGlyphPNGForActionOrigin(origin, k_ESteamInputGlyphSize_Medium, 0);Returns the correct glyph file path. Steam ships glyphs for every supported controller including Deck.
Cache Glyph Per Origin
Glyphs change rarely. Cache the path/texture per origin string. Refresh on controller-changed events from Steam Input.
Action-Based Inputs
If you adopt the full Steam Input model (action sets, configs), the glyph API returns glyphs matching the player’s exact remapping — their custom binding shows the right hint.
Fallback Glyphs
For non-Steam Input platforms, ship your own glyphs. Detect platform / API and choose source: Steam Input on Steam, bundled assets elsewhere.
Verifying
Steam Deck shows Steam Deck glyphs. Xbox controllers show Xbox glyphs. Custom remaps reflect in prompts.
“Steam Input ships glyphs per controller. Query the API; don’t hard-code.”
Adopt the Steam Input action-based model fully — players who remap controls see the right glyphs without your code knowing about it.