Fix: Some joysticks return an invalid HID page of 1
authorChristopher Lees <leezer3@gmail.com>
Fri, 27 Jan 2017 15:48:32 +0000 (15:48 +0000)
committerChristopher Lees <leezer3@gmail.com>
Fri, 27 Jan 2017 15:50:46 +0000 (15:50 +0000)
src/OpenTK/Platform/Windows/WinRawJoystick.cs

index 82f13c6..ccc8242 100644 (file)
@@ -83,8 +83,13 @@ namespace OpenTK.Platform.Windows
             {
                 if (page == HIDPage.GenericDesktop || page == HIDPage.Simulation) // set axis only when HIDPage is known by HidHelper.TranslateJoystickAxis() to avoid axis0 to be overwritten by unknown HIDPage
                 {
-                    JoystickAxis axis = GetAxis(collection, page, usage);
-                    State.SetAxis(axis, value);
+                                       //Certain joysticks (Speedlink Black Widow, PS3 pad connected via USB)
+                                       //return an invalid HID page of 1, so 
+                    if ((int)usage != 1)
+                    {
+                        JoystickAxis axis = GetAxis(collection, page, usage);
+                        State.SetAxis(axis, value);
+                    }
                 }
             }