fossephate / JoyCon-Driver

A vJoy feeder for the Nintendo Switch JoyCons and Pro Controller
https://fosse.co/latest.zip
MIT License
1.07k stars 196 forks source link

Make Dolphin Mode account for the full range of the controller #128

Open s5bug opened 5 years ago

s5bug commented 5 years ago

As of now, gyro sensitivity is clamped to too small of a range.

In dolphin mode, the gyro axes should go from -1.0, when the controller is upside down, to 0.0, when the controller is right side up, to 1.0 again, when the controller is upside down. They should be able to loop from 1.0 to -1.0 or vice versa when the controller moves between slightly-left and slightly-right positions.

As of now, they don't do this: the range is very hard to get right in the sensitivity numbers (8 is about 4 times too small but 16 is about 2 times too big) and instead of looping, they max out and treat any further movements as the new upper-bound. This causes the center calibration to move, which is a big problem.

The gyro view shows that it's already possible to get the absolute values of the JoyCon's rotations, if I'm correct.

This will allow for incredibly better control in Dolphin and proper control in games like Marble Saga.

As of now, using the gyro properly in Dolphin (as well as making it a usable IR pointer) is next to impossible. If I can, I'll record footage later of how hard it is.

s5bug commented 5 years ago

Footage

I have Zr as Roll, s0 as Pitch, s1 as Yaw. Sensitivity in this video is 16.