I'd like to develop some advanced boot menus for my Steam Deck, and I'd like to use features like the joysticks and touchpads.

By default, the Steam Deck's inputs (and the Steam Controller that this is based on) will act as a keyboard and mouse with a default configuration (where the right touchpad moves the mouse, the left joystick and hat act as arrow keys, and the A button matches the Enter button). The Steam Deck's UEFI menu is designed with this in mind: it shows "press A to confirm" while internally waiting for the Enter key.

However, with this mode, it's impossible to acquire advanced input data, such as where exactly the touchpad is being pressed, which would be useful for making an on-screen keyboard like Steam has. So, when Steam is running, it somehow switches the controller into a different mode, where it can be configured with Steam Input to do different things.

Is there a way to perform this mode switch, and access the physical controller inputs, without launching Steam, which is impossible to do in a pre-boot environment.

  • 1
    There's a Steam Controller reverse engineering project on GitHub - OpenSteamController.
    – l3l_aze
    Commented Sep 3, 2023 at 19:24


You must log in to answer this question.

Browse other questions tagged .