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

duplicate entries for 8bitdo ultimate bluetooth controller on windows #11849

Open
briaguya-ai opened this issue Jan 4, 2025 · 9 comments
Open
Assignees
Labels
waiting Waiting on user response
Milestone

Comments

@briaguya-ai
Copy link

controller in question: https://www.8bitdo.com/ultimate-bluetooth-controller/ using firmware 8BitDo Ultimate BT V1.10

to consistently reproduce this issue i have

  • left the 2.4ghz dongle unplugged
  • connected the ultimate controller via bluetooth after starting an SDL application
  • plugged the controller in via usb with the switch still in bluetooth mode
  • flipped the switch to 2.4ghz mode (while the controller is still connected via usb)
  • flipped the switch back to bluetooth (while the controller is still connected via usb)

an example of how this appears in an application:
yup

following these exact repro steps i have not been able to reproduce the issue on linux, so i searched for windows duplicate controller issues and found #7948

i tried setting SDL_SetHintWithPriority(SDL_HINT_JOYSTICK_WGI, "0", SDL_HINT_DEFAULT) (and SDL_SetHint(SDL_HINT_JOYSTICK_WGI, "0") but that did not resolve the issue. i then built the test program from #7948 (comment) against https://github.com/libsdl-org/SDL/releases/download/release-2.30.11/SDL2-devel-2.30.11-VC.zip and followed the listed repro steps and got the following output:

attempt 1 (no hints)

Joystick added [index 0] @ 9296
Joystick opened
  Instance ID: 0
  Name: Nintendo Switch Pro Controller
  Path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002057e_pid&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300b7e67e0500000920000000006803

Joystick added [index 1] @ 14266
Joystick opened
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick removed @ 14300
Joystick closed
  Instance ID: 0
  Name: Nintendo Switch Pro Controller
  Path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002057e_pid&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300b7e67e0500000920000000006803

Joystick removed @ 18110
Joystick closed
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 19060
Joystick opened
  Instance ID: 2
  Name: Xbox 360 Controller for Windows
  Path: (null)
  GUID: 0300a408c82d00000631000000007701

Joystick removed @ 19061
Joystick closed
  Instance ID: 2
  Name: Xbox 360 Controller for Windows
  Path: (null)
  GUID: 0300a408c82d00000631000000007701

Joystick removed @ 24214
Unknown joystick instance id removed: 3

attempt 2 (no hints)

Joystick added [index 0] @ 7920
Joystick opened
  Instance ID: 0
  Name: Nintendo Switch Pro Controller
  Path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002057e_pid&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300b7e67e0500000920000000006803

Joystick added [index 1] @ 14043
Joystick opened
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick removed @ 14058
Joystick closed
  Instance ID: 0
  Name: Nintendo Switch Pro Controller
  Path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002057e_pid&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300b7e67e0500000920000000006803

Joystick removed @ 17665
Joystick closed
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 18623
Joystick opened
  Instance ID: 2
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick removed @ 23241
Joystick closed
  Instance ID: 2
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 24183
Joystick opened
  Instance ID: 3
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 27212
Joystick opened
  Instance ID: -1
  Name: (null)
  Path: (null)
  GUID: 00000000000000000000000000000000
Duplicate joystick instance id: -1

attempt 3 (SDL_SetHint(SDL_HINT_JOYSTICK_WGI, "0")

Joystick added [index 0] @ 9690
Joystick opened
  Instance ID: 0
  Name: Nintendo Switch Pro Controller
  Path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002057e_pid&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300b7e67e0500000920000000006803

Joystick added [index 1] @ 14383
Joystick opened
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick removed @ 14435
Joystick closed
  Instance ID: 0
  Name: Nintendo Switch Pro Controller
  Path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002057e_pid&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300b7e67e0500000920000000006803

Joystick removed @ 17824
Joystick closed
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 18774
Joystick opened
  Instance ID: 2
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick removed @ 23040
Joystick closed
  Instance ID: 2
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 23999
Joystick opened
  Instance ID: 3
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 28282
Joystick opened
  Instance ID: -1
  Name: (null)
  Path: (null)
  GUID: 00000000000000000000000000000000
Duplicate joystick instance id: -1

attempt 4 (hints turning off everything except rawinput) - first joy add happened with USB despite bluetooth connection

Joystick added [index 0] @ 22034
Joystick opened
  Instance ID: 0
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick removed @ 27667
Joystick closed
  Instance ID: 0
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 28618
Joystick opened
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick removed @ 33875
Joystick closed
  Instance ID: 1
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200

Joystick added [index 0] @ 34818
Joystick opened
  Instance ID: 2
  Name: (8BitDo Ultimate Controller)
  Path: \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  GUID: 0300bfb1c82d00000631000000007200
@slouken slouken added this to the 3.2.0 milestone Jan 4, 2025
@slouken slouken self-assigned this Jan 4, 2025
@slouken
Copy link
Collaborator

slouken commented Jan 4, 2025

Are you able to reproduce this with testcontroller using the latest code in main?

@briaguya-ai
Copy link
Author

here's the output i get from following the same repro steps in testcontroller on latest main

Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-a5-bc-6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Opened gamepad Nintendo Switch Pro Controller, guid 0500b7e67e0500000920000000006803, \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Has player LED
Rumble supported
Player index: 0
Enabling accelerometer at 200.00 Hz
Enabling gyro at 200.00 Hz
Mapping: 0500b7e67e0500000920000000006803,*,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,misc1:b11,crc:e6b7,platform:Windows,
'testcontroller.exe' (Win32): Loaded 'C:\Windows\System32\deviceaccess.dll'. Symbol loading disabled by Include/Exclude setting.
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Removing HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-a5-bc-6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e417d8a5bc6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (7)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (8)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (9)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (10)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (11)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (12)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (13)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (14)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (15)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (16)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (17)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (18)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (19)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (20)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (21)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (22)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (23)

@slouken
Copy link
Collaborator

slouken commented Jan 12, 2025

So I got this controller and I'm not seeing the same results.

I added a log message when the controller is connected and disconnected:

diff --git a/test/testcontroller.c b/test/testcontroller.c
index d7fb62c3d..bc228166c 100644
--- a/test/testcontroller.c
+++ b/test/testcontroller.c
@@ -1019,6 +1019,7 @@ static void HandleGamepadAdded(SDL_JoystickID id, bool verbose)
     if (i < 0) {
         return;
     }
+    SDL_Log("Gamepad %u added\n", id);

     SDL_assert(!controllers[i].gamepad);
     controllers[i].gamepad = SDL_OpenGamepad(id);
@@ -1090,6 +1091,7 @@ static void HandleGamepadRemoved(SDL_JoystickID id)
     if (i < 0) {
         return;
     }
+    SDL_Log("Gamepad %u removed\n", id);

     if (controllers[i].mapping) {
         SDL_free(controllers[i].mapping);

I start with the controller unplugged and the dongle unplugged. Then I connect via Bluetooth:

Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Gamepad 3 added
Opened gamepad Nintendo Switch Pro Controller, guid 0500b7e67e0500000920000000006803, \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Has player LED
Rumble supported
Player index: 0
Enabling accelerometer at 200.00 Hz
Enabling gyro at 200.00 Hz
Mapping: 0500b7e67e0500000920000000006803,*,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,misc1:b11,crc:e6b7,platform:Windows,

Then I plug in via USB cable:

Removing HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Gamepad 4 added
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#9&2b57f1d6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Gamepad 3 removed

Then I plug in the dongle and flip the switch to 2.4, while still plugged in via USB:

Gamepad 5 added
Opened gamepad (Ultimate Wireless Controller), guid 0300f53ec82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#9&2c27503c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300f53ec82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:3ef5,platform:Windows,
Gamepad 6 added
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_01#9&2c6cc78f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Gamepad 5 removed

Note that two raw input devices were added here, but then one is removed. My theory is that the controller resets and has a temporary connection via both USB and 2.4 GHz dongle until it settles on one interface. The final result is as expected though.

Interestingly, gamepad 4 was never removed.

Now flipping the switch back to Bluetooth while still connected via USB cable:

Gamepad 6 removed
Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Gamepad 7 added
Opened gamepad Nintendo Switch Pro Controller, guid 0500b7e67e0500000920000000006803, \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Has player LED
Rumble supported
Player index: 0
Enabling accelerometer at 200.00 Hz
Enabling gyro at 200.00 Hz
Mapping: 0500b7e67e0500000920000000006803,*,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,misc1:b11,crc:e6b7,platform:Windows,
Removing HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Gamepad 8 added
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#9&2b57f1d6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Gamepad 7 removed

In this case the Bluetooth controller showed up briefly and then was removed in favor of the USB connection. In my case SDL was able to open the controller and get device settings before it went away, but I could see the timing working out in your case so that it fails the read.

So it looks like the only unexpected behavior here is gamepad 4 not going away. I'll investigate that.

@slouken
Copy link
Collaborator

slouken commented Jan 12, 2025

I turned on DEBUG_RAWINPUT and wasn't able to reproduce it. Maybe I just missed the log message in my output above?

Here's the raw input debug patch:

diff --git a/src/joystick/windows/SDL_rawinputjoystick.c b/src/joystick/windows/SDL_rawinputjoystick.c
index 5ef4a3021..96921aff2 100644
--- a/src/joystick/windows/SDL_rawinputjoystick.c
+++ b/src/joystick/windows/SDL_rawinputjoystick.c
@@ -74,7 +74,7 @@ typedef struct WindowsGamingInputGamepadState WindowsGamingInputGamepadState;
 #endif
 #endif

-#if 0
+#if 1
 #define DEBUG_RAWINPUT
 #endif

Here's the relevant logging for that sequence:

Removing RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0000000001330E21
Gamepad 4 removed
Adding RAWINPUT device '(Ultimate Wireless Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x015d0d53
Gamepad 5 added
Opened gamepad (Ultimate Wireless Controller), guid 0300f53ec82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#9&2c27503c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300f53ec82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:3ef5,platform:Windows,
Correlated joystick 5 to WindowsGamingInput device #-1603753168
Correlated joystick 5 to XInput device #0
Adding RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x03e308db
Gamepad 6 added
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_01#9&2c6cc78f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Correlated joystick 6 to WindowsGamingInput device #-1603748176
Correlated joystick 6 to XInput device #1
Removing RAWINPUT device '(Ultimate Wireless Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 00000000015D0D53
Gamepad 5 removed

@slouken
Copy link
Collaborator

slouken commented Jan 12, 2025

This is all with the shipping firmware v1.09. If I update to v1.10, I get the following sequence:

I start with the controller unplugged and the dongle unplugged. Then I connect via Bluetooth:

Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Gamepad 3 added
Opened gamepad Nintendo Switch Pro Controller, guid 0500b7e67e0500000920000000006803, \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Has player LED
Rumble supported
Player index: 0
Enabling accelerometer at 200.00 Hz
Enabling gyro at 200.00 Hz
Mapping: 0500b7e67e0500000920000000006803,*,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,misc1:b11,crc:e6b7,platform:Windows,

Then I plug in via USB cable:

Adding RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x02b80d87
Removing HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
'testcontroller.exe' (Win32): Loaded 'C:\Windows\System32\deviceaccess.dll'. Symbol loading disabled by Include/Exclude setting.
Gamepad 4 added
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#9&2b57f1d6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Gamepad 3 removed
Correlated joystick 4 to XInput device #0
Correlated joystick 4 to WindowsGamingInput device #599440208

Then I plug in the dongle and flip the switch to 2.4, while still plugged in via USB:

onecoreuap\xbox\devices\api\winrt\pnpapiwrapper.cpp(385)\Windows.Gaming.Input.dll!00007FF9D8B03EE5: (caller: 00007FF9D8B080BD) ReturnHr(6) tid(7ee8) 8685C003\
Removing RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0000000002B80D87
Gamepad 4 removed
Adding RAWINPUT device '(Ultimate Wireless Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x1dd00905
Gamepad 5 added
Opened gamepad (Ultimate Wireless Controller), guid 0300f53ec82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#9&2c27503c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300f53ec82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:3ef5,platform:Windows,
Correlated joystick 5 to WindowsGamingInput device #599444816
Correlated joystick 5 to XInput device #0
Adding RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x01740cd9
Gamepad 6 added
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_01#9&2c6cc78f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Correlated joystick 6 to WindowsGamingInput device #599443280
Correlated joystick 6 to XInput device #1
Removing RAWINPUT device '(Ultimate Wireless Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 000000001DD00905
Gamepad 5 removed

Now flipping the switch back to Bluetooth while still connected via USB cable:

Removing RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0000000001740CD9
Gamepad 6 removed
Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Gamepad 7 added
Opened gamepad Nintendo Switch Pro Controller, guid 0500b7e67e0500000920000000006803, \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Has player LED
Rumble supported
Player index: 0
Enabling accelerometer at 200.00 Hz
Enabling gyro at 200.00 Hz
Mapping: 0500b7e67e0500000920000000006803,*,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,misc1:b11,crc:e6b7,platform:Windows,
Adding RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x1dcf0a77
Removing HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-fb-4d-98, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#8&49f3783&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Gamepad 8 added
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#9&2b57f1d6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Gamepad 7 removed
Correlated joystick 8 to WindowsGamingInput device #599442128
Correlated joystick 8 to XInput device #0

I see the same result as the older firmware, so I'm not seeing the same issue you are.

@slouken
Copy link
Collaborator

slouken commented Jan 12, 2025

Can you apply the patches above and share the testcontroller results you're seeing with the latest SDL main code?

I'm going to bump this out of the shipping milestone as it seems to be specific to one controller with an unusual set of repro steps.

@slouken slouken modified the milestones: 3.2.0, 3.x Jan 12, 2025
@slouken slouken added the waiting Waiting on user response label Jan 12, 2025
@briaguya-ai
Copy link
Author

Thank you so much for looking into this!

Can you apply the patches above and share the testcontroller results you're seeing with the latest SDL main code?

I won't have access to the windows machine and controller this week. Once I do I'll apply the patch and report back as soon as possible!

I'm going to bump this out of the shipping milestone as it seems to be specific to one controller with an unusual set of repro steps.

That makes perfect sense. I just figured even with the strange repro steps it was worth reporting in case they were exposing a symptom of a deeper issue.

@slouken
Copy link
Collaborator

slouken commented Jan 12, 2025

I just figured even with the strange repro steps it was worth reporting in case they were exposing a symptom of a deeper issue.

Yep, definitely. :)

@briaguya-ai
Copy link
Author

Finally got back to my windows machine to test this again. Congrats on the SDL3 release!

With DEBUT_RAWINPUT turned on I can still reproduce the problem, but it hasn't been consistent. At first I thought it might be related to starting testcontroller "clean" and not having the first log message be

Removing HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e417d8a5bc6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Couldn't open joystick: Joystick 3 not found

But even when the first message is

Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-a5-bc-6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)

I'm sometimes able to get into the infinite

Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device

logs

example output

Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-a5-bc-6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Opened gamepad Nintendo Switch Pro Controller, guid 0500b7e67e0500000920000000006803, \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Has player LED
Rumble supported
Player index: 0
Enabling accelerometer at 200.00 Hz
Enabling gyro at 200.00 Hz
Mapping: 0500b7e67e0500000920000000006803,*,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,misc1:b11,crc:e6b7,platform:Windows,
The thread 12800 has exited with code 0 (0x0).
Removing HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e4-17-d8-a5-bc-6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
'testcontroller.exe' (Win32): Loaded 'C:\Windows\System32\deviceaccess.dll'. Symbol loading disabled by Include/Exclude setting.
Adding RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x00d206ed
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Correlated joystick 5 to WindowsGamingInput device #117234416
Correlated joystick 5 to XInput device #0
Removing RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0000000000D206ED
Adding RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x012806ed
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#8&9a35452&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Correlated joystick 6 to WindowsGamingInput device #117235760
Correlated joystick 6 to XInput device #0
Removing RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 00000000012806ED
Adding RAWINPUT device '(8BitDo Ultimate Controller)' VID 0x2dc8, PID 0x3106, version 0, handle 0x071a0653
Opened gamepad (8BitDo Ultimate Controller), guid 0300bfb1c82d00000631000000007200, \\?\HID#VID_2DC8&PID_3106&IG_00#8&d1f34f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Rumble supported
Trigger rumble supported
Player index: 0
Mapping: 0300bfb1c82d00000631000000007200,*,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b10,start:b7,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,crc:b1bf,platform:Windows,
Correlated joystick 7 to WindowsGamingInput device #117239792
Correlated joystick 7 to XInput device #0
Added HIDAPI device 'Nintendo Switch Pro Controller' VID 0x057e, PID 0x2009, bluetooth 1, version 0, serial e417d8a5bc6d, interface -1, interface_class 0, interface_subclass 0, interface_protocol 0, usage page 0x0001, usage 0x0005, path = \\?\HID#{00001124-0000-1000-8000-00805f9b34fb}_VID&0002057e_PID&2009#9&193528f8&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, driver = SDL_JOYSTICK_HIDAPI_SWITCH (ENABLED)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (8)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (9)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (10)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (11)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (12)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (13)
Couldn't open joystick: Couldn't load stick calibration
Couldn't open gamepad: Couldn't find mapping for device (14)

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

No branches or pull requests

2 participants