Right, I know this has come up before, lots, and never been resolved, but this time I intend to do something about it
as it stands, Axis.Identifier is abused left right and centre. The API docs are fairly clear that it should be used as a type identifier, but that doesnât say what the types are. e.g. there are types for different axis, like a rudder or a throttle, but there are not types for different buttons, âAâ, âZâ, âctrlâ etc. I have a couple of suggestions.
-
Restrict that Axis.Identifier statics to genuine type, so Button, or Axis. I hate this one, but itâs an option.
-
Use the current standard defined types, and just fix the usage of them in the plugins.
-
Update the types and add ButtonX and ButtonY type identifiers.
-
make Axis.Identifier.Button.X type structures where Axis.Identifier.Button extends Axis.Identifier and Axis.Identifier.Button.X extends Axis.Identifier.Button, this way you can have as narrow or wide a type search as you like. This would mean moving the existing types around so that there is an Axis.Identifier.Axis.X etc.
-
Just have one huge long list of them, extending the current list to include all the button names etc.
-
Modify Axis.Identifier, so that it includes a Type field, the type is one of Axis, Button or a few others we think of, and the Axis.Identifier is one of a huge list containing all the new types for buttons etc.
I just want to see what the consensus is amongs both jinput devs and API users.
Cheers
Endolf