Hi all,
I’m looking for a some way to sort mapped device controls (imported from saved profiles) into a category tree by action, like it appears in the game’s controls config UI.
- Camera
- Cockpit Camera
- Zoom Cockpit View
- …
- Drone Camera
- Yaw Drone Right
- …
- Cockpit Camera
- Menu
- etc…
The saved profiles categorize each action within a “Context” (which is separate from those categories) but they don’t list the categories.
for example...
<Context ContextName="COCKPIT_CAMERA">
<Action ActionName="KEY_COCKPIT_HUD_VIEW_TOGGLE" Flag="2">
<Primary>
<KEY Information="Joystick Button 20">19</KEY>
</Primary>
</Action>
</Context>
<Context ContextName="COCKPIT_GLOBAL_CAMERA">
<Action ActionName="KEY_COCKPIT_FREELOOK_HRZ_SET" Flag="4">
<Primary>
<KEY Information="Joystick R-Axis X ">770</KEY>
</Primary>
</Action>
<Action ActionName="KEY_COCKPIT_FREELOOK_VRTC_SET" Flag="132">
<Primary>
<KEY Information="Joystick R-Axis Y ">786</KEY>
</Primary>
</Action>
</Context>
I managed to “scrape” the data from within a Coherent debugger session by placing breakpoints in relevant spots on the controls config page, which does get me what I’m looking for… but I was hoping for something more static.
I searched in vain for the original source of this data… is must be stored somewhere but maybe in some packed file or I just haven’t found it.
In the FS24 SDK there’s the new Input Application which in the install folder includes an action.actiondb
file…
sample content
<Actions>
<Action Name="KEY_COCKPIT_HUD_VIEW_TOGGLE">
<Context>COCKPIT_CAMERA</Context>
<Type>DIGITAL</Type>
<TT_Name>TT:INPUT.KEY_HUD_VIEW_TOGGLE</TT_Name>
<TT_Function />
<TT_Category_Main>TT:INPUT.CAT_1_CAMERA</TT_Category_Main>
<TT_Category_Sub>TT:INPUT.CAT_2_CAMERA_COCKPIT</TT_Category_Sub>
<TT_Tag />
</Action>
<Action Name="KEY_COCKPIT_FREELOOK_HRZ_SET">
<Context>COCKPIT_GLOBAL_CAMERA</Context>
<Type>AXIS</Type>
<TT_Name>TT:INPUT.KEY_COCKPIT_FREELOOK_HRZ_SET</TT_Name>
<TT_Function />
<TT_Category_Main>TT:INPUT.CAT_1_CAMERA</TT_Category_Main>
<TT_Category_Sub>TT:INPUT.CAT_2_CAMERA_COCKPIT</TT_Category_Sub>
<TT_Tag>main</TT_Tag>
</Action>
<Action Name="KEY_COCKPIT_FREELOOK_VRTC_SET">
<Context>COCKPIT_GLOBAL_CAMERA</Context>
<Type>AXIS</Type>
<TT_Name>TT:INPUT.KEY_COCKPIT_FREELOOK_VRTC_SET</TT_Name>
<TT_Function />
<TT_Category_Main>TT:INPUT.CAT_1_CAMERA</TT_Category_Main>
<TT_Category_Sub>TT:INPUT.CAT_2_CAMERA_COCKPIT</TT_Category_Sub>
<TT_Tag>main</TT_Tag>
</Action>
....
</Actions>
… which is exactly what I’m looking for. (Even better that it references translation keys, since that makes it easy to localize.)
However I’m not sure I can/should assume that
a. this mapping would also apply to FS20
b. this is a definitive list for the current sim version (will it get updated when inputs change?)
Ideally I’d like to get current data from the sim’s installed files, if it is available somewhere (and doesn’t violate any license terms).
Thanks!
-Max