diff --git a/BetterJoyForCemu/3rdPartyControllers.cs b/BetterJoyForCemu/3rdPartyControllers.cs index 9d8c32c..1a41780 100644 --- a/BetterJoyForCemu/3rdPartyControllers.cs +++ b/BetterJoyForCemu/3rdPartyControllers.cs @@ -105,6 +105,12 @@ namespace BetterJoyForCemu { hid_device_info enumerate; // Add device to list while (ptr != IntPtr.Zero) { enumerate = (hid_device_info)Marshal.PtrToStructure(ptr, typeof(hid_device_info)); + + if (enumerate.serial_number == null) { + ptr = enumerate.next; + continue; + } + // TODO: try checking against interface number instead if (!ContainsText(list_customControllers, enumerate.product_string) && !ContainsText(list_allControllers, enumerate.product_string)) { list_allControllers.Items.Add(new SController(enumerate.product_string, enumerate.vendor_id, enumerate.product_id, 0)); diff --git a/BetterJoyForCemu/Program.cs b/BetterJoyForCemu/Program.cs index ef912d2..2781561 100644 --- a/BetterJoyForCemu/Program.cs +++ b/BetterJoyForCemu/Program.cs @@ -120,11 +120,11 @@ namespace BetterJoyForCemu { SController thirdParty = null; enumerate = (hid_device_info)Marshal.PtrToStructure(ptr, typeof(hid_device_info)); - /*if (enumerate.serial_number == null) { + if (enumerate.serial_number == null) { ptr = enumerate.next; // can't believe it took me this long to figure out why USB connections used up so much CPU. // it was getting stuck in an inf loop here! continue; - }*/ + } if (form.nonOriginal) { enumerate.product_id = product_pro;