Controllers automatically mapped to keyboard/mouse in Desktop Mode?

I was working on a game for a game jam this weekend while running on the bazzite-ally-gnome image while docked in Desktop Mode. I paired an 8bitdo SN30 Pro controller in XInput mode to my Ally via the GNOME Settings app, and I was getting strange behavior in my game.

After some experimenting, I noticed that even when my game is not running, the controller’s D-Pad was bound to arrow keys, Start to Escape, the right analog stick to the mouse cursor, and LT/RT to left and right click. I was surprised to see this behavior at all, as the Ally’s controls don’t exhibit this behavior in Desktop Mode (though it could certainly be handy from time to time).

Ultimately, this behavior is an issue because each time I press anything on the controller it is sending both the joypad event and the simulated keyboard/mouse event to the system and it means I need to bind all of the controls in my game to keyboard inputs that are not being sent by the controller to avoid double inputs or overlapping inputs.

Does anyone know where this behavior is coming from and/or how to disable/re-enable it?

Most likely Steam’s desktop layout for that controller is enabled. It has to be configured on a per-controller (or controller type?) basis.

1 Like

I did not know that was a Steam Input feature! Was able to flip it so the controller on the Ally works in desktop config and disable it on the external one. Thanks!