Hi,
I'm not sure how many people here have Steam Decks, so I'm not sure if this is the right place to post this, but I've been having a lot of trouble with getting input working on my Steam Deck, specifically with the D pad.
I first noticed this when trying my game out on there when I first got it (Linux build, not Proton). The d pad was acting weird, in that around 9/10 of the times I press a direction the input is dropped. It works sometimes, but it's very rare. I initially found that I could fix the issue by changing the actions in the input map to their defaults (I had made new ones, but I went back to ui_up, ui_down etc.). This worked for a time, however, now that I've finished revising my input rebinder for controllers the same issue occurs.

I'm primarily developing on Windows, and controller support works perfectly to my knowledge on there, i.e. no d pad issues on my Xbox One controller. I can also confirm this is not just a problem with the Linux build because on my Chromebook with Linux installed (GalliumOS), plugging in the Xbox One controller yields no issues. I've also plugged the Xbox controller into the Steam Deck, and it works fine, however the Steam Deck D pad doesn't.

My question is for someone with a lower level understanding: Is this a Godot problem or a Steam Deck issue? Or have you seen this before to the end where I need to fix something else?

Thanks

  • johann replied to this.
  • CentiGames Hi, I found a slightly janky workaround that seems to work.

    First, the joystick inputs all need separate actions, so the dpad action would be on its own (with a keyboard key works fine), and one separate one for joystick up, then repeat for all of the others.

    Then you just have to check both inputs each time, just using the or operator.

    Hope this helps! I really hope they fix this, but this seemsto work fine for me.

    I have a SteamDeck, I can take a look. Might be an echo or ghosting.

      cybereality Thanks! I have my game on Steam, so as an example it should show the problem at hand, although I'm not sure why exactly it's happening here.

      I also included two project files, one of which works fine, the other of which uses the original bindings I made for my game and doesn't work on deck. I changed to use the ui_up and other since, so again I'm not sure what I did to make it stop working.
      If you want I can send the code for input binding if that helps.
      Thanks!

      6 days later

      cybereality Hi, did you get a chance to evaluate the issue yet? It seems to me like an issue with the Steam Deck, so I'm thinking of making a thread on the Steam Partner forum.

      Which version of Godot are you using. There was a problem a few months ago with ghosting/echos (something about the input buffer getting confused with too many key presses on Linux). AFAIK it was fixed, so either you are on an old version, or the problem regressed.

        3 months later

        Has there been any progress on this issue? I am using Godot 4.0.2 and it seems to occur for me as well. (DPad not working correctly on the SteamDeck, all other joypads work)
        I found this issue https://github.com/godotengine/godot/issues/45628 but I am not sure if that's really what I'm looking for as it's only happening on the Steam Deck and no other device, though a comment mentions the same issue with the Steam Deck essentially.

          CentiGames Hi, I found a slightly janky workaround that seems to work.

          First, the joystick inputs all need separate actions, so the dpad action would be on its own (with a keyboard key works fine), and one separate one for joystick up, then repeat for all of the others.

          Then you just have to check both inputs each time, just using the or operator.

          Hope this helps! I really hope they fix this, but this seemsto work fine for me.

            PowerUpT Thanks for your answer! I will try this, seems like a simple enough workaround, I still hope this will eventually be fixed in the engine though.

            I might know how to fix this. I did this to get the Xbox Series X controller working on Linux. Can you create a bug report and link it here?

              If the Steam Deck was about a third of the price, I'd consider getting one, I'm not paying £600 for a handheld, nor would Dad let me.

                Steam Deck is actually pretty cheap for what you're getting, it's an entire computer.

                10 days later
                2 years later

                PowerUpT Hello

                I'm trying to get my game to work on Steam Deck too , I just have the same problem with the inputs, the buttons and joysticks don't work if I install my game from the Steam platform.

                Did you manage to make everything work ?

                I'm using godot 4.4.1 with this settings :

                Thanks.