I've got Windows 10 Creators Update and am writing a UWP C++ app. I've tried with both C++/WinRT and C++/WRL and it seems that Windows.Gaming.Input.Gamepads just refuses to see my wired XBOX 360 controller and my Logitech XBOX 360 style gaming controller. Both are old, but they do show up in device manager as XBOX 360 controllers, and both work with other games. I've XInput, but XInput could only see the Logitech, and not the Microsoft controller. I would have thought the newer API would have picked them up. But here's the crazy part. Both controllers work fine in Microsoft.Minecraft, which is a Windows store application, so, by the store rules, I thought only XInput and Windows.Gaming.Input.Gamepads was supported. So the question is, really, what API could they be using, that recognizes both joysticks, and why wouldn't Microsoft Windows.Gaming.Input work with a Microsoft joystick?
Asked
Active
Viewed 890 times
0
-
You question might be better suited for Superuser, Gaming or some other Stackexchange site. – Ron Aug 16 '17 at 13:41
-
Can you show some code that doesn't work? – Sunius Aug 17 '17 at 03:15
-
auto pads = Gamepad.Gamepads(); auto sz = pads.Size(); – TJ Bandrowsky Aug 18 '17 at 01:48
-
2I actually figured out the answer to this: Gamepad.Gamepads collection isn't necessarily populated instantly at application startup up. You must wire up handlers to the Gamepad added and removed events, and then, it will work. – TJ Bandrowsky Sep 19 '17 at 20:12
-
1even the handlers don't work sometimes - terrible design. – Gavin Williams Jul 25 '22 at 06:16