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

Teensyduino joystick support #4677

Open
2 tasks done
sfjuocekr opened this issue Mar 18, 2021 · 5 comments
Open
2 tasks done

Teensyduino joystick support #4677

sfjuocekr opened this issue Mar 18, 2021 · 5 comments

Comments

@sfjuocekr
Copy link

Feature Request

Generic controllers (like the Teensyduino Joystick) are not registering in Proton, they do work if I enable Steam input but then suffer from major dead zone issues not really favorable in simulations.

I confirm:

  • that I haven't found another request for this feature.
  • that I have checked whether there are updates for my system available that
    contain this feature already.

Description

I would like to see generic joystick support, if you own a Teensy you can check my git repos for the SBUS joystick and test with that.

Justification [optional]

It is game related, for example the game Skater XL has a mod to fly a quadcopter and I would like to use my transmitter as a joystick. My XboxOne controllers work no problem, only the generic and DIY joysticks register zero inputs.

GTA V has a similar mod, I could get that to work with some trickery but also stumbled on the dead zone issues.

@kisak-valve kisak-valve changed the title Generic joystick support Teensyduino joystick support Mar 18, 2021
@kisak-valve
Copy link
Member

kisak-valve commented Mar 18, 2021

Hello @sfjuocekr, I don't think we can entertain a wildcard generic joystick feature request, but we can use this issue report to track the specific issue you're having with Teensyduino. (I could be wrong on this, we'd need to hear from a Proton dev.)

Your deadzone issue might be related to #4066 / ValveSoftware/wine#94 (comment).

@sfjuocekr
Copy link
Author

I forgot to add that if I goto the joystick control panel when I use proton run control it does show me correct input.

It is just that when I'm in-game the game never registers any inputs, but it does rehister that the joystick is connected.

I also tried changing the device descriptor from joystick to gamepad, but that does not make any difference either.

@sfjuocekr
Copy link
Author

The dead zone might indeed be from SDL2, if that is what SteamInput uses it makes sense as I have it nowhere else!

@aeikum
Copy link
Collaborator

aeikum commented Mar 22, 2021

It's likely this is the correct behavior. Proton supports generic controllers very similarly to how Windows does. There are outstanding bugs, and you may have hit a corner case, but it's most likely that the game doesn't support your controller on Windows either. Some games just choose to support only Xbox controllers, or some other small subset of controllers.

That's what the Steam controller mapping feature is for. Effectively it turns your generic controller into an Xbox controller, which the vast majority of games do support.

Googling for "Skater XL controllers" shows this is likely what's happening:

https://gamertagzero.com/skater-xl-how-to-use-controller-on-steam/

https://www.guideoui.com/skater-xl-how-to-use-dualshock-4-ps4-controller/

The game only supports Xbox controllers, so you have to use Steam's controller emulation support in order to use non-Xbox controllers for this game. It's the same on Linux as on Windows.

@sfjuocekr
Copy link
Author

My botched together joystick works fine on Windows with the same game.

The thing is on WINE it is apparently using DINPUT instead of XINPUT , I can get it to work more or less with dumbxinput.

My Xbox controller works fine, I'm using the SyncFPV Quadmod which should just pickup any XINPUT controllers. For example the same behavior is true for GTA and the DRL Simulator (which also refuses to work with dumbxinput, but that is related to the input library they use).

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

3 participants