WhiteMagic / JoystickGremlin

A tool for configuring and managing joystick devices.
http://whitemagic.github.io/JoystickGremlin/
GNU General Public License v3.0
326 stars 46 forks source link

Idea - Buttons to control response curves on the fly. #118

Open Meekstaaa opened 6 years ago

Meekstaaa commented 6 years ago

As above really.

Reason for the idea, double clutch steering wheel paddle system (ala F1 from a few years back)

https://www.3drap.it/product/universal-magnetic-clutch-for-custom-steering-wheels/

Have both clutches linked to the same axis then assign two buttons to control where the bit point is on one of the paddles.

:)

WhiteMagic commented 6 years ago

If you want to change the response curve assigned to an axis when pressing a button then the UI has two methods to achieve this.

  1. Multiple modes
  2. Conditions

The first method would switch to a different mode, possibly via the temporary mode switch action, which inherits from the base mode and only changes has a different response curve for that particular mode. The second option would require creating several containers containing remap + response curve actions and then selecting which one of these containers is used via the condition system.

Meekstaaa commented 6 years ago

The issue with this would be you would need to fine tune the axis level on the fly and having preset conditions would be difficult to setup as the bite point would be at a different level.

WhiteMagic commented 6 years ago

Oh you want to change the shape of the curve on the fly with a "up" and "down" modification in a sense? If that's the goal then no there is no good way of doing this with the UI and I doubt there ever will be. This is something that is so much simpler to do with a custom module and also something very specific that it would be really hard to come up with a generic enough solution for this.

Depending on what you'd want the response curve to look like this can be done with existing curves or by implementing one with the shape you need. The implemented curves are bezier curves and are parameterized via control points. Changing them involves changing those points but the outcome of such a change is not a simple "lets move everything to the side" depending on the setup. The other option could be to have a standard linear curve with a changing y axis intersection if that fits the particular need.