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

Proper Xinput support. #1

Closed
BParks21 opened this issue Oct 7, 2015 · 16 comments
Closed

Proper Xinput support. #1

BParks21 opened this issue Oct 7, 2015 · 16 comments
Assignees
Labels

Comments

@BParks21
Copy link

BParks21 commented Oct 7, 2015

Would help for Xbox one controller users running Windows 10 as the driver for it is bugged when using dinput. For some reason the drivers for the controller are different in 10 compared to 8 and using 8's driver fixes the issue but causes others elsewhere. More of a request i suppose. Thanks!

@punesemu punesemu self-assigned this Oct 7, 2015
@punesemu punesemu added the bug label Oct 7, 2015
@punesemu
Copy link
Owner

punesemu commented Oct 7, 2015

The problem is that I don't have a Xbox one controller with which to do testing. I'll have to find a way to get it.

@punesemu punesemu closed this as completed Oct 7, 2015
@punesemu punesemu reopened this Oct 7, 2015
@BParks21
Copy link
Author

BParks21 commented Oct 7, 2015

@punesemu I'd be willing to donate to get it implemented.

@punesemu
Copy link
Owner

punesemu commented Oct 7, 2015

Many thanks @wizlizard, a help would be really appreciated.

@BParks21
Copy link
Author

BParks21 commented Oct 8, 2015

@punesemu Ok i'll donate as soon as i can. Also i see that you labeled this issue as a bug, but i believe it is Widows 10 causing the bug and not the emu itself. I say this because other emus and even steam games with dinput are exhibiting this issue. Not sure if that matters when coming to the decision of lableing an issue.

@BParks21 BParks21 closed this as completed Oct 8, 2015
@BParks21 BParks21 reopened this Oct 8, 2015
@BParks21
Copy link
Author

BParks21 commented Oct 8, 2015

Sorry accidentally closed the issue.

@punesemu
Copy link
Owner

punesemu commented Oct 8, 2015

After looking on google, I found that many people are having problems with the xbox one controller and windows 10. So you're probably right, it's not a bug emulator. I found this possible solution on the steam forum, try to look at the first post.

http://steamcommunity.com/app/274190/discussions/0/535152276584863931

@BParks21
Copy link
Author

BParks21 commented Oct 8, 2015

@punesemu Thats funny I've already read that. My Windows 10 installation was a clean one, not an upgrade. The driver from windows 8 (Microsoft Xbox One controller) is only carried over from upgrading. Also like i said in my first post using it fixes the dinput but breaks other things. Windows 10 uses another driver by default but i don't remember the exact name of it and im not able to access my pc atm but will list the name when i can. So i think xinput support is a good idea for the emulator because many people likely use the xbox one controller running windows 10.

@BParks21
Copy link
Author

BParks21 commented Oct 8, 2015

I can confirm that the driver that comes with Windows 10 is just called Xbox controller. Xbox Gaming, Device Version 10.x, Xbox Gaming Device Version 6.2.x and Microsoft Xbox One controller are drivers that come from previous installations of Windows and carried over through the upgrade. Here's a screenshot from my clean Windows 10 installation.

screenshot 1

@punesemu
Copy link
Owner

punesemu commented Oct 8, 2015

Ok, so I'll necessarily get an Xbox one controller.

@BParks21
Copy link
Author

BParks21 commented Oct 9, 2015

@punesemu I've been using 0.98. What changes have you made to these provided?
Edit: 0.98 d3d.

@punesemu
Copy link
Owner

This 2e2c67c
I don't know if a bug or to increase the sensitivity of the axes Z and R, the new driver instead of returning the value 0x7FFF (JOY_RETURNCENTERED), for these two axes it returns 0 when not in use, which is not standard. I have implemented this type of management if emulator run in Windows 10 and use the driver of Xbox one controller.

@BParks21
Copy link
Author

Interesting, ok i'll test it when i get the chance.

@BParks21
Copy link
Author

@punesemu Fixed! Just curious though are you still willing to add actual xinput support?
Edit: I just want to add that I've found a way around the issue in 0.98. If i configure the 360 controller for pad 1 then unplug the 360 controller and plug in the Xbox one controller it will work. However if i reset the controls and try to configure them with the Xbox one controller it just won't work. Like i said though your fix in the builds provided works for configuring the Xbox one controller. Thanks for the hard work!

@punesemu
Copy link
Owner

Not for now, what is implemented works well (as long as Microsoft does not go against his own rules, as in this case). There are other things I want to implement first. Thanks for the support. :)

@jcdenton2k
Copy link

As of Nov 2016 v1.01 WIP build, on Windows 7 the Xinput controllers are easily detected with all full axis and button layouts in the proper order.

punesemu added a commit that referenced this issue Sep 27, 2023
Unified CPU data in a single structure.
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

3 participants