Skip to content

Basic Principle behind Joypro

Holdi601 edited this page Feb 21, 2022 · 3 revisions

Every game has a certain amount of inputs. DCS has for the same action multiple Inputs across all airframes. Each Input action has an ID. JoyPro lets you create groups (called Relations) of IDs, and bind a single DirectInput Device Input to all of them. Sometimes IDs for inputs matches across airframes for what it is logically supposed to do. However there can be times, where an Input ID exist but does logically something completely different. If you create or edit a Relation, you see in the added Item list, for which aircrafts and games which ID is active. And Manipulate it there. Read more about this in the Add/Edit Relation section.

In order to offer all possible inputs in a search to create Relations, Joystick Profiler needs a source to get this Data from. However DCS nor IL2 offer a file, to directly get all Inputs from. DCS offers a way to display all Input IDs by generating HTMLs from the input configuration, where IL2 contains all of them in the Action file. Star Citizen only lists them, if you have bound anything to them. So in order to not needing to generate the data yourself, JoyPro ships with the newest Data at the point of release for the build. It can be found in JoyPro/DB. Some games also have an implicit amount of default inputs, which need to be compensated for. Otherwise if you wouldn't compensate for it, you would always have the default inputs and on top of it, the inputs you would have exported JoyPro from. This Information can be found in JoyPro/CleanProfile.

Once you have setup the Relations and made a DirectInput bind to them, and press export. JoyPro converts the Internal DataStructures to the external structures of each supported Game.