WhiteMagic / JoystickGremlin

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

Internal input system #484

Closed WhiteMagic closed 9 months ago

WhiteMagic commented 1 year ago

In order to support actions with multiple inputs and outputs that can be manipulated, a system that allows intermediary outputs to be stored is needed. An example of this would be the merge axis action. This action requires two inputs and produces a single output. While it is possible to assign response curves or similar to the output doing this to the inputs would be impossible. As such, the inputs need to be modified before being used in the merge action.

For this to work in the reactive model used by Gremlin, inputs that can be treated as input as well as output are needed. As such, a system that allows creating of internal inputs, representing physical joystick inputs, is needed. These inputs can be used as output but also act as inputs, i.e. triggering actions assigned to them.

WhiteMagic commented 11 months ago

Management UI for the intermediate output system implemented. It now seamlessly integrates with other actions as it is treated like a real device that will react to input events. The only thing left to do is an action that allows the remapping of physical inputs to the intermediate output inputs.