Joystick input is via the keyboard

Godot Version

v4.3.stable.steam

Question

I use a PS4 joystick
If I output

Input.get_connected_joypads()

I see my joystick in the list and it even has vibration. But if you display InputEvent, you can see that the joystick buttons are defined as buttons on the keyboard! For example, a triangle is PageDown, and a circle is Space

It shouldn’t be like this, right? I saw separate buttons for the joystick in the InputMap! Maybe this problem is specific to the PS4 joystick (I don’t have an XBOX so I can’t check)
I was planning to make separate control settings for the gamepad and for the keyboard because the game should be released on Steam.
If anyone has encountered this, tell me what you did and whether it should be like this at all!

Steam sometimes translates controller inputs into keyboard inputs. Steam has controller intercept configurations for not playing a game, a configuration per-game (are you launching Godot through steam?), and a configuration in big-picture mode.

Try change steam’s controller settings for Godot, I know you can do this from big-picture mode. Or launch Godot without steam.

Oh yeah, you’re right! It’s all because of steam, but now there’s another problem, my menus could be interacted with via shortcuts in the engine (I turned off the mouse) arrows enter, but via the controller I can only scroll up and down. And for example, I can’t press a button because the joystick has a different button designation. And you CANNOT bind a joystick button to shortcuts! Do you happen to know a solution?

The Shortcut resource can have controller bindings. If you are only speaking of the editor then I’m not sure how to fix that as you mentioned it doesn’t take controller short cuts. Maybe you mean the ui_* section of inputs? Check your Input Map with built-in actions shown.


there is nothing here that is in InputMap

In your Input Map, you can change ui_* actions for your game, rather than the editor.

oh yeah yeah yeah i just saw that too bro you are the best sorry for the spelling im just using the translator but you are really good. Огромное спасибо братан!

1 Like