Programming Thrustmaster T.16000M on Windows

Not really a gamer except for flight sim, but want to understand nuances of getting controllers setup properly on Kodi 21 for skinning.  I have a bunch of flight sim controllers on my simming system, AFAIK intended to use DirectInput.  I think the T.16000M is most appropriate for use in Kodi, but I have a hard time figuring out how.  IIUC I need to create a addon for it with a layout.xml, but not sure how the layout should be defined.  It looks like “category” is arbitrary?   Do the categories need to be associated with some sort of virtual controller layout?  Nothing on the controller really maps to an idea of “face”, “shoulder” etc.

Then I guess the “feature” type is pre-defined.  This controller has 16 (0-15) buttons on/off and I think DirectInput might also have button-down button-up events?  Also 4 (0-3) axis that AFAIK output integers 0-1023.  I guess axis 0 and 1 (known in DirectInput as x-y) are considered an “analog joystick”?  And then an 8-way POV “hat” which I think is implemented as 8 buttons (32-39).

Is the “name” given to these arbitrary?

This is what it looks like in windows game controllers:


scott s.