acmerobotics / ftc-dashboard

React-based web dashboard designed for FTC
https://acmerobotics.github.io/ftc-dashboard
Other
178 stars 140 forks source link

PS4 Dualshock Controller Support #42

Closed NoahBres closed 3 years ago

NoahBres commented 3 years ago

Adds PS4 Dualshock Controller support to the gamepad

NoahBres commented 3 years ago

This stretches the scope of the PR, but I now think it's nice to largely mirror the SDK's VID/PID matching logic for all gamepad types. Exceptions like the Gen 2 Dualshock be noted explicitly.

What do you have in mind? Do you mean just replacing the pattern matches for the logitech dual action and xbox 360 with PID/VID searches?

NoahBres commented 3 years ago

Totally optional, but I think a special icon for unsupported gamepads in the UI would be helpful.

You're referring to the opmode view's icons right? There's no way to tell if an unsupported gamepad is connected using the current redux middleware without further changes I believe? Since it just uses the gamepad1/2Connected boolean in the middleware state.

As an alternative, I thought it would be neat to implement toast notifications that appear in the bottom left for certain actions. Initially, I thought it would be useful for undo/redo and new gamepad connections. I think an "Unsupported gamepad" would be a nice addition to that.

rbrott commented 3 years ago

What do you have in mind? Do you mean just replacing the pattern matches for the logitech dual action and xbox 360 with PID/VID searches?

Yes, exactly.

You're referring to the opmode view's icons right? There's no way to tell if an unsupported gamepad is connected using the current redux middleware without further changes I believe? Since it just uses the gamepad1/2Connected boolean in the middleware state.

Yes, it requires some store changes.

As an alternative, I thought it would be neat to implement toast notifications that appear in the bottom left for certain actions. Initially, I thought it would be useful for undo/redo and new gamepad connections. I think an "Unsupported gamepad" would be a nice addition to that.

👍

NoahBres commented 3 years ago

What do you have in mind? Do you mean just replacing the pattern matches for the logitech dual action and xbox 360 with PID/VID searches?

Yes, exactly.

Do you have access to either the xbox 360 or the logitech controller? I currently don't have access to either (I may have access to the logitech at some point in the future but can't guarantee a time soon) so I would rather not push changes without testing.

rbrott commented 3 years ago

Do you have access to either the xbox 360 or the logitech controller?

No, unfortunately.