Daily Archives: 1 November 2020

“SNES-like” Controllers in Steam on Linux

A few years ago, I got myself SNS-like Controllers on Gearbest for a whopping 3,55€ a piece. They are basically ripoff INNEXT Controllers. I mean, they were cheap and I had points left on Gearbest that were about to expire. They never really worked well in the sense that there was one button that clearly isn’t mapped correctly and whenever I tried to configure it, they freaked out completely.

So, they ended up in a drawer and when I built the SteamBox, I tried again. Failed again, and they were left there to distract Little One from the real Steam Controller. Thing is, Little One now wants to play “Cars Autos” and don’t ask me why he calls it that way. The Steam Controller is too big for him, and too complicated to be entirely honest.

So, I tried the SNES-like Controllers again and this time I managed to configure them. Basically, I think it’s a Steam Bug. The controller works fine-enough when you just plug it in, except for that one button. The innocent user will to go to the controller configuration panel (which only exists in Big Picture Mode), change the value of that key, save it and be done with it.

Mistake! At that point the D-Pad freaks out. The only way to fix this, is to edit ~/.steam/steam/config/config.vdf and remove the line beginning with "SDL_GamepadBind" and the lines following it referring to controllers and gamepads. Now this is documented in the Steam forums and I do remember doing this back with my first trials

Today, I had the grandiose idea to look at those lines before trying to configure it… and there it was: 030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,"

A relatively concise description of the controller instead of the huge blurb of text the Steam configuration panel produces. This, I can read. The only thing to do was to change rightshoulder:b6 into rightshoulder:b5. That was it. The controller works as expected. Now, granted, the Steam configuration panel gave me the precious information that it was in fact “Button 5”, but that was about the only use the damned thing has.

The only thing I really want to know now is whether the INNEXT Controllers actually have right shoulder configured as “Button 6” instead of “Button 5”. Perhaps, one day I will find out as they aren’t actually that expensive and the black would look much better with my SteamBoxes case. Never even mind that the ripoff controllers don’t even have the same shade of grey.


For those who wonder: My SteamBox is just Debian 10 64-bit with multiarch 32-bit, booting in a minimal LXDE desktop and autostarting Steam Big Picture. I have Plymouth showing the Steam logo at bootup and LXDE using the same as a wallpaper. It’s pretty close to a “console” startup feeling, except of course sometimes you need to figure out missing dependencies for games and I can ssh into the machine for maintenance. The hardware is a simple Ryzen 3 2200G with 32GB RAM and a 256GB NVMe M.2 SSD. One of my greatest failings in life is that I did not document how I did it, because it would have made a damned great howto.