Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The steam deck's built in controller is detected but doesn't work with the app #7

Open
zylonity opened this issue Jul 23, 2024 · 12 comments

Comments

@zylonity
Copy link

Like the title says, I'm trying to set terraria up on my steam deck, but the app doesn't let me join with the steam deck's controller, log detects it but says it doesn't look like a controller. An external PS5 controller works though

I also can't get terraria to open, I'm not sure if that's a separate issue, the windows open but nothing shows up in them

First I used release 0.3.0 with the controller zip file you posted in another issue and then I used release 0.4.0 last night

@Tau5
Copy link
Owner

Tau5 commented Jul 23, 2024

Try closing steam and/or disabling steam input

@zylonity
Copy link
Author

I'll give it a go, one sec

@zylonity
Copy link
Author

Yeah doesn't work, I can't disable steam input since it's the deck's own controller, and closing steam does nothing

From what I can see, it can't open the valve controller events without sudo, but then it gives me the "This device does not look like a gamepad"

It doesn't help that I can't run it with sudo and without steam open as I need the on screen keyboard to type the command/password

@zylonity
Copy link
Author

The original repo does detect the controllers, but doesn't open up terraria for me and bugs the hell out my deck lol

@Tau5
Copy link
Owner

Tau5 commented Jul 23, 2024

I'll try to look into it later, I had only tested on deck with external controllers and not trying to use the internal controller

@zylonity
Copy link
Author

Cool thank you :) Do you happen to know what I could try to get terraria to open in the meanwhile? When I start it (admittedly only using one external remote) I get a blank screen and the game doesn't seem to open

@Tau5
Copy link
Owner

Tau5 commented Aug 2, 2024

Hi! I've made a new release and it should fix this issue, could you check it?

@zylonity
Copy link
Author

zylonity commented Aug 2, 2024

Works perfectly thank you 😄

@zylonity zylonity closed this as completed Aug 2, 2024
@zylonity
Copy link
Author

zylonity commented Aug 2, 2024

Wait, shit, sorry, I know I closed the issue, but now even though the controller is detected, when the game's open the external controller controls both screens/sides. More details/testing here, the steam deck's controller is detected by the controller selector in all scenarios:

If I make the profile with one window, 2 sides:

  • I HAVE to add the game as a non steam game, and open it from game mode for both sides to open with a game. But then the steam deck's controller doesn't work, and the external controller controls/sends input to both sides.
  • If I add it as a non steam game, and then open it from the steam client from desktop mode, only one side opens, the other side is gray
  • If I don't add it as a non steam game, and open the file directly, nothing opens apart from a gray window

If I make the profille with 2 windows:

  • I get an error that the window I'm trying to make is too big (I fixed the script, made/making a pull request)
  • I can open the profile directly from desktop mode, I then move the windows to each side, but then the steam deck controller ONLY sends input to the first window, and the external controller sends input to both screens. If I then close the windows, terraria still runs in the background (can hear both copies) and trying to end the game through steam doesn't work. I have to restart.
  • Adding it as a non steam game and running it from dekstop mode causes similar issues as above, can't hear the copies but can't stop terraria from running
  • If I open the profile from game mode as a non steam game, my steam deck bugs the hell out lol, I think steam re opens, couldn't tell you what's going on. I will say however, because both windows open in the centre of the screen, you'd only be able to see one anyways from within game mode, since you can't change the position of the windows.

Thank you so much for making the script, admittedly I don't think I'll need it for a while but I'm down to help/test where I can

@zylonity zylonity reopened this Aug 2, 2024
@Tau5
Copy link
Owner

Tau5 commented Aug 2, 2024

Hi, thank you so much for the detailed report!

Can you test opening though game mode (2 sides) but disabling steam input for the shortcut? (It won't allow you to disable it for the steam deck gamepad - that's normal. But it will allow you to disable steam input for the external gamepads)

Could you also tell me the output when you run the shortcut and what it writes to controllers.rc ?

Thanks

@zylonity
Copy link
Author

zylonity commented Aug 2, 2024

Hey, opening the game with disabled steam input does the same thing, it makes no difference wether it's enabled or disabled :P

Here's the controllers.rc content:

export CONTROLLERS_NUM=2
function load_controller_firejail_args_array() {
    controller_firejail_args[0]="--blacklist=/dev/input/event8 --blacklist=/dev/input/js0 --blacklist=/dev/input/event19 --blacklist=/dev/input/js3 "
    controller_firejail_args[1]="--blacklist=/dev/input/event16 --blacklist=/dev/input/js1 --blacklist=/dev/input/event19 --blacklist=/dev/input/js3 "
}
export -f load_controller_firejail_args_array

@Tau5
Copy link
Owner

Tau5 commented Aug 3, 2024

I've tested only on desktop mode but I think this should work (If you disable steam input for other controllers)
Replace the appimage in controller-selector for this one, rename it to controller-selector
controller-selector.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants