JoyShockMapper icon indicating copy to clipboard operation
JoyShockMapper copied to clipboard

[Feature Request] Flydigi controllers gyro support

Open eVenent opened this issue 3 years ago • 6 comments

Flydigi is releasing Android/PC controllers with gyro controls. Maybe it will be worth someday to add their support to JoyShockMapper. I have found that these controllers have gyro support on Android:

  • Flydigi Vader 2
  • Flydigi Wee2T
  • Flydigi Apex
  • Flydigi Apex

Thanks. It would be nice to have more smaller gamepad releasing companies interested in motion controls.

eVenent avatar Jan 14 '22 14:01 eVenent

Up. I have a Flydigi Apex 2 and would very happy with this support.

Wolfbladelc avatar Jan 20 '22 01:01 Wolfbladelc

While JSM detecting and using the Apex' mouse output would be nice, what's keeping it from helping me is the program not detecting all of the extra buttons. That leaves a lot of the controller's strengths unused. The reason for this is, as far as I can tell from the README, JoyShockMapper aiming to support "most modern controllers", and that means following the Xinput protocol that is hard capped at 10 buttons.

Still, JSM does seem to make special cases for Microsoft's own elite paddles and Nintendo's inner Joycon buttons, so maybe there's a possibility after all.

I'm guessing this is a limitation of SDL2?

zeddidragon avatar Jan 30 '22 17:01 zeddidragon

It's not entirely true that controllers with extra buttons won't be supported. Look at the Playstation's trackpad click; that's at least two extra buttons. And the Joycons have SL and SR buttons in addition that are recognized. Xinput protocol has nothing to do with the controllers the program will support, because the output was never Xinput in the first place.

DamianS-eng avatar Mar 02 '22 18:03 DamianS-eng

I see that reWASD have been added good support for these controllers including gyro and XYB wheel as third joystick. Maybe it will be worth to check how they did it.

eVenent avatar Mar 02 '22 23:03 eVenent

It's not entirely true that controllers with extra buttons won't be supported.

All I can tell you is that when I start up JoyShockMapper it won't detect any of my extra buttons. To my understanding, additional inputs like trackpads, gyro, and extra buttons on joycons/xbox elite is something that was put into SDL2 through specific exceptions on account of these controllers having a huge market share. Some of those additions were done specifically by JSM devs.

Now this is on Linux. I haven't tested the controller with JSM on Windows.

The reason I bring up Xinput is this phrasing from the README:

Most modern controllers will be suported, including all Xbox, Playstation and Switch controllers,

Why only modern controllers? I can only assume because the Xinput protocol is used to read the input. If there's a different reason why I can't use all of my buttons with this program I'd be interested in corrections.

zeddidragon avatar Mar 03 '22 05:03 zeddidragon

While JSM detecting and using the Apex' mouse output would be nice, what's keeping it from helping me is the program not detecting all of the extra buttons. That leaves a lot of the controller's strengths unused. The reason for this is, as far as I can tell from the README, JoyShockMapper aiming to support "most modern controllers", and that means following the Xinput protocol that is hard capped at 10 buttons.

Still, JSM does seem to make special cases for Microsoft's own elite paddles and Nintendo's inner Joycon buttons, so maybe there's a possibility after all.

I'm guessing this is a limitation of SDL2?

I believe that XInput was superseded and we are now currently on "Windows Gaming Input", or "GameInput" as the standard API for gaming peripherals in Windows. This has support for all the extra features on the newer controllers and likely more.

GameInput

80T avatar Sep 10 '23 02:09 80T