Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XInputNative axes don't near-match default Win10 behavior (sans triggers) #10

Closed
BinToss opened this issue Mar 8, 2021 · 3 comments
Closed
Labels

Comments

@BinToss
Copy link

BinToss commented Mar 8, 2021

Solution: Dedicate Axis 5 to Left Trigger and Axis 6 to Right Trigger.

With an Xbox One controller, the controls in the following screenshot would normally be...

  • Axis 1-
  • Axis 1+
  • Axis 2-
  • Axis 2+
  • Axis 3-
  • Axis 3+
  • Axis 4-
  • Axis 4+

With Axis 5 being shared by the triggers.
haloce 2021-03-07 21-49-35

Here's two examples of how Xbox 360/One controllers normally map
https://github.com/SnowyMouse/chimera/blob/master/controller_config/windows/xbox_360.txt
https://github.com/SnowyMouse/chimera/blob/master/controller_config/windows/xbox_one.txt

@BinToss BinToss changed the title Some Axes are swapped in XInputNative compared to default Win10 behavior XInputNative axes don't near-match default Win10 behavior (sans triggers) Mar 8, 2021
@BinToss
Copy link
Author

BinToss commented Mar 21, 2021

It's also possible that the classic PC ports of Halo:CE were made with a very different understanding of DirectInput seeing as the Axes are unnamed and buttons start at 0 instead of 1.

@samuelgr
Copy link
Owner

samuelgr commented May 12, 2021

I am not sure how this particular game (shown in the screenshot) is interpreting axis numbers, but my guess it gets them as the values Xidi uses internally for their array positions. Internally Xidi just numbers them in the order X, Y, Z, RotX, RotY, and RotZ.

Is there a particular reason why the specific axis number matters? As far as Xidi is concerned, making this change is just a matter of swapping the order of a few constant values.

@samuelgr samuelgr reopened this May 12, 2021
@samuelgr
Copy link
Owner

Closing because the axes have been numbered this way for several years now and I haven't heard of any applications breaking because the internal axis numbering is different.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants