That sounds like exactly what's happening. If the Steam Controller isn't sending device connect/disconnect message through Windows, Rewired won't know it's disconnected. Incidentally, I'm pretty sure this was caused by a recent Windows Update because I have been using Windows 10 since I added support for the Xbox One gamepad including the Windows 10+ definition and this never happened before.Ĭlick to expand.Thanks for the explanations. That last option is to wait for MS to fix their driver. In that situation, there is no choice but to use Direct Input instead, which has quite a number of other drawbacks vs Raw Input. It's an MS driver problem with no workaround. Nevermind.īut if your game requires that you disable XInput so you can have more than 4 controllers, Raw Input will crash if you are using Windows 10 + Xbox One gamepad and unplug it. (It's also possible some other non-XInput gamepads would stop working but I'll have to test all my controllers again and see.) EDIT: It does break support for quite a number of gamepads. I will disable Raw Input support for XInput gamepads, but only if XInput is enabled. BUT, I did just think of a likely acceptable compromise. So there's nothing I can do to prevent this if you want to support XInput devices without XInput. I am continuing to try everything I can think of to somehow workaround this, but it's not looking for confirmation I tested a C++ Raw Input tester project I got off of Code Project just to make sure C# interop wasn't an issue and it produced the exact same crash behavior. This is a terrible option because one of the most important features about using Raw Input vs XInput is the removal of the 4 device limit (even at the loss of the vibration, separate triggers, and universal XI device identification). The exact same behavior occurs when the Xbox One controller is removed.Īt this point, there's only one possible way to prevent this:ĭo not allow handling any XInput devices through Raw Input and only use XInput. To do detailed testing and attempt (so far completely unsuccessfully) to find a workaround, I have created a super basic Windows Form Application with nothing but a few Raw Input calls so as to eliminate Unity and Mono entirely from the equation. There is no error in Rewired causing this. After calling this, once the device is removed, Windows Desktop Manager goes into an infinite loop, and the system grinds to a halt. I have isolated the problem to one of the most basic Windows Raw Input functions which is not optional. There appears to be a major bug in the Xbox One Controller driver on Windows 10. That's fixed and its still happening.Ĭlick to expand.I spent all of today working on this and it boils down to this: Incidentally, this is unrelated to the exception. It's possible a Windows update may have changed something. The Xbox One controller was tested many times in Windows 10 before, so something has changed since then. It seems to me that it may be related to simply polling XInput at the time the controller is removed. I'm going to do a bunch of testing to see if I can rule out Rewired as the cause. (It feels like the USB bus is being clogged with too much data or something.) Then Unity locks and eventually the mouse pointer will start moving around at a super low frame rate. It happens at times upon plugin as well and the controller won't respond. There is definitely something happening within Windows to cause this. With the XBone, it indeed does very much like you describe, essentially making the mouse completely unusable and requiring a system restart. Previously I was testing with an Xbox 360 controller and a clone. Been able to reproduce this using the Xbox One controller.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |