Developer and game porter Ryan "Icculus" Gordon has created a new library named ControllerImage for game developers, with an aim to help showing on-screen controller prompts
Built on top of the popular SDL, specifically SDL 3, the idea is game developers would use this to show things like "Press *controller button* to open" type of prompts in-game. No matter what controller, it would be able to show the right prompt, as long as SDL knows what that controller is.
As written in the Patreon post:
Something that's been bothering me for awhile is how SDL handles game controllers: you plug in darn near anything, and it can figure out what to do with it, so the developer can assume the player is using an Xbox controller even if the actual gamepad is built by Sony or Nintendo. It can sort it out whether it's a first-party controller you paid 70 bucks for, or it's something totally anonymous, bought for a few yuan at a chinese street market.
But all SDL does is say "I know this controller, here's where its equivalent of the Xbox Y button is" to the programmer, and not "I know this controller, here's what it looks like" to the player.
I set out to change that.
This is a dirt-simple library that builds on SDL's ability to detect joysticks, to provide scalable images of its buttons and other features, so you can show users instructions that match the controller in their hand, even for controllers you've never heard of, and for screen resolutions that don't exist yet.